2016-10-10 1 views
-4

Brauchen Sie Hilfe beim Schreiben eines Programms. Ich kann nicht herausfinden, wie man einem bestimmten Array hinzufügt. Unten ist das Programm, das ich schreiben muss. Jede Hilfe wäre willkommen.Arrays zur Verfolgung der Briefklassen

Schreiben Sie eine Anwendung, die ein eindimensionales Array verwendet. Fragen Sie den Benutzer nach einer Reihe von numerischen Noten (eine Note von -1 beendet die Eingabe). Erstellen Sie ein eindimensionales Array, um Klassenbereiche zu verfolgen. Zum Beispiel:

Index für 0 Qualitäten im Bereich von 90 bis 100 Index 1 Qualitäten im Bereich von 80 darstellt - 89 Index 2 Sorten im Bereich von 70 darstellt - 79 Index 3 Qualitäten im Bereich repräsentiert 60 - 69 Index 4 steht für Grade im Bereich von 59 oder darunter

Zeigt die Anzahl der A's, B's, C's, D's und F's an; Zeigen Sie auch die durchschnittliche, höchste und niedrigste Note an. Hier ist, was Ihr Programm aussehen sollte:

einen numerischen Grad eingeben (0-100) oder -1 beenden: 90

einen numerischen Grad eingeben (0-100) oder -1 zu beenden: 82

Geben Sie einen numerischen Grad (0-100) oder -1 beenden: 96

einen numerischen Grad eingeben (0-100) oder -1 beenden: -1

Anzahl der A-Typen: 2

Anzahl der B-Typen: 1

Anzahl der C-Typen: 0

Anzahl der D-Typen: 0

Anzahl der Typen F: 0

Durchschnitt ist: 89.33

Highest Grad ist: 96

Niedrigste Klasse ist: 82

Antwort

0

Ich weiß, dass es einen besseren Weg gibt, das Problem zu lösen, indem man das Problem in separate Methoden aufteilt und so den Code viel einfacher zu debuggen/pflegen macht, aber hier ist die Art und Weise, wie ich es ohne Methoden gemacht habe.

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 
Verwandte Themen