不断循环直到满足条件

新手上路,请多包涵

所以我必须在 eclipse 中为我的班级创建一个 java 项目。作业是创建一个程序,允许用户在程序中输入整数,直到输入某个整数 (42)。输入整数 (42) 后,程序将 1 。平均所有输入的数字。 2 .显示输入的最小和最大数量。 3 .输入的数字总数。而这些必须在不计算 (42) 的情况下进行计算。这是我到目前为止所拥有的。我可以从用户那里得到输入,一旦他们输入 42,程序就会停止并显示总数,但包含 42。而且我不确定如何为输入添加“计数”,以便我可以使用计数来显示输入的总数以及将计数从总和中除以得到平均值。我感谢任何帮助。

 package assignment6;

import java.util.Scanner;

public class assignment6 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        //Scanner
        Scanner input = new Scanner(System.in);

        //Enter integer
        System.out.println("Enter a integer ");
        int data = input.nextInt();

        //Accept integers until 42 is entered
        int sum = 42;
        while (data != 42) {
            sum += data;

            System.out.println("Enter another integer ");
            data = input.nextInt();
        }
        //Display sum of numbers entered
        System.out.println("The sum of all numbers entered is: " + sum);

        //Display Average of numbers entered
        System.out.println("Average of all numbers entered is:" + ( sum/ ));

    }
}

原文由 Drewmann 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 905
2 个回答

检查下面的代码。

 package stackoverflow;

import java.util.Scanner;

public class LoopTest {

public static void main(String[] args)
{
    // TODO Auto-generated method stub

    Scanner scanner = new Scanner(System.in);
    System.out.println("Enter number");

    int input  = 0;
    double sum = 0;
    double avg = 0;
    int count = 0;

    //Infinite Loop
    while (true)
    {
        //Accept Number
        input  = scanner.nextInt();

        //Check Entered Number
        if (input  != 42)
        {
            sum = sum + input ;
            count = count + 1;
            avg = sum/count;
        }
        else
            break;
    }

    System.out.println("Numbers Entered : " + count);
    System.out.println("Sum of Numbers : " + sum);
    System.out.println("Average of Numbers : " + avg);
}

}

原文由 Aditya Pansare 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果 sum 设置为 0,则可以计算 42。

此外,使用 while(true) 永远循环,并使用 break; 结束循环。执行 break 语句后什么也没有,所以

int count = 1;
while(true) {
   sum += data;

   System.out.println("Enter another integer ");
   data = input.nextInt();
   count++;
   if(data == 42) {
       break;
   }
}

原文由 Matthew 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题