Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Java » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 4 Beiträge
Tobias

Wenn du nur den Durchschnitt haben willst, dann brauchst du keine dynamische Datenstruktur.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
BufferedReader einlesen = new BufferedReader(new FileReader("Zufallszahlen.txt"));

int sum = 0;
int count = 0;

while ((s = einlesen.readLine()) != null){
   sum += Integer.parseInt(s);
   count++;
}

System.out.println("Durchschnitt: " + ((double)sum /count ) )
iko

ja danke... kam gerade selber drauf mit den dynamischen datenstrukturen und hab ein Vector benutzt.

so funkts auch wunderbar...

Zitat:
import java.io.*;
import java.util.*;
import javax.swing.JOptionPane;

public class Zufall{
public static void main(String args[])throws java.io.IOException{
int zufallsZahl;
String s;
int gesamt=0;

PrintWriter schreiben = new PrintWriter(new FileWriter("Zufallszahlen.txt"));
for (int i=0;i<1000;i++){
zufallsZahl = (int)(Math.random()*101);
schreiben.println(zufallsZahl);
}
schreiben.flush();
schreiben.close();

BufferedReader einlesen = new BufferedReader(new FileReader("Zufallszahlen.txt"));


Vector<String> v = new Vector <String>();

while ((s = einlesen.readLine()) != null){
v.add(s);
}
einlesen.close();

for (int i=0;i<v.size();i++){
gesamt = gesamt + Integer.parseInt(v.get(i));
}

double durchschnitt= ((double)gesamt)/(v.size());

JOptionPane.showMessageDialog(null,"Der Durchschnitt beträgt: "+durchschnitt);

System.exit(0);

}
}



könnte man das ganze auch kürzer gestalten und trotzdem zum ziel kommen???
Tobias

Ich seh da einige Fehler.

Erstmal solltest du besser die Random-Klasse von Java benutzen. Dann kannst du 100 Zufallszahlen so erstellen:

code:
1:
2:
3:
4:
5:
6:
Random rnd = new Random();

// Zufallszahl zwischen 1 und 100
int rndNmbr = rnd.nextInt(100) + 1;



Beim Einlesen der Datei benutzt du zuerst eine While-Schleife um die Zeilen zu zählen und danach eine For-Schleife. Das "einlesen" zeigt aber nach der While-Schleife bereits auf das Ende der Datei, weswegen die For-Schleife danach nicht mehr durchlaufen wird. Außerdem legst du in der for-schleife in jeder Iteration das Array "tor" neu an. Richtig wäre es, vor der for-Schleife das Array einmal anzulegen.

Noch besser ist es, zum Abspeichern der Int-Werte eine verkettete Liste zu verwenden. So brauchst du die Größe der Datei garnicht kennen.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
BufferedReader einlesen = new BufferedReader(new FileReader("Zufallszahlen.txt"));

LinkedList<Integer> linkedList = new LinkedList<Integer>();

while ((s = einlesen.readLine()) != null){

   try {
      int val = Integer.parseInt(s);
   } catch (NumberFormatException e) {
      System.out.println("Fehler: " + e);
      return;
   }

   linkedList.put(new Integer(val));
}
iko Java

Hallo, möchte folgende aufgabe lösen:

Zitat:
Schreiben sie eine Applikation die
- 1000 ganzzahlige Zufallszahlen zwischen 0 und 100 erzeugt und diese untereinander in eine datei schreibt
-aus dieser erzeugten datei die zahlen ausliest, den durchschnitt berechnet und diesen wert ausgibt


hab die zahlenwerte erstmal verändert damit ich alles im überblick hab, was alles geschieht.
komm nun aber nich mehr weiter.

Zitat:

import java.io.*;
public class Zufall{
public static void main(String args[])throws java.io.IOException{
int zufallsZahl;
String s;
int d=0;

PrintWriter schreiben = new PrintWriter(new FileWriter("Zufallszahlen.txt"));
for (int i=0;i<5;i++){
zufallsZahl = (int)(Math.random()*101);
schreiben.println(zufallsZahl);
}
schreiben.flush();
schreiben.close();

BufferedReader einlesen = new BufferedReader(new FileReader("Zufallszahlen.txt"));



while ((s = einlesen.readLine()) != null){
System.out.println(s);
d++;
}

for (int p=0; (s = einlesen.readLine()) != null;p++){
int tor [] = new int [d];
tor[p]=Integer.parseInt(s);
System.out.println("2. "+s);


}



einlesen.close();
System.exit(0);

}
}



Kann mir jmd sagen, warum die letzte for-schleife nicht funktioniert?
Bekomme nich die gewünschte ausgabe....



Gruß
iko