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

无法获得用户输入的正确最大值和最小值

左恺
2023-03-14

我正在写一个方法,它接受用户的整数输入,并显示总数、平均值、最大值和最小值。

我有总数和平均工作,但我得到2147483647最大和-2147483648最小。

循环只能在用户输入-1时结束。

我的代码:

public static void processNumbers()
{
    Menu m = new Menu();
    clrscr();

    int count = 0; // Number of times a value has been added
    int num = 0; // The Integer that the user inputs
    int tot = 0; // The total sum of the inputs
    int avg = 0; // The average value of the inputs
    int max = Integer.MAX_VALUE; // The maximum value of the inputs
    int min = Integer.MIN_VALUE; // The minimum value of the inputs

    System.out.println ("Please enter a whole number (e.g. 150)");

    while ((num = Genio.getInteger()) != -1)
    {
        count ++;

        tot += num;
        avg = tot / count; //Calculate the average the while loop
        if(tot>max) max = tot;
        if(tot<min) min = tot;

        System.out.println("Total \t Average\t Maximum\t Minimum\n");
        System.out.println(tot + "\t" + avg + "\t\t" + max + "\t" + min + "\n");
    }
    clrscr();
    System.out.println("You entered -1, you will now return to the menu!");
    pressKey();
    m.processUserChoices();
}

共有2个答案

祁英哲
2023-03-14
int max = Integer.MAX_VALUE; // The maximum value of the inputs
int min = Integer.MIN_VALUE; // The minimum value of the inputs

应该交换,因为if(tot

此外,如果要获得输入的最小值和最大值,需要将tot替换为num。把这一切放在一起

int max = Integer.MIN_VALUE;
int min = Integer.MAX_VALUE;
...
if(num>max) max = num;
if(num<min) min = num;

朱通
2023-03-14

我相信这一点

if(tot>max) max = tot;
if(tot<min) min = tot;

应该是

if(num>max) max = num;
if(num<min) min = num;

还有这个

int max = Integer.MAX_VALUE;
int min = Integer.MIN_VALUE;

应该是

int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;

因为noint小于整数。最小值或大于整数。最大值。您希望将数字保留为maxmin而不是total

 类似资料:
  • 解决了 我想问用户他想输入多少个整数,然后读取所有数字,同时跟踪他们输入的最大和最小数字。然后打印最大和最小数字。 我正在考虑将最大值和最小值设置为第一个输入的数字,然后在for循环中读取下一个数字,并使用更大/更小的数字更改最大值和最低值。但是,它只打印用户输入的第一个数字。有人能帮我吗?非常感谢。 代码:

  • 本文向大家介绍angular4应用中输入的最小值和最大值的方法,包括了angular4应用中输入的最小值和最大值的方法的使用技巧和注意事项,需要的朋友参考一下 Angular4输入属性 输入属性通常用于父组件向子组件传递信息 举个栗子:我们在父组件向子组件传递股票代码,这里的子组件我们叫它app-order 首先在app.order.component.ts中声明需要由父组件传递进来的值 orde

  • 我有一个家庭作业,要求我使用输入对话框要求最终用户输入一个数字,将该字符串解析为int,然后使用确认对话框询问用户是否要输入另一个数字。如果单击“是”,程序将循环,一旦单击“否”,它将获取所有输入的数字,并确定最小值和最大值。如何跟踪所有输入的数字,而不声明多个变量来保存它们(因为从技术上讲,用户可以输入无限数量的数字)? 我对编程很陌生。我一直在搜索我的教科书,我浏览了堆栈溢出来找到我的具体问题

  • 问题内容: 我被分配编写一个程序,该程序读取一系列整数输入并打印-输入的最小和最大-以及偶数和奇数输入的数量 我想出了第一部分,但对如何使程序显示最大和最小感到困惑。到目前为止,这是我的代码。我怎样才能显示最小的输入呢? 问题答案: 最简单的解决方案是使用诸如和

  • 以下是任务的具体要求: “首先,启动NetBeans并关闭之前可能打开的所有项目(在顶部菜单“转到文件”)== 然后创建一个名为“MinMax”(不带引号)的新Java应用程序,该应用程序声明一个长度为5的双精度数组,并使用方法使用来自命令行的用户输入填充数组,并打印出数组中的max(最高)和min(最低)值。确定最大值和最小值的方法可能不使用Java中的任何内置排序方法。也就是说,您需要在这些方

  • 我想写一个程序,确定从用户收到的5个数字中最小和最大的数字,但我只设法确定了最小的,我觉得这也是错误的,我只能确定与if命令...谢谢你帮助我的朋友们