hallo leute ich habe ein problem ich komme einfach nicht weiter. ich schreibe morgen ne arbeit über 2 dimensionales array.
kann mir jemand hierbei helfen? dieses Programm soll den durschnitt einzelner schüler berechnen. zuerst fragt es nach den anzahl der schüler danach anzahl der noten .... am schluss soll für jeden einzelnen schüler der durschnitt berechnet werden und eine kontrollausgabse soll auch dabei sein, was ich eingegeben habe.
hier der code:
import java.io.*;
public class Notenfeld
{
public static void main (String argv[]) throws IOException
{
int anzahlNoten;
int Schueler;
float summe=0;
float notenFeld[];
ah cool das ist mir nicht aufgefallen aber nun habe ich das nächste problem
Code:
Notenfeld.java:17:11: notenFeld is already defined in main(java.lang.String[])
float notenFeld[][] = new float[anzahlNoten][Schueler];
^
Notenfeld.java:20:17: array required, but float found
notenFeld[i][z]=i;
^
Notenfeld.java:22:25: cannot find symbol
symbol : variable z
location: class Notenfeld
System.out.print((z+1)+".Schueler: ");
^
Notenfeld.java:23:17: cannot find symbol
symbol : variable i
location: class Notenfeld
notenFeld[i] = Float.parseFloat (eingabe.readLine());
^
Notenfeld.java:26:17: cannot find symbol
symbol : variable z
location: class Notenfeld
notenFeld[z] = Float.parseFloat (eingabe.readLine());
^
Notenfeld.java:28:33: cannot find symbol
symbol : variable i
location: class Notenfeld
summe = summe + notenFeld[i][z];
^
Notenfeld.java:28:35: array required, but float found
summe = summe + notenFeld[i][z];
^
Notenfeld.java:28:15: operator + cannot be applied to float,<any>
summe = summe + notenFeld[i][z];
^
Notenfeld.java:28:21: incompatible types
found : <nulltype>
required: float
summe = summe + notenFeld[i][z];
^
9 errors
Erst einmal bemerken wir, das hier eine öffnende und zwei schließende Klammern vorliegen. Nach der ersten schließenden Klammer denkt der Compiler, das println wäre "fertig" und erwartet dementsprechend ein ;
Offenbar willst du "eigentlich" schreiben:
Code:
System.out.print((i+1)+".Note: ");
Leider wird das auch nichts, denn man kann zu einer Zahl keinen String "addieren". Aber es geht andersrum, String plus Zahl gibt String. Deshalb sollte das hier funktionieren:
Code:
System.out.print("" + (i+1) + ".Note: ");
Den Rest habe ich nicht durchgeguckt, ist auch kaum lesbar. Nimm im Forum für Code bitte [java]-Tags.
import java.io.*;
public class Notenfeld
{
public static void main (String argv[]) throws IOException
{
int anzahlNoten;
int Schueler;
float summe=0;
float notenfeld[];
BufferedReader eingabe=new BufferedReader(new InputStreamReader(System.in));
System.out.print("Wieviele Schüler möchten Sie berechnen?: ");
Schueler = Integer.parseInt (eingabe.readLine());
System.out.print("Wieviele Noten möchten Sie berechnen?: ");
anzahlNoten = Integer.parseInt (eingabe.readLine());
float notenFeld[][] = new float[anzahlNoten][Schueler];
for (int i = 0; i < Schueler ; i++)
for (int z = 0; z < anzahlNoten ; z++)
notenFeld[i][z]=i;
{
System.out.print("" + (i+1) + ".Schueler: ");
notenFeld[i] = Float.parseFloat (eingabe.readLine());
System.out.print("" + (z+1) + ".Note: ");
notenFeld[z] = Float.parseFloat (eingabe.readLine());
summe = summe + notenFeld[i][z];
}
System.out.println ("Durschnitt:"+(summe/anzahlNoten));
System.out.println ("kontrollausgabe: ");
for(int i = 0; i < notenFeld.length ; i++)
System.out.println(notenFeld[i]+" ");
System.out.println("Programmende Notenfeld.");
}
}
so ist der code wie es oben gesagt wurde ....
das kommt nun als weiterhin als fehler:
Code:
Notenfeld.java:22:30: cannot find symbol
symbol : variable i
location: class Notenfeld
System.out.print("" + (i+1) + ".Schueler: ");
^
Notenfeld.java:23:17: cannot find symbol
symbol : variable i
location: class Notenfeld
notenFeld[i] = Float.parseFloat (eingabe.readLine());
^
Notenfeld.java:23:39: incompatible types
found : float
required: float[]
notenFeld[i] = Float.parseFloat (eingabe.readLine());
^
Notenfeld.java:24:30: cannot find symbol
symbol : variable z
location: class Notenfeld
System.out.print("" + (z+1) + ".Note: ");
^
Notenfeld.java:25:17: cannot find symbol
symbol : variable z
location: class Notenfeld
notenFeld[z] = Float.parseFloat (eingabe.readLine());
^
Notenfeld.java:25:39: incompatible types
found : float
required: float[]
notenFeld[z] = Float.parseFloat (eingabe.readLine());
^
Notenfeld.java:26:33: cannot find symbol
symbol : variable i
location: class Notenfeld
summe = summe + notenFeld[i][z];
^
Notenfeld.java:26:36: cannot find symbol
symbol : variable z
location: class Notenfeld
summe = summe + notenFeld[i][z];
^
8 errors
Denk nochmal nach, was ist dein Notenfeld? ein float[][]. Das heißt, an notenfeld oder notenfeld[dsfhgt] oder so steht nochmal ein ganzes float[]. Was du aber einliest, ist ein einzelnes float. Du willst also wahrscheinlich bei Schüler i die z. Note reinschreiben --> notenfeld[z] = eingelesenes.
Dann hast du aber die Dimensionen falsch, du erstellst ja ein float[anzahlNoten][schueler],
was aber irgendwie unsinnig ist, float[schueler][anzahlNoten] ist wohl das, was du wolltest.
Also denk nochmal genau nach, was du da wie erreichen wolltest und setz das dann um.