Java 使用system.in.read方法输入两个变量
我是java新手。我正在用Herbert Schildt的书学习Java。我想写一个程序,要求用户输入两个变量,然后要求用户选择算术运算,然后程序执行这个运算(就像任何计算器一样)。我使用这个方法-Java 使用system.in.read方法输入两个变量,java,variables,math,input,operation,Java,Variables,Math,Input,Operation,我是java新手。我正在用Herbert Schildt的书学习Java。我想写一个程序,要求用户输入两个变量,然后要求用户选择算术运算,然后程序执行这个运算(就像任何计算器一样)。我使用这个方法-System.in.阅读Schildts书中的,但我的程序只能要求用户输入一个变量。程序不要求用户输入第二个变量。我该怎么做 我的代码如下: class Calc { public static void main(String args[]) throws java.io.IOException
System.in.阅读Schildts书中的
,但我的程序只能要求用户输入一个变量。程序不要求用户输入第二个变量。我该怎么做
我的代码如下:
class Calc {
public static void main(String args[])
throws java.io.IOException {
int a, b, result;
System.out.print("Enter first digit ");
a = (int) System.in.read();
System.out.println("Enter second digit ");
b = (int) System.in.read();
System.out.println("Choose operation");
System.out.println("Multiplication - 1 or Division - 2 ");
//int r;
result = (int) System.in.read();
switch(result) {
case 1:
System.out.println(a * b);
break;
case 2:
System.out.println(a / b);
break;
default: System.out.println("incorrect digit");
}
}
}
“但是我的程序只能要求用户输入一个变量”-因为它不需要询问,它在输入流中仍然有足够的数据可以读取。顺便说一句,一本书建议使用
System.in.read()代码>,因为它返回单个字节,而整数最多可占用4个字节。这真的很有限。此外,您无法从用户输入中获得正确的数字,您将获得用户输入的字符的字节表示形式(例如,如果用户输入1
),则为49
)。请使用扫描仪。在我的时代,它既快速又容易使用,。。。我们使用了新的BufferedReader(新的InputStreamReader(System.in))代码>它工作!非常感谢你!!如果你得到了你的答案,那么请通过投票来接受答案。我需要15个代表来投票。我没有
public static void main(String args[]) {
int a, b, result;
final Scanner sc = new Scanner(System.in);
System.out.print("Enter first digit ");
a = sc.nextInt();
System.out.println("Enter second digit ");
b = sc.nextInt();
System.out.println("Choose operation");
System.out.println("Multiplication - 1 or Division - 2 ");
// int r;
result = sc.nextInt();
switch (result) {
case 1:
System.out.println(a * b);
break;
case 2:
System.out.println(a / b);
break;
default:
System.out.println("incorrect digit");
}
}