我是java新手,nextLine();
不能工作一次,它会完成所有其他时间。我很困惑:(如果你需要知道,我会使用eclipse。
package tuna;
import java.util.Scanner;
public class Calculater {
public static void main (String args []) {
Scanner uno = new Scanner(System.in);
System.out.println("How many differant numbers do you want to use? (up to four, minimum two)");
double two = uno.nextDouble();
if (two == 2){
System.out.println("2");
System.out.println("Enter first number: ");
double fnum = uno.nextDouble();
System.out.println(fnum);
System.out.println("Enter second number: ");
double snum = uno.nextDouble();
System.out.println(snum);
System.out.println("Enter number operation (Say plus, minus, divide or times. No capitials please)");
String op = uno.nextLine();
。在uno.nextLine之上不起作用。为什么呢?
if (op.equals("plus")){
System.out.println(fnum + snum);
}
}
double three;
double four;
}
}
编辑:我的意思是'它不起作用'是在输入数字操作(Say plus,minus,divide or times。没有首饰请)“打印在输出中后,我无法输入任何内容当你运行它说你想要多少个数字?我输入2然后输入。然后它说输入第一个数字。我说1然后进入。然后它说输入第二个数字。我说1然后进入。然后它说什么号码操作。即使有nextLine(),它也不会让你输入;在那里。如果你添加另一个nextLine();在那里你可以打字,但如果你输入加号,没有任何反应,它应该打印第一个数字加上第二个数字。
答案 0 :(得分:0)
在你从一行读完你想要的东西后,你需要调用nextLine()来获取剩下的行(即使它是空的)
答案 1 :(得分:0)
如果您输入:
3.5<enter>
2<enter>
divide<enter>
然后uno.nextDouble();
消耗3.5
并离开
<enter>
2<enter>
divide<enter>
然后uno.nextDouble();
消耗<enter>2
并离开
<enter>
divide<enter>
下一个uno.nextLine();
只消耗<enter>
。您需要再次致电uno.nextLine();
才能使用剩余的divide<enter>
。