我试图创建一个计算器,但我不能让它工作,因为我不知道如何获得用户输入。

如何在Java中获得用户输入?


当前回答

Scanner input = new Scanner(System.in);
String inputval = input.next();

其他回答

使用JOptionPane就可以实现。

Int a =JOptionPane.showInputDialog(null,"Enter number:");

你可以像这样使用BufferedReader获取用户输入:

    InputStreamReader inp = new InputStreamReader(System.in);
    BufferedReader br = new BufferedReader(inp);
    // you will need to import these things.

这就是应用它们的方法

    String name = br.readline(); 

因此,当用户在控制台中输入他的名字时,“字符串名称”将存储该信息。

如果它是一个你想要存储的数字,代码将像这样:

    int x = Integer.parseInt(br.readLine());

希望这能有所帮助!

然后,Add在main()旁边抛出IOException

DataInputStream input = new DataInputStream(System.in);
System.out.print("Enter your name");
String name = input.readLine();

你可以做一个简单的程序,要求用户的名字和打印任何回复使用输入。

或者让用户输入两个数字,你可以加、乘、减或除这些数字,并打印出用户输入的答案,就像计算器的行为一样。

你需要Scanner类。你必须导入java。util。scanner;在你需要使用的代码中

Scanner input = new Scanner(System.in);

Input是一个变量名。

Scanner input = new Scanner(System.in);

System.out.println("Please enter your name : ");
s = input.next(); // getting a String value

System.out.println("Please enter your age : ");
i = input.nextInt(); // getting an integer

System.out.println("Please enter your salary : ");
d = input.nextDouble(); // getting a double

看看这有什么不同:input.next();, i = input.nextInt();, d = input.nextDouble();

根据String类型,int和double类型以同样的方式变化。不要忘记代码顶部的import语句。

请参见博客文章“扫描器类和获取用户输入”。

我喜欢以下几点:

public String readLine(String tPromptString) {
    byte[] tBuffer = new byte[256];
    int tPos = 0;
    System.out.print(tPromptString);

    while(true) {
        byte tNextByte = readByte();
        if(tNextByte == 10) {
            return new String(tBuffer, 0, tPos);
        }

        if(tNextByte != 13) {
            tBuffer[tPos] = tNextByte;
            ++tPos;
        }
    }
}

例如,我会这样做:

String name = this.readLine("What is your name?")