Forum Doku Wiki Blog

Forumsarchiv 2004, Februar
programmvereinfachung

archivierte Beiträge lesen

  1. (JAVA) programmvereinfachung von steffen, 09. 02. 2004, 10:29

programmvereinfachung

Der folgende Beitrag wurde am 09. 02. 2004, 10:29 Uhr von steffen veröffentlicht.

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

programmvereinfachung

Der folgende Beitrag wurde am 09. 02. 2004, 11:18 Uhr von Daniel Petratsch veröffentlicht.

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

--
Das ist der ganze Jammer, die Dummen sind immer so sicher und die Gescheiten so voller Zweifel.
[Bertrand Russell]

© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4