我无法使此程序正确运行。我所有的答案,最小值,最大值,平均值都是零。我知道我在开始时将它们初始化为零,但它们应该在整个代码中都改变吗?
public static void main(String[] args) {
// TODO Auto-generated method stub
int a,b;
int max;
double average;
int min;
int total;
max=0;
min=0;
total=0;
Scanner keyboardInput = new Scanner(System.in);
System.out.println(" Enter a number :");
a = keyboardInput.nextInt();
System.out.println(" You entered :"+ a);
if (a>=0)
{a=max;
max=min;}
total=a;
System.out.println(" Max and min are "+ max +" & " + min + " The total and average is :" +total + " & "+a);
System.out.println(" Enter a second number");
b = keyboardInput.nextInt();
System.out.println(" You entered :"+ b);
if (b>=a)
{b=max;}
if (b<=a)
{b=min;}
average= (a+b)/2;
total= a+b;
System.out.println(" Max and min are "+ max + " & " + min + " and the total & average are :" +total + " & " +average +" respectively.");
//c = keyboardInput.nextDouble();
}
}
输出:输入数字:
2个
您输入:2
最大值和最小值为0
输入第二个数字
3.
您输入:3
最大值和最小值为0
而不是
if (a>=0)
{ max=a;
max=min; }
最大值应分配给a,最小值应分配给最大值和最小值。否则,它会将a设置为max,即0,然后将max设置为min,再次设置为0。
if (a>=0)
{ max=a;
min=max; }
到处更新赋值问题。记住左变量被分配了右变量的值
public static void main(String[] args) {
int a, b;
int max;
double average;
int min;
int total;
max = 0;
min = 0;
total = 0;
Scanner keyboardInput = new Scanner(System.in);
System.out.println(" Enter a number :");
a = keyboardInput.nextInt();
System.out.println(" You entered :" + a);
if (a >= 0) {
//modify a=max;
max = a;
//modify max=min;
min = max;
}
total = a;
System.out.println(" Max and min are " + max + " & " + min
+ " The total and average is :" + total + " & " + a);
System.out.println(" Enter a second number");
b = keyboardInput.nextInt();
System.out.println(" You entered :" + b);
if (b >= a) {
//modify b=max;
max = b ;
}
if (b <= a) {
b = min;
}
// modify average= (a+b)/2;
average = (double)(a + b) / 2;
total = a + b;
System.out.println(" Max and min are " + max + " & " + min
+ " and the total & average are :" + total + " & "
+ average + " respectively.");
// c = keyboardInput.nextDouble();
}
因为你的任务颠倒了:
该行:
a=max;
应该是:
max=a;
max
为零,您正在用max
覆盖a,使
a也为零。
您在b上也犯了同样的错误。
该程序每秒接收大约50000个数字。 在任何给定时刻,我都需要计算最后一秒到达的值(数字)的最小值、最大值和平均值(关于给定时刻)。 有没有办法不用数组或列表(缓冲区)来存储到达的数字和计算结果? 如果我需要使用缓冲区,那么实现这一点的有效方法是什么? (请注意,缓冲区中的数字也必须不时有效地删除)
还有其他关于datatable上的行运算符的帖子。它们要么太简单,要么解决了特定的场景 我这里的问题更一般。有一个使用dplyr的解决方案。我已经尝试过了,但没有找到一个使用数据的等效解决方案。表语法。你能推荐一个优雅的数据吗。与dplyr版本复制相同结果的表解决方案? 编辑1:真实数据集上建议解决方案的基准总结(10MB,73000行,24个数字列上的统计数据)。基准结果是主观的。然而,经过的时
问题内容: 如何在Java 8的以下列表中找到最大,最小,和和平均值? 问题答案: 有一个班级名称, 例如: 输出: 希望能帮助到你 了解有关IntSummaryStatistics的信息
问题内容: 我很难找出例如如何从列表中查找分钟 如何通过定义()函数来查找此列表的最小值和最大值 我不想使用内置功能 问题答案: 如果要手动查找最小值作为函数: Python 3.4引入了该软件包,该软件包提供了其他统计信息: