将数字保存到JAVA循环中的变量

将数字保存到JAVA循环中的变量,java,loops,variables,Java,Loops,Variables,我的程序(从记事本文件中)获取一些分数,然后获取许多分数百分比,并将它们保存为字母分数。然后我打印出多少个A、B等。我还需要找到最高和最低分数 我想做的是在我的成绩检查循环结束时,将当前成绩保存到一个变量中,这样我以后可以比较所有变量,看看哪个是最高的,哪个是最低的。问题是,我不知道输入多少等级,所以我需要变量的无限可能性。以下是代码的相关部分: while (scores > 0 && in.hasNextInt()) { int grade = in.ne

我的程序(从记事本文件中)获取一些分数,然后获取许多分数百分比,并将它们保存为字母分数。然后我打印出多少个A、B等。我还需要找到最高和最低分数

我想做的是在我的成绩检查循环结束时,将当前成绩保存到一个变量中,这样我以后可以比较所有变量,看看哪个是最高的,哪个是最低的。问题是,我不知道输入多少等级,所以我需要变量的无限可能性。以下是代码的相关部分:

  while (scores > 0 && in.hasNextInt()) {
     int grade = in.nextInt();

     if (grade >= 90) {
        A++;
     } else if (grade >= 80) {
        B++;
     } else if (grade >= 70) {
        C++;
     } else if (grade >= 60) {
        D++;
     } else {
        F++;
     }
     scores--;
     scoreTotals = (scoreTotals + grade);
  }  
我想这样做:

    int variableCount = 1;
    int grade(variableCount) = grade;
    variableCount++;
然后继续比较我的循环所做的变量,以确定最低值和最高值


我用一个变量查找了定义一个变量,但没有找到任何结果。我走的是正确的道路吗?

我建议您创建两个存储最高和最低值的变量,在您经历这个循环时,如果您发现一个新的较大或较小的变量,请更新它们

尝试:

int最高=0;
int最低=100;
while(分数>0&&in.hasnetint()){
int grade=in.nextInt();
如果(等级>=90){
A++;
}否则,如果(等级>=80){
B++;
}否则,如果(等级>=70){
C++;
}否则,如果(等级>=60){
D++;
}否则{
F++;
}
如果(等级>最高){
最高=等级;
}
if(等级<最低){
最低=等级;
}
分数--;
分数总计=(分数总计+分数);
}  

你不需要把这件事弄得太复杂

int highest = Integer.MIN_VALUE;
int lowest = Integer.MAX_VALUE;

while (...)
{
    // your existing stuff...

    highest = Math.max(highest, grade);
    lowest = Math.min(lowest, grade);
}

最后,
最高
最低
将是最高和最低的分数。

我们还没有在课堂上学习数学方法,所以很遗憾,我不能使用它。谢谢你!这个想法比我的简单多了……谢谢!不过我还是很好奇,我提出的想法可能吗?您能否使用其他变量定义循环中的变量?请注意范围。在一组大括号、循环等中定义的任何内容在离开它们时都将消失。事情必须事先确定,才能持续下去。不过,您可以在循环中定义变量。只是要知道,它们在每次迭代后都会重新开始。(如果我错了,有人纠正我-我知道有些语言会偏离)如果你的想法是在这个循环之后再循环,然后找到最小值和最大值,是的,你可以。然而,这是浪费时间循环额外的时间(效率较低)。
int highest = Integer.MIN_VALUE;
int lowest = Integer.MAX_VALUE;

while (...)
{
    // your existing stuff...

    highest = Math.max(highest, grade);
    lowest = Math.min(lowest, grade);
}