运行代码

时间:2015-04-26 02:31:57

标签: java

我运行我的代码然后我输入一个整数,按回车键,然后我得到一个额外的输入空间。在我输入数字的额外输入空间中,我得到了我想要的输入空间"写一条线"。它只添加我放在第一个输入空间和额外输入空间的数字。请帮忙。 (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);

        }
    }
}   

3 个答案:

答案 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();
    }
}