programmvereinfachung
steffen
- java
hi,
import java.io.*;
public class array {
public static void main (String argv[]) throws IOException {
// Variablendeklarationen:
int anzahlNoten;
float summe = 0;
float [] notenfeld;
BufferedReader eingabe = new BufferedReader (
new InputStreamReader (System.in));
// Eingaben:
System.out.print ("Wieviele Noten? ");
anzahlNoten = Integer.parseInt (eingabe.readLine());
notenfeld = new float [anzahlNoten];
while(notenfeld[i]) {
System.out.print ((i+1) + ".Note: ");
notenfeld [i] = Float.parseFloat (eingabe.readLine());
summe = summe + notenfeld [i]; // Noten aufsummieren
i++;
} // for...
// Ausgaben:
System.out.println ("Durschnitt: " +(summe/anzahlNoten)+ "\n");
System.out.println ("Kontrollausgabe: ");
for(int i = 0; i < anzahlNoten ; i++)
System.out.println (notenfeld [i]);
} // main
} // class
Diese kleine jedoch sinnlose Programm kann man doch noch irgendwie verbessern. Bin jetzt kein JAVA held, aber in PHP geht das
summe = summe + notenfeld [i];
zB so:
$summe .= notenfeld[i];
und das man eingeben muss wieviele Noten da sind geht in PHP auch einfacher
while($notenfeld[$i]){
....
$i++;
}
Wieso geht das in JAVA nicht und wie bekomme ich so etwas hin?
thx
Steffen
Hi Steffen
float [] notenfeld;
Da würde ich eher einen Vector bzw eine ArrayList nehmen, weil soweit ich weiss unterstützt Java keine dynamischen "normalen Arrays"
BufferedReader eingabe = new BufferedReader (
new InputStreamReader (System.in));
// Eingaben:
System.out.print ("Wieviele Noten? ");
anzahlNoten = Integer.parseInt (eingabe.readLine());notenfeld = new float [anzahlNoten];
while(notenfeld[i]) {
System.out.print ((i+1) + ".Note: ");
notenfeld [i] = Float.parseFloat (eingabe.readLine());
summe = summe + notenfeld [i]; // Noten aufsummieren
i++;
}// for...
Wenn du es mit einem Array löst kannst du alle Elemente so auslesen:
for(int i=0; i<notenfeld.length; i++){
summe += notenfeld[i];
}
Diese kleine jedoch sinnlose Programm kann man doch noch irgendwie verbessern. Bin jetzt kein JAVA held, aber in PHP geht das
Es ist immer ein Problem ein sinnloses Programm zu verbessern :)
Informier dich in der Javadoc einmal über die Klassen Vector() und ArrayList() , das sind Listenimplementierungen, mit denen es einfach ist Datenansammlungen mit Dynamischer Grösse zu erzeugen.
freundliche Grüsse,
Daniel