[Java] Notendurchschnitt berechnen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von leex, 7. Oktober 2009 .

  1. 7. Oktober 2009
    Notendurchschnitt berechnen

    Hey ich hab ein kleines Programm geschrieben das den Notendurchschnitt von einer bestimmten Anzahl von Schülern berechnen kann.
    Nun ist mein Problem, dass er mir immer Abrundet.
    Wenn ich beispielsweise 2 Schüler habe mit den Noten 2 und 3, bekomm ich den Notendurchschnitt 2.0, welcher eigentlich 2,5 sein müsste.

    hier der code:
    Code:
    import java.util.Scanner;
    import java.io.IOException;
    
    
    public class Main
    {
     public static void main(String[] args)
     throws IOException
     {
    
     int note, nochmal, anz=0, gesamt_noten=0;
     double durchschnitt;
     Scanner scanner = new Scanner(System.in);
    
    do{
    
     do{
     System.out.println("Eingabe Note: ");
     note = scanner.nextInt();
     
     }while(note <=0 || note>6);
    
     do{
     System.out.println("Nochmal? [1 = JA | 2 = Nein]");
     nochmal = scanner.nextInt();
     }while(nochmal<1 || nochmal>2);
    
     ++anz;
     gesamt_noten = gesamt_noten + note;
    
    }while(nochmal==1);
    
     durchschnitt = gesamt_noten/anz;
     System.out.println("\nEs haben "+anz+" Studenten an der Klausur "
     +"teilgenommen. \nNotendurchschnitt: "+durchschnitt);
     }
    }

    PS: Haben gerade erst mit Java angefangen in der Schule
     
  2. 7. Oktober 2009
    AW: Notendurchschnitt berechnen

    Ich schätze mal es liegt am Integer note!

    Da brauchste nen double oder float Wert also einen Wert mit Komma.
    Integer sind nur ganze Zahlen!
    Java Standard: Primitive Datentypen – Wikibooks, Sammlung freier Lehr-, Sach- und Fachbücher

    So wie ichs weiß ^^
    Aber ich steh atm auch voll aufm Schlauch code schon 2 tage auf der Arbeit mit Java xD
     
  3. 7. Oktober 2009
    AW: Notendurchschnitt berechnen

    hi,

    wenn du ein integer durch ein integer dividierst, dann bekommst auch ein "integer" zurück. es wird quasi als integer opertation durchgeführt und du bekommst keine kommazahlen zurück.

    du müsstest nur die zeile:

    Code:
    int note, nochmal, anz=0, gesamt_noten=0;
    
    in

    Code:
    double note, nochmal, anz=0, gesamt_noten=0;
    
    umwandeln und dann müsste es eigentlich klappen.

    schöner wäre es, wenn du anz und gesamte_noten als double deklarierst und die anderen als integer lässt.


    nice day,
    harry
     
  4. 7. Oktober 2009
    AW: Notendurchschnitt berechnen

    es dürfte eig. auch schon richen, wenn du nur gesamt_noten als double machst.

    double / int = double =)

    ansonsten ist zu sagen: unterstriche in attributnamen sind nicht so gern gesehen. mach da lieber gesamtNoten

    und sowas wie:
    " gesamt_noten = gesamt_noten + note;"
    kann man auch schön als:
    "gesamt_noten += note; "

    schreiben.

    will jetzt net als klug r da stehen, aber nur so lernt mans
    MfG
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.