有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java连续循环,直到满足条件

所以我必须在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/ ));

    }
}

共 (4) 个答案

  1. # 1 楼答案

    要加一个计数,你只需要做一个变量

        int count = 0;
    

    例如,每次循环重复时,只需向其中添加一个

  2. # 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);
    }
    
    }
    
  3. # 3 楼答案

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

    另外,使用while(true)永远循环,使用break;结束循环。中断状态执行后什么都没有,所以

    int count = 1;
    while(true) {
       sum += data;
    
       System.out.println("Enter another integer ");
       data = input.nextInt();
       count++;
       if(data == 42) {
           break;
       }
    }
    
  4. # 4 楼答案

    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();
            int sum   = 0 ;
            int count = 0 ;
            //Accept integers until 42 is entered
    
            while (data != 42) {
                sum += data;
                count += 1;
    
                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/count ));
    
        }
    }