我整晚都在做这个,但是什么也没做出来。我希望我的代码对用户输入的所有数字求和,计算用户输入数字的次数。然后计算平均值。然后找到最大值和最小值,很容易就对了。是的,如果我被允许使用数组,但这是为了复习,我讨厌while循环。
这是我的密码。
double integer = 1;
//double num = 0;
double sum = 0.0;
double average = 0.0;
Scanner input = new Scanner(System.in);
int count = 0;
// double char1=0;
double min = integer;
double max = integer;
// char letter = 'q';
while (integer != 0) {
System.out.println("Please enter an integer: ");
integer = input.nextInt();
sum += integer;
count++;
System.out.println("The sum of your numbers is: " + sum);
System.out.println("The number of values entered is: " + count);
System.out.println("");
if (integer > max)
max = integer;
else if (integer < min)
min = integer;
}
以下是输出结果:
请输入一个整数:3您的数字之和为:3.0输入的值数为:1
请输入一个整数:2数字之和为:5.0输入的数值个数为:2
请输入一个整数:1数字之和为:6.0输入的数值个数为:3
请输入一个整数:0 您的数字之和为:6.0 输入的值数为:4
您的总和的平均值是:1.5最大整数是:3.0最小整数是:0.0
当计数增加1时,我的平均值出现错误。但是为什么0被计算为计数的一部分,为什么我的最小值总是输出0,而不是用户输入的值。非常感谢您的任何帮助。
p、 我试过很多方法,但都不起作用。如果我尝试将我的计数从-1开始,它解决了我手头的平均问题,但计数无论如何都会增加,所以我知道它是不正确的。此外,最小问题仍然存在。
谢了伙计们
您需要添加一个额外的if条件才能使其正常工作。我在您的代码中进行了如下更改,并且它正在按预期工作。
double integer = 1;
//double num = 0;
double sum = 0.0;
double average = 0.0;
Scanner input = new Scanner(System.in);
int count = 0;
double min = integer;
double max = integer;
while (true) {
System.out.println("Please enter an integer: ");
integer = input.nextInt();
if(integer != 0)
{
sum += integer;
count++;
System.out.println("The sum of your numbers is: " + sum);
System.out.println("The number of values entered is: " + count);
System.out.println("");
if (integer > max)
max = integer;
else if (integer < min)
min = integer;
}
else
break;
}
试试这个:
对于这些情况,最好使用条件< code>do while。并将< code>min初始化为允许的最大值。
double integer;
double sum = 0.0;
Scanner input = new Scanner(System.in);
int count = 0;
double min = Double.MAX_VALUE;
double max = 0;
do {
System.out.print("Please enter an integer: ");
integer = input.nextInt();
if (integer >0) {
sum += integer;
count++;
System.out.println("The sum of your numbers is: " + sum);
System.out.println("The number of values entered is: " + count);
System.out.println("");
if (integer > max)
max = integer;
if (integer < min)
min = integer;
}
} while (integer != 0);
System.out.println("avg: "+sum/count);
System.out.println("max: "+max);
System.out.println("min: "+min);
您需要添加 if 条件以避免在输入 0 时递增。
你可以用这个代码
// setting starting min and max value.
double min = Double.MAX_VALUE;
double max = Double.MIN_VALUE;
while (integer != 0) {
System.out.println("Please enter an integer: ");
integer = input.nextInt();
sum += integer;
if (integer != 0) { // added if condition
count++;
System.out.println("The sum of your numbers is: " + sum);
System.out.println("The number of values entered is: " + count);
System.out.println("");
if (integer > max)
max = integer;
if (integer < min) // changed 'else if' to 'if'
min = integer;
}
}
System.out.println("Max : " + max);
System.out.println("Min : " + min);
“输入一个单词或者按‘Q’退出”但是我不知道怎么做。我觉得有点困惑。 这是我第一次用Java编码,我还在学习。
应该添加什么来计算和输出每个行为的可变能量的增加或减少?能量的初始值:个人、学生和学生工作者为10,专业人员和研究人员为8。 null
问题内容: 这是代码- 这是输出- 0 0 1 2 3 4 5 6 7 8 当我想在for循环退出后使用变量i时,出现了我的问题。我会假设我正在读取7,即从零开始的计数中的第8个增量,但实际上是8!在循环退出时对变量i又增加了一个增量。 为了解决这个问题,我必须在循环的末尾以及在其他任何代码中使用它之前,先执行类似i的操作。在我看来,这使代码更难理解。 有更好的解决方案吗? 问题答案: 当值为7时
问题内容: 当我退出“活动”退出(通过“后退”按钮)时,我的应用程序崩溃。据我所知,这是在Android代码库中发生的,而不是我的,但是我并不完全相信。 这是来自adb的stacktrace: 有人有什么想法/建议吗? 问题答案: 无助,因为没有代码。还在看 造成原因:android.app.Activity.performStop(Activity.java:3575)上的java.lang.N
我目前设置了一个函数,该函数要求用户输入一个int,获取该int,然后检查以确保输入符合特定规范。在这种情况下,输入应该是一个介于-10和100之间的整数。现在,如果我输入任何字母字符串,例如“gfUIWYDUF”,函数将返回0。为什么会发生这种情况,我该如何解决?
我正在运行一个模型来检测图像中一些有趣的特征。我有一组600x200像素的图像。这些图像具有我想识别的岩石碎片等特征。想象一个(4x12)网格覆盖在图像上,我可以使用注释器工具手动生成注释,例如((4,9),(3,10),(3,11),(3,12)),以识别图像中感兴趣的单元格。我可以用Keras建立CNN模型,输入为灰度图像。但我应该如何对输出进行编码。在我看来,一种直观的方法是将其视为形状的稀