我运行我的代码然后我输入一个整数,按回车键,然后我得到一个额外的输入空间。在我输入数字的额外输入空间中,我得到了我想要的输入空间"写一条线"。它只添加我放在第一个输入空间和额外输入空间的数字。请帮忙。 (P.S对不起代码的格式)
我的输出: 写一个整数 (把我的输入放在这里) (把我的输入放在这里) 写一个整数 (把我的输入放在这里)
我不想要第二个输入选项。
public static void main(String eth[]){
System.out.println("Write An Integer");
Scanner input = new Scanner(System.in);
if (input.hasNextInt()){
}
else System.out.println("Play By The Rules");
Scanner input1 = new Scanner(System.in);
int a = input1.nextInt();
{
System.out.println("Write An Integer");
Scanner input2 = new Scanner(System.in);
int b = input2.nextInt();
int answer = (a+b);
System.out.println(answer);
}
}
}
答案 0 :(得分:1)
好吧,如果你想在两者之间添加两个带数字的数字,那么更好的方法就是,
Scanner sr=new Scanner(System.in);
System.out.println("Play By The Rules")
int a=sr.nextInt();
System.out.println("Write An Integer");
int b = sr.nextInt();
int answer = (a+b);
答案 1 :(得分:1)
您获得的额外空间来自第一个responseText
语句中的逻辑错误。如果if
为真,则它会跳过input.hasNextInt()
,但会直接调用else
,因为它未与Scanner
语句分组。此外,这仅允许else
的两次尝试和input1
的一次尝试。因此,我将为每个循环切换到input2
循环并创建一个读取整数而不是复制代码的方法。
while
答案 2 :(得分:0)
使用单个实例 扫描仪并确保在操作后关闭扫描仪输入
参考下面的代码
public static void main(String eth[]) {
System.out.println("Write An Integer");
Scanner input = new Scanner(System.in);
if (input.hasNextInt()) {
} else
System.out.println("Play By The Rules");
int a = input.nextInt();
{
System.out.println("Write An Integer");
int b = input.nextInt();
int answer = (a + b);
System.out.println(answer);
input.close();
}
}