Schlüsselworte Zählen und Zuweisen von eingelesenen Zahlen

PCFLO

Neues Mitglied
Hallo,

ich soll ein Programm schreiben mit dem man entweder den BMI oder den Notendurchschnitt ausrechnen kann.

Ich habe in meinem Informatik Kurs momentan nur die Grundlagen von Java erlernt (Wörter/Zahlen einlesen, While/For/Do-While Schleife, Verzweigungen).

Mein Problem ist, dass andere ihre Noten/Punkte selber in das Programm eintragen oder bei der Abfrage direkt die Gesamte ausgerechnete Zahl eingeben. Ich möchte aber alles abfragen und bin soweit auch fertig. Problem ist nur das ich nicht weiß, wie ich die Anzahl der benutzen Fächer zählen kann.

Meine Vorstellung war für jede eingebene Zahl eine 1 und für 0 natürlich eine 0 und diese wird am Ende zusammen gezählt was widerrum die Anzahl der Fächer ergibt (So die Theorie). Nur wie schreibe ich den Befehl für das Zählen um den Durchschnitt auszurechnen?

Java:
package programm;
import java.util.Scanner;

public class Notenrechner {

    public static void main(String[] args) {
       
        System.out.println("Möchtest du deinen Noten Durchschnitt ausrechnen?");
        Scanner scan = new Scanner(System.in);
        String Ja;
        Ja = scan.nextLine();
        if (Ja.equals("Ja")) {
            System.out.println("Für Fächer die du nicht Gewählt hast, bitte mit 0 beantworten!");
            System.out.println("");
            System.out.println("Welche Note hast du in Deutsch?");
            Scanner sc = new Scanner(System.in);
            int Note1 = sc.nextInt();
            System.out.println("Welche Note hast du in Mathematik?");
            Scanner cs = new Scanner(System.in);
            int Note2 = cs.nextInt();
            System.out.println("Welche Note hast du in Englisch?");
            Scanner ab = new Scanner(System.in);
            int Note3 = ab.nextInt();
            System.out.println("Welche Note hast du in Sport?");
            Scanner dc = new Scanner(System.in);
            int Note4 = dc.nextInt();
            System.out.println("Welche Note hast du in Geschichte?");
            Scanner gs = new Scanner(System.in);
            int Note5 = gs.nextInt();
            System.out.println("Welche Note hast du in Politik und Wirtschaft?");
            Scanner fr = new Scanner(System.in);
            int Note6 = fr.nextInt();
            System.out.println("Welche Note hast du in Physik?");
            Scanner sd = new Scanner(System.in);
            int Note7 = sd.nextInt();
            System.out.println("Welche Note hast du in Chemie?");
            Scanner hs = new Scanner(System.in);
            int Note8 = hs.nextInt();
            System.out.println("Welche Note hast du in Biologie?");
            Scanner se = new Scanner(System.in);
            int Note9 = se.nextInt();
            System.out.println("Welche Note hast du in Französisch?");
            Scanner sr = new Scanner(System.in);
            int Note10 = sr.nextInt();
            System.out.println("Welche Note hast du in Spanisch?");
            Scanner st = new Scanner(System.in);
            int Note11 = st.nextInt();
            System.out.println("Welche Note hast du in Kunst?");
            Scanner sk = new Scanner(System.in);
            int Note12 = sk.nextInt();
            System.out.println("Welche Note hast du in Musik?");
            Scanner su = new Scanner(System.in);
            int Note13 = su.nextInt();
            System.out.println("Welche Note hast du in Darstellendes Spiel?");
            Scanner rc = new Scanner(System.in);
            int Note14 = rc.nextInt();
            System.out.println("Welche Note hast du in Philosophie?");
            Scanner wc = new Scanner(System.in);
            int Note15 = wc.nextInt();
            System.out.println("Welche Note hast du in Erdkunde?");
            Scanner sx = new Scanner(System.in);
            int Note16 = sx.nextInt();
            System.out.println("Welche Note hast du in Informatik?");
            Scanner sh = new Scanner(System.in);
            int Note17 = sh.nextInt();
           
            int Zahl;
            double Durchschnitt;
            int Anzahl;
       
            Zahl = Note1 + Note2 + Note3 + Note4 + Note5 + Note6 + Note7 + Note8 + Note9 + Note10 + Note11 + Note12 + Note13 + Note14 + Note15 + Note16 + Note17;

            Durchschnitt = Zahl / Anzahl;
           
            scan.close();
            sc.close();
            cs.close();
            ab.close();
            dc.close();
            gs.close();
            fr.close();
            hs.close();
            se.close();
            sd.close();
            sr.close();
            st.close();
            sk.close();
            su.close();
            rc.close();
            wc.close();
            sx.close();
            sh.close();
           
            System.out.println("Dein Durchschnitt beträgt" + Durchschnitt);
        }
        else {
            System.out.println("Dann halt nicht.");
            System.out.println("Schönen Tag noch.");
        }
    }

}

Hilfe wäre echt nett.
PS: Hoffe ich benutze das Forum so richtig. Bin neu hier und habe im Internet keine Lösung auf mein Problem gefunden, da es nirgendswo einen Thread/Thema über das Zählen von Eingaben ging.

Mit freundlichen Grüßen

Florian
 

mihe7

Top Contributor
Hoffe ich benutze das Forum so richtig.
Jawoll. Endlich mal jemand, der Code auf Anhieb mal in die entsprechenden Tags setzt...

Erst mal Allgemeines zum Code:
  1. Bezeichner von Methoden, Variablen und Parametern schreibt man in Java per Konvention in lowerCamelCase. Bezeichner von Typen dagegen in UpperCamelCase.
  2. Du brauchst nur ein Scanner-Objekt
  3. "Ja" ist kein sinnvoller Variablennamen. Nimm was wie "eingabe".
Ich stauche das mal ein wenig zusammen.

Java:
package programm;
import java.util.Scanner;

public class Notenrechner {

    public static void main(String[] args) {
        System.out.println("Möchtest du deinen Noten Durchschnitt ausrechnen?");
        Scanner sc = new Scanner(System.in);
        String eingabe = sc.nextLine();
        if (eingabe.equals("Ja")) {
            System.out.println("Für Fächer die du nicht Gewählt hast, bitte mit 0 beantworten!");
            System.out.println("");
            System.out.println("Welche Note hast du in Deutsch?");
            int note1 = sc.nextInt();
            System.out.println("Welche Note hast du in Mathematik?");
            int note2 = sc.nextInt();
            System.out.println("Welche Note hast du in Englisch?");
            int note3 = sc.nextInt();
            System.out.println("Welche note hast du in Sport?");
            int note4 = sc.nextInt();
            System.out.println("Welche Note hast du in Geschichte?");
            int note5 = sc.nextInt();
            System.out.println("Welche Note hast du in Politik und Wirtschaft?");
            int note6 = sc.nextInt();
            System.out.println("Welche Note hast du in Physik?");
            int note7 = sc.nextInt();
            System.out.println("Welche Note hast du in Chemie?");
            int note8 = sc.nextInt();
            System.out.println("Welche Note hast du in Biologie?");
            int note9 = sc.nextInt();
            System.out.println("Welche Note hast du in Französisch?");
            int note10 = sc.nextInt();
            System.out.println("Welche Note hast du in Spanisch?");
            int note11 = sc.nextInt();
            System.out.println("Welche Note hast du in Kunst?");
            int note12 = sc.nextInt();
            System.out.println("Welche Note hast du in Musik?");
            int note13 = sc.nextInt();
            System.out.println("Welche Note hast du in Darstellendes Spiel?");
            int note14 = sc.nextInt();
            System.out.println("Welche Note hast du in Philosophie?");
            int note15 = sc.nextInt();
            System.out.println("Welche Note hast du in Erdkunde?");
            int note16 = sc.nextInt();
            System.out.println("Welche Note hast du in Informatik?");
            int note17 = sc.nextInt();

            int zahl;
            double durchschnitt;
            int anzahl;

            zahl = note1 + note2 + note3 + note4 + note5 + note6 + note7 + note8 + note9 + note10 + note11 + note12 + note13 + note14 + note15 + note16 + note17;
            durchschnitt = zahl / anzahl;
            System.out.println("Dein Durchschnitt beträgt" + durchschnitt);
        }
        else {
            System.out.println("Dann halt nicht.");
            System.out.println("Schönen Tag noch.");
        }
        sc.close();
    }
}

Beim Berechnen des Durchschnitts musst Du aufpassen: wenn Du eine Ganzzahl durch eine Ganzzahl teilst, ist das Ergebnis eine Ganzzahl und die Nachkommastellen werden abgeschnitten.

Wie kommst Du nun zur Anzahl der eingegebenen Noten? Naja, wenn eine Note > 0 eingegeben wurde, zählst Du die Anzahl um eins hoch, ansonsten nicht. Das ist natürlich mit Schreibaufwand verbunden, weil Du somit 17 if-Abfragen einbauen musst.

Man kann die 1 bzw. 0, die man auf die Anzahl anrechnen muss, auch direkt aus der Note berechnen. Dazu macht man sich z. B. die vorhin genannte Eigenschaft zu Nutze, dass beim Teilen von Ganzzahlen die Nachkommastellen abgeschnitten werden. Darauf will ich aber jetzt nicht weiter eingehen.

Grundsätzlich wäre der ganze Code wesentlich einfacher, wenn Du z. B. Arrays verwenden würdest. Allerdings weiß ich nicht, ob Du das darfst. Ebenso wenig weiß ich, ob Du eigene Methoden schreiben darfst. Daher erst mal ohne.

Ach, ja und noch was, was die Anzahl bzw. die Berechnung des Durchschnitts betrifft: Division durch 0 ist nicht erlaubt...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Wörteranzahl im Array zählen Java Basics - Anfänger-Themen 9
M Häufigkeit von Wörtern zählen Java Basics - Anfänger-Themen 6
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
D spezifische Knoten in einem Baum zählen Java Basics - Anfänger-Themen 9
F Werte in einer Arraylist Zählen Java Basics - Anfänger-Themen 2
S Java Methodenaufrufe zählen Java Basics - Anfänger-Themen 4
P Doppelte werte in einer Liste zählen Java Basics - Anfänger-Themen 11
S Methoden Methodenaufruf rekursiv zählen Java Basics - Anfänger-Themen 4
J Methoden Positive Werte zählen Java Basics - Anfänger-Themen 3
H Buchstaben zählen Java Basics - Anfänger-Themen 9
Poppigescorn Häufigkeit einer zahl zählen Java Basics - Anfänger-Themen 5
HighLife Bestimmte Werte aus Array zählen Java Basics - Anfänger-Themen 15
O Attribute die Methoden zählen Java Basics - Anfänger-Themen 5
X Game of Life Nachbarn zählen Java Basics - Anfänger-Themen 20
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
Z Satz aufteilen und die Wörter zählen (HashMap) Java Basics - Anfänger-Themen 15
S Binärbäume knoten zählen Java Basics - Anfänger-Themen 16
K Counts zählen Java Basics - Anfänger-Themen 23
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
J Zeichen im String zählen Java Basics - Anfänger-Themen 3
G Binärer Suchbaum Knoten zählen Java Basics - Anfänger-Themen 1
N Zeichen in einem Textfeld zählen und hinterlegen Java Basics - Anfänger-Themen 6
E Knoten eines Baumes unter Bedinung zählen Java Basics - Anfänger-Themen 2
T x Schritte zählen Java Basics - Anfänger-Themen 18
A In einem String alle Eigennamen zählen Java Basics - Anfänger-Themen 6
L Baum Knoten zählen Java Basics - Anfänger-Themen 6
B Objekte zählen/ Vererbung/ Kopplung/ Interface/ Abstract Class Java Basics - Anfänger-Themen 5
S Zählen der Zeiger auf Objekte Java Basics - Anfänger-Themen 35
S Zeichen zählen kopierter Text Java Basics - Anfänger-Themen 6
B Array - die Häufigkeit der Zahl zählen Java Basics - Anfänger-Themen 9
L Vorherige Objekte zählen und ausgeben Java Basics - Anfänger-Themen 11
L Diphthonge zählen... Java Basics - Anfänger-Themen 5
O ELOPS Zählen Java Basics - Anfänger-Themen 1
S Rekursives Zählen einer Zahl Java Basics - Anfänger-Themen 8
X Quick Sort - Vergleichsoperationen zählen Java Basics - Anfänger-Themen 0
K alle Vorkommen einer bestimmten Ziffer in einer Zahl zählen Java Basics - Anfänger-Themen 2
B Collections Java Wörter in String zählen und geordnet ausgeben Java Basics - Anfänger-Themen 10
O Großbuchstaben im Satz zählen Java Basics - Anfänger-Themen 6
S zahl hoch und runter zählen per button Java Basics - Anfänger-Themen 25
N Zählen von Rationalen Werten eines Arrays Java Basics - Anfänger-Themen 10
Y for-Schleife zählen Java Basics - Anfänger-Themen 6
K Probleme mit Sortieren und dem Zählen Java Basics - Anfänger-Themen 13
S Vererbung Objekte von Ober - und Unterklassen zählen Java Basics - Anfänger-Themen 3
F SubString in String zählen Java Basics - Anfänger-Themen 3
C Im Array zählen und verändern Java Basics - Anfänger-Themen 5
O Zählen der while-Scheife Java Basics - Anfänger-Themen 3
P bytes aus einem InputStream zählen Java Basics - Anfänger-Themen 2
A Text teilen und Wörter zählen Java Basics - Anfänger-Themen 7
G Erste Schritte Einen Array absuchen und Buchstaben zählen Java Basics - Anfänger-Themen 17
F Problem mit Tabulatoren bei Zeilen zählen einer Textdatei Java Basics - Anfänger-Themen 17
F Textdatei einlesen und Zeilen zählen Java Basics - Anfänger-Themen 10
D Groß/KleinBuchstaben zählen Java Basics - Anfänger-Themen 21
D Buchstabe zählen/mappen Java Basics - Anfänger-Themen 3
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
M Hilfe bei Zählen von Farben? Java Basics - Anfänger-Themen 7
R Input/Output Tastenschläge einer Taste zählen Java Basics - Anfänger-Themen 14
J Schleifendurchläufe zählen Java Basics - Anfänger-Themen 4
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
E Methoden Methodenaufrufe zählen Java Basics - Anfänger-Themen 11
T Leerzeichen zählen mit Rekursion Java Basics - Anfänger-Themen 17
H Programm zum Zählen von Zeichen Java Basics - Anfänger-Themen 5
K Kommandozeile zählen Java Basics - Anfänger-Themen 5
J Bits zusammen zählen Java Basics - Anfänger-Themen 4
P Hashtabelle-Häufigkeit von String zählen Java Basics - Anfänger-Themen 2
J Array; Vorkommen zählen Java Basics - Anfänger-Themen 10
T durchlaufene while-Schleifen zählen Java Basics - Anfänger-Themen 3
P Replace zählen Java Basics - Anfänger-Themen 4
A Methoden Gedanken Anstöße zur Realisierung zweier Ideen (Grafisch Sekunden zählen und Frameaufteilung) Java Basics - Anfänger-Themen 18
E Zeichen von Kommandozeilenparameter zählen Java Basics - Anfänger-Themen 6
L Objekte zählen mehrerer Unterklassen Java Basics - Anfänger-Themen 3
J Buchstaben aus String einzeln Zählen Java Basics - Anfänger-Themen 12
J Enum zählen Java Basics - Anfänger-Themen 8
M Automatisch hoch zählen Java Basics - Anfänger-Themen 8
S Zählen Java Basics - Anfänger-Themen 9
V Arraylist: Zählen welcher String am Häufigsten vorkommt Java Basics - Anfänger-Themen 5
A Erste Schritte Datei einlesen und Buchstaben zählen Java Basics - Anfänger-Themen 13
M Von File lesen Buchstaben lesen und zählen - scheitert an der Eingabe Java Basics - Anfänger-Themen 4
B Zählen bestimmter Zeilen einer .txt Java Basics - Anfänger-Themen 7
A Satzeingabe - Vokale zählen Java Basics - Anfänger-Themen 5
G Gleiche Elemente in Feld zählen Java Basics - Anfänger-Themen 13
B Input/Output Wörter zählen & sortieren Java Basics - Anfänger-Themen 9
S Buchstaben/Wörter im String zählen Java Basics - Anfänger-Themen 6
K apache poi - Spalten zählen Java Basics - Anfänger-Themen 4
T Methodenaufrufe zählen Java Basics - Anfänger-Themen 24
L Array Sequent Zählen Java Basics - Anfänger-Themen 8
N Bestimmte Zeichen aus Strings zählen Java Basics - Anfänger-Themen 11
C Boolean Wahrheitswert zählen Java Basics - Anfänger-Themen 15
C Vorkommen eines Zeichens zählen Java Basics - Anfänger-Themen 4
D Game of Life - Nachbarn zählen Java Basics - Anfänger-Themen 8
J Buchstaben zählen Java Basics - Anfänger-Themen 17
R buchstaben zählen Java Basics - Anfänger-Themen 8
D Zählen von Umlauten in einem String Java Basics - Anfänger-Themen 4
E Array Inhalte zählen Java Basics - Anfänger-Themen 6
B Strings zählen Java Basics - Anfänger-Themen 15
Z Zeichen Zählen Java Basics - Anfänger-Themen 3
B Files aus Verzeichnis zählen Java Basics - Anfänger-Themen 9
J Wörter in einem string zählen und die anzahl zurückgeben Java Basics - Anfänger-Themen 4
I Zeichen zählen ohne Leerzeichen Java Basics - Anfänger-Themen 3
M Blätter eines Baumes zählen Java Basics - Anfänger-Themen 2
D Spiel des Lebens Nachbarn zählen Java Basics - Anfänger-Themen 6

Ähnliche Java Themen

Neue Themen


Oben