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

时间:2013-10-23 18:19:05

标签: java loops variables

我的程序需要多个等级(来自记事本文件),然后是多个等级百分比,并将它们保存到字母等级。然后我打印出多少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++;

然后继续比较我的循环所做的变量以确定最低和最高。

我通过使用变量来查找定义变量,但我找不到任何东西。我在这里走正路吗?

2 个答案:

答案 0 :(得分:2)

我建议你制作两个存储最高和最低的变量,当你经历这个循环时,如果找到一个更大或更小的变量,就更新它们。

尝试:

int highest = 0;
int lowest = 100;
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++;
 }

 if (grade > highest) {
    highest = grade;
 }
 if (grade < lowest) {
    lowest = grade;
 }
 scores--;
 scoreTotals = (scoreTotals + grade);
}  

答案 1 :(得分:1)

你不需要太复杂。

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

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

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

最后,highestlowest将是最高和最低等级。