2016-10-10 20 views
-4

需要编写程序的帮助。我无法弄清楚如何添加到特定的数组中。以下是我必须编写的程序。任何帮助,将不胜感激。用于跟踪字母等级的数组

编写将使用一维数组的应用程序。询问用户一系列数字等级(等级-1将结束输入)。创建一个一维数组以跟踪等级范围。例如:

索引0表示在90〜年级 - 100 指数1表示在80的范围内年级 - 89 索引2表示在70〜年级 - 79 索引3表示范围等级60 - 69 索引4表示等级在59或更低的范围内

显示A,B,C,D和F的数量;还显示平均分,最高分和最低分。 这里是你的程序应该是什么样子:

输入一组数字等级(0-100)或-1退出:90

输入一组数字等级(0-100)或-1退出:82

输入一组数字等级(0-100)或-1退出:96

输入一组数字等级(0-100)或-1退出:-1

A级的数量: 2

数B等级:1

Ç等级的数:0

d等级数:0

˚F等级的数:0

平均是:89.33

最高等级是:96

最低价等级:82

回答

0

我知道有一个更好的方法来做到这一点,比如将问题分解成单独的方法,从而使您的代码更易于调试/维护,但这是我在不使用任何方法的情况下完成的。

public static void main(String[] args) { 
    final int SIZE = 100; 
    int[] array = new int[SIZE]; 
    int count = 0; 
    int ans; 
    int[] gradeRange = {0, 0, 0, 0, 0}; 
    double total = 0; 
    double average = 0; 
    int highest = array[0]; 




    Scanner keyboard = new Scanner(System.in); 
    System.out.println("Enter a numeric grade (0-100) or -1 to quit:"); 
    ans = keyboard.nextInt(); 

    while (ans != -1 && count < array.length) { 
     array[count] = ans; 
     count++; //counter used to keep track of the array length 

     if (ans >= 90) { 
      gradeRange[0]++; 

     } 
     else if (ans >= 80) { 
      gradeRange[1]++; 

     } 
     else if (ans >= 70) { 
      gradeRange[2]++; 

     } 
     else if (ans >= 60) { 
      gradeRange[3]++; 

     } 
     else if (ans < 60) { 
      gradeRange[4]++; 

     } 

     System.out.println("Enter a numeric grade (0-100) or -1 to quit:"); 
     ans = keyboard.nextInt(); 
    } 

    int[] secarray = new int[count]; 
    for (int index = 0; index < count; index++) { 
     secarray[index] = array[index]; 
    } 
    int min = secarray[0]; 



    for (int index = 0; index < count; index++) { 
     total += array[index]; 
     average = total/count; 
    } 


    for (int index = 0; index < count; index++) { 
     if (array[index] > highest) 
      highest = array[index]; 

    } 
    for (int index = 1; index < secarray.length; index++) { 

     if (secarray[index] < min) 
      min = secarray[index]; 
    } 







    System.out.println("Number of A grades: " + gradeRange[0]); 
    System.out.println("Number of B grades: " + gradeRange[1]); 
    System.out.println("Number of C grades: " + gradeRange[2]); 
    System.out.println("Number of D grades: " + gradeRange[3]); 
    System.out.println("Number of F grades: " + gradeRange[4]); 

    System.out.printf("Average is: %.1f\n ", average); 
    System.out.println("Lowest grade is: " + min); 
    System.out.println("Highest grade is: " + highest); 


}//end main