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

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


当前回答

还有一个细节。如果你不想冒内存/资源泄漏的风险,你应该在完成后关闭扫描仪流:

myScanner.close();

注意,java 1.7及以后的版本将此作为编译警告捕获(不要问我是如何知道的:-)

其他回答

您可以使用BufferedReader获取用户输入。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String accStr;  

System.out.println("Enter your Account number: ");
accStr = br.readLine();

它将在accStr中存储一个String值,因此您必须使用Integer.parseInt将其解析为int。

int accInt = Integer.parseInt(accStr);

下面是获取键盘输入的方法:

Scanner scanner = new Scanner (System.in);
System.out.print("Enter your name");  
String name = scanner.next(); // Get what the user types.

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

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

你需要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语句。

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

键盘输入使用扫描器是可能的,因为其他人已经张贴。但是在这个高度图形化的时代,没有图形用户界面(GUI)的计算器是毫无意义的。

在现代Java中,这意味着使用JavaFX拖放工具(如Scene Builder)来布局类似计算器控制台的GUI。 请注意,使用Scene Builder直观上很简单,不需要额外的Java技能来处理它的事件处理程序。

对于用户输入,在GUI控制台的顶部应该有一个宽的TextField。

这是用户输入他们想要执行功能的数字的地方。 在TextField下面,你会有一个函数按钮数组做基本的(即加/减/乘/除和记忆/召回/清除)功能。 一旦GUI布局好了,你就可以添加“控制器”引用,将每个按钮功能链接到它的Java实现,例如在项目的控制器类中调用方法。

这个视频有点老,但仍然显示了场景生成器是多么容易使用。

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