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

我正在尝试编写一个程序,允许用户以整数形式输入一系列考试成绩

慕意致
2023-03-14

我正在尝试编写一个程序,允许用户输入一系列整数形式的考试分数。

我希望输出看起来像:

输入整数,或输入 -99 退出:80

输入一个整数,或-99退出:95

输入整数,或-99退出:65

输入整数,或-99退出:-99

最大: 95最小: 65

第二轮:

输入整数,或-99退出:-99

您没有输入任何数字。

我把第一部分记下来了,但是当我输入-99时,我似乎不知道如何得到“你没有输入任何数字”行。

这就是我到目前为止所拥有的。

import java.util.Scanner;    // Needed for the Scanner class

/**
   This program shows the largest and smallest exam scores. The user
   enters a series of exam scores, then -99 when finished.
   UPDATED to show even number of points using if-statement
*/

public class Grades
{
   public static void main(String[] args)
   {
      int score = 0;       // Exam score
      int min = 100;       // Hold smallest score
      int max = 0;         // Hold largest score

      // Create a Scanner object for keyboard input.
      Scanner keyboard = new Scanner(System.in);

      // Display general instructions.
      System.out.println("Enter an integer, or -99 to quit: ");
      System.out.println();

      // Get the first exam score.
      System.out.print("Enter an integer, or -99 to quit: ");
      score = keyboard.nextInt();

      // Input exam scores until -99 is entered.
      while (score != -99)
      {
         // Add points to totalPoints.
         if (score > max)
            max = score;
         if (score < min)
            min = score;
         // Get the next number of points.
         System.out.print("Enter an integer, or -99 to quit: ");
         score = keyboard.nextInt();
      }

      // Display the largest and smallest score.
      System.out.println("Largest: " + max);
      System.out.println("Smallest: " + min);
   }
}

共有3个答案

施俊哲
2023-03-14

在课程结束时:

if (max == 0 && min == 100)
    System.out.println("You did not enter any numbers");
else{
    System.out.println("Largest: " + max);
    System.out.println("Smallest: " + min);
}
董胡媚
2023-03-14

输入0时,以下代码不起作用

if (max = 0 && min = 100)
    System.out.println("You did not enter any numbers");
else{
    System.out.println("Largest: " + max);
    System.out.println("Smallest: " + min);
}

使用额外的布尔变量来检查任何与-99不同的输入是一个很好的选择:

public class Grades
{
    public static void main(String[] args)
    {
        int score = 0;       // Exam score
        int min = 100;       // Hold smallest score
        int max = -100;         // Hold largest score
        boolean isAnyScore = false;

        // Create a Scanner object for keyboard input.
        Scanner keyboard = new Scanner(System.in);

        // Display general instructions.
        System.out.print("Enter an integer, or -99 to quit: ");
        System.out.println();

        // Input exam scores until -99 is entered.
        while(true)
        {
            System.out.print("Enter an integer, or -99 to quit: ");
            score = keyboard.nextInt(); //Get the exam score.
            if(score == -99) { break; }
            else { isAnyScore = true; }

            // Add points to totalPoints.
            if (score > max) { max = score; }
            if (score < min) { min = score; }
        }

        // Display the largest and smallest score.
        if(!isAnyScore) { System.out.println("You did not enter any numbers"); }
        else
        {
            System.out.println("Largest: " + max);
            System.out.println("Smallest: " + min);
        }
    }
}

变量< code>isAnyScore为假。当您在第一次循环运行中输入-99时,它仍然为假,因为没有赋值。当您在第一次循环运行中输入-99以外的值时,它将始终为真(在任何循环运行中它都将被指定为真)。当< code>isAnyScore从false变为true时,它总是为true,因为您总是指定true,而不是false。

湛宏旷
2023-03-14

引入一个变量来计算输入的数字并在 while 循环中增加呢?

或者,您也可以在while循环后检查数字是否更改:

if(min > max) {
    System.out.println("You did not enter any numbers.");
}
else {
    System.out.println("Largest: " + max);
    System.out.println("Smallest: " + min);
}

这是可行的,因为在开始时,您将< code>min变量初始化为< code>100,将< code>max变量初始化为< code>0,这将导致< code>min的< code>true

 类似资料:
  • 目的:(回文整数)用以下标题编写方法: //返回整数的反转,即reverse(456)返回654 public static int reverse(int number) //如果number是回文公共静态布尔IsBalindrome(int number),则返回true 使用reverse方法实现IsPalindrome。如果一个数字的反转与它本身相同,它就是回文。编写一个测试程序,提示用户

  • 在我正在做的一项任务中,我为下面的问题编写了一个程序。 “编写一个程序,读取以0到100的整数百分比给出的考试分数列表。显示总分数和每个字母等级类别的分数,如下所示:90-100是a,80-89是B,70-79是C,60-69是D,0-59是F。使用负分数作为前哨值,指示输入结束。” 例如,输入:98,87,86,85,85,78,73,72,72,70,66,63,50,-1 产出应为: 进入的

  • 使用列表、函数和循环编写Python程序,提示用户以整数形式输入温度。如果温度超过100,您的程序将打印“它是热的”,如果温度低于60,则打印“它是冷的”,如果温度在61-99(含)之间,则打印“它是刚刚好的”。程序继续询问温度,并如上所述对其进行评估,直到用户输入温度为0(退出程序)。预期方案的一个例子如下:

  • 我编码了一个小脚本来制作一个小动画,但是当我在div上非常快地移动光标10次时,div也移动了10次。我做了一个全局var和一个if查询,但它不起作用。 代码: animon()函数被限定在onmouseover事件上,而animoff()函数被限定在onmouseout事件上。工作布尔值会检查div容器是否被移动。

  • 这是我发现的一个编码挑战网站的问题。这是我的代码: 我需要做什么或改变什么来获得想要的输出。 }

  • 我停在一个点上,我需要弹出一个窗口,通知用户他们的约会在15分钟后。当我运行代码时,我得到一个sql错误。非常感谢您的帮助。 我用实时来代替变量,效果很好。当我把变量放回时,我得到下面列出的错误。