我试图创建一个计算器,但我不能让它工作,因为我不知道如何获得用户输入。
如何在Java中获得用户输入?
我试图创建一个计算器,但我不能让它工作,因为我不知道如何获得用户输入。
如何在Java中获得用户输入?
当前回答
使用JOptionPane就可以实现。
Int a =JOptionPane.showInputDialog(null,"Enter number:");
其他回答
这是一个使用System.in.read()函数的简单代码。这段代码只是写出输入的内容。如果您只想获取一次输入,可以去掉while循环,如果您愿意,可以将答案存储在字符数组中。
package main;
import java.io.IOException;
public class Root
{
public static void main(String[] args)
{
new Root();
}
public Root()
{
while(true)
{
try
{
for(int y = 0; y < System.in.available(); ++y)
{
System.out.print((char)System.in.read());
}
}
catch(IOException ex)
{
ex.printStackTrace(System.out);
break;
}
}
}
}
在java中输入是非常简单的,你所要做的就是:
import java.util.Scanner;
class GetInputFromUser
{
public static void main(String args[])
{
int a;
float b;
String s;
Scanner in = new Scanner(System.in);
System.out.println("Enter a string");
s = in.nextLine();
System.out.println("You entered string " + s);
System.out.println("Enter an integer");
a = in.nextInt();
System.out.println("You entered integer " + a);
System.out.println("Enter a float");
b = in.nextFloat();
System.out.println("You entered float " + b);
}
}
键盘输入使用扫描器是可能的,因为其他人已经张贴。但是在这个高度图形化的时代,没有图形用户界面(GUI)的计算器是毫无意义的。
在现代Java中,这意味着使用JavaFX拖放工具(如Scene Builder)来布局类似计算器控制台的GUI。 请注意,使用Scene Builder直观上很简单,不需要额外的Java技能来处理它的事件处理程序。
对于用户输入,在GUI控制台的顶部应该有一个宽的TextField。
这是用户输入他们想要执行功能的数字的地方。 在TextField下面,你会有一个函数按钮数组做基本的(即加/减/乘/除和记忆/召回/清除)功能。 一旦GUI布局好了,你就可以添加“控制器”引用,将每个按钮功能链接到它的Java实现,例如在项目的控制器类中调用方法。
这个视频有点老,但仍然显示了场景生成器是多么容易使用。
您可以根据需求使用以下任何选项。
扫描仪类
import java.util.Scanner;
//...
Scanner scan = new Scanner(System.in);
String s = scan.next();
int i = scan.nextInt();
BufferedReader和InputStreamReader类
import java.io.BufferedReader;
import java.io.InputStreamReader;
//...
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int i = Integer.parseInt(s);
DataInputStream类
import java.io.DataInputStream;
//...
DataInputStream dis = new DataInputStream(System.in);
int i = dis.readInt();
DataInputStream类中的readLine方法已弃用。要获得String值,您应该使用前面的BufferedReader解决方案
控制台类
import java.io.Console;
//...
Console console = System.console();
String s = console.readLine();
int i = Integer.parseInt(console.readLine());
显然,这种方法在某些ide中不能很好地工作。
可能是这样的……
public static void main(String[] args) {
Scanner reader = new Scanner(System.in);
System.out.println("Enter a number: ");
int i = reader.nextInt();
for (int j = 0; j < i; j++)
System.out.println("I love java");
}