我正在尝试读入并累加(仅)正整数,直到输入了负整数。仅当输入负整数时程序才停止。我能想到的最好的方法是下面的代码,但是问题是,即使读取了负整数,它也不会停止。 PS:我还在学习,所以请忍受我。我尝试将&& input2!<0添加到while循环条件中,但它作为错误出现。关于如何使其表现出自己想要的方式的任何建议?谢谢。

public class Total{
    public static void main(String[] args){

            System.out.println("Enter an integer: ");

            Scanner entry = new Scanner(System.in);
            int input1 = entry.nextInt();

            System.out.println("Enter another integer: ");
            int input2 = entry.nextInt();

            int total = input1 + input2;

            while (input2 > 0){
                System.out.println(total + "\nEnter another interger:  ");
                total += entry.nextInt();
            }
    }
}

最佳答案

您需要更改要测试的变量,这里是循环内的input2,。否则就没有退出的机会。您在循环中所做的所有更改都是在input2保持不变的同时,总变量保持不变,因此每次测试时,它都保持> 0,这就是为什么您被卡住的原因。为什么不试一试,这次更改input2(并且仍然使用input2更改total),看看是否无法获得它。

09-30 18:48