package Lessons;
import java.util.Scanner;
public class Math {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
System.out.print("please enter the first number of your question! ");
int a1 = s.nextInt();
System.out.print("So you chose " + a1);
System.out.println(" Choose ur second number");
int a2 = s.nextInt();
System.out.print("You chose " + a2 + " for your second number");
System.out.print(" Now enter ur operator ");
String b1 = s.nextLine();
if (b1.equalsIgnoreCase("-")) {
System.out.println("You chose " + b1 + "as ur operator");
}
}
}
我不明白为什么第15行不接受任何输入,任何帮助将不胜感激:3
输出
请输入您问题的第一个号码! 2552所以你选择了2552 选择您的第二个号码41您选择41作为您的第二个号码现在 输入你的运营商
由于某种原因,输出在最后一行结束并停止,并且不接受任何信息!
答案 0 :(得分:3)
你需要在你调用in.nextLine()
的行之后调用in.nextInt()
。原因是只要求下一个整数不会消耗输入中的整行,所以你需要跳过通过调用in.nextLine()
预先输入到输入中的下一个换行符。
int a2 = s.nextInt();
s.nextLine();
每次调用不消耗整行的方法(例如调用nextBoolean()
等时)需要获取新行时,必须完成此操作。
答案 1 :(得分:1)
调用Opportunity
.rating_info
where the real estate kind is Monoambiente
and there aren't assigned values
is 0
when there are multiple combinations
is has the expected value(run 45 different combinations)
读取下一个int,但之后不读取新行字符。因此,新行将在第15行读取。如果您确定每个输入都将放在一个单独的行中,那么您可以通过在第15行之前添加额外的s.nextInt()
来解决此问题:
s.nextLine()
答案 2 :(得分:0)
尝试使用字符串输入部分。
`System.out.print(" Now enter ur operator ");
String b1 =s.next();
if (b1.equalsIgnoreCase("-")) {
System.out.println("You chose " + b1 + "as ur operator");
}`