当前位置: 首页 > 知识库问答 >
问题:

连续循环直到满足条件

谭泳
2023-03-14

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

    }
}

共有3个答案

许俊风
2023-03-14

好吧,要添加一个计数,您需要做的就是生成一个变量

    int count = 0;

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

龚志文
2023-03-14

如果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;
   }
}
宦琪
2023-03-14

检查下面的代码。

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);
}

}
 类似资料:
  • 问题内容: 我需要让用户输入一个数字以用作范围的开始,然后输入另一个数字作为范围的结束。起始编号必须为0或更大,结束编号不能大于1000。两个数字都必须被10整除。我找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对它进行编码,以便在用户输入后进行检查以确保满足条件,如果条件没有环回,请再次输入。这是我到目前为止的代码。 问题答案: 轻松做:

  • 我需要要求用户输入一个数字作为范围的开始,然后输入另一个数字作为范围的结束。开始数必须大于等于0,结束数不能大于1000。两个数字都必须能被10整除。我已经找到了满足这些条件的方法,但是如果不满足这些条件,我的程序只会告诉用户他们的输入不正确。我是否可以对其进行编码,以便在用户输入后,它将检查以确保满足条件,如果不满足条件,则返回并再次输入。这是我目前掌握的代码。

  • 我试图用Python做一个简单的计算器。 我希望用户写“and”,然后while循环应该结束。当我运行它并输入随机文本时,while循环工作并显示“重试”。然而,当我实际输入正确答案(“add”)时,while循环并没有结束——相反,它一直在说“再试一次”。 为什么会这样?我的代码怎么了?

  • 问题内容: 我的Oracle数据库中具有以下结构: 我想查询只需要检查前连续几天并获取“分配”所在的计数的查询。 我想按日期选择,例如。 示例输出:对于日期,计数为。 新问题。通过Lukas Eder的查询,计数始终为或。但预期是。为什么?! 卢卡斯·埃德(Lukas Eder)的代码 预期的输出是这样的,First_day end不需要最后一天: 问题答案: 此查询将产生每一行的计数: 然后,您

  • 问题内容: 我在SQL Server中具有以下数据结构表: 等等。 我需要做的是获取所有连续的日子,其中Allocation = 0,并采用以下形式: 等等。 可以在SQL中执行此操作吗?如果可以,如何执行? 问题答案: 在此答案中,我将假定“ id”字段按递增日期进行排序时,对行进行连续编号,就像示例数据中所做的那样。(如果不存在,则可以创建这样的列)。 这是此处和此处描述的技术示例。 1)在相

  • 我正在制作一个汽车游戏。只有“开始”、“停止”、“退出”命令。无法识别任何其他命令。 除了“退出”之外,所有命令都可以正常工作。使用while循环,它会执行和打印else语句: 命令=“退出”应该呈现当条件,因此跳过前面只执行外部的其他语句。为什么它执行其他两个语句,甚至认为同时条件不满足?