14 Beiträge • unten

Brauche Hilfe bei Informatik

Tankian
Direkt-Link

Am 05.09.2011 um 15:52:

Hallo,

Ich habe folgendes Problem :

Wir haben in der Schule die Hausaufgabe bekommen ein Programm zu schreiben welches ein Feld mit 100 Zufallszahlen (1-6) füllt.

Gegebene gleichung : zahl= (int) ((Math.random())*5+1);

Alle Hundert Zahlen ausgeben und das vorkommen der einzelnen Zahlen zählen und die Anzahl jeder Zahl ausgeben.

Wir programmieren mit BlueJ/Java

Ich habe folgendes programmiert:

public class Würfel
{
    public double[]zahl;
    public int a;
    public int b;
    public int c;
    public int d;
    public int e;
    public int f;
   
    public Würfel()
    {
         zahl = new double [100];
    }
    public void hundertwürfe()
    {
        for(int i=0; i<100; i=i+1)
        {
            zahl[i] = (int) ((Math.random())*5+1);
            System.out.println("Die Zahl " + i + " ist " + zahl[i]);
           
            if(zahl[i]==1)
                a=a+1;
            if(zahl[i]==2)
                b=b+1;
            if(zahl[i]==3)
                c=c+1;
            if(zahl[i]==4)
                d=d+1;
            if(zahl[i]==5)
                e=e+1;
            if(zahl[i]==6)
                f=f+1;
            }
        }
        public void wiehäufigsinddiezahlen()
        {
            System.out.println("Die Zahl Eins kommt " + a + "-mal vor");
            System.out.println("Die Zahl Zwei kommt " + b + "-mal vor");
            System.out.println("Die Zahl Drei kommt " + c + "-mal vor");
            System.out.println("Die Zahl Vier kommt " + d + "-mal vor");
            System.out.println("Die Zahl Fünf kommt " + e + "-mal vor");
            System.out.println("Die Zahl Sechs kommt " + f + "-mal vor");
        }
    }

Er zeigt mir keine sýntax errors an, aber macht nichts wenn ich es ausführe.

Haoofe mir kann jemand helfen und danke im vorraus

Chriss84 (27)


Themen: 53
Beiträge: 2717
Nachricht
Direkt-Link

Am 05.09.2011 um 15:55:

Zitat (Tankian):

Hallo,

Ich habe folgendes Problem :

Wir haben in der Schule die Hausaufgabe bekommen ein Programm zu schreiben welches ein Feld mit 100 Zufallszahlen (1-6) füllt.

Gegebene gleichung : zahl= (int) ((Math.random())*5+1);

Alle Hundert Zahlen ausgeben und das vorkommen der einzelnen Zahlen zählen und die Anzahl jeder Zahl ausgeben.

Wir programmieren mit BlueJ/Java

Ich habe folgendes programmiert:

[…]

Er zeigt mir keine sýntax errors an, aber macht nichts wenn ich es ausführe.

Haoofe mir kann jemand helfen und danke im vorraus

 

Java erlaubt, meines Wissens, keine Umlaute in Methoden / Klassennamen. Mach erstmal aus Würfeln {} ein Wuerfeln {} sowie aus wiehäufigsinddiezahlen() ein wiehaeufigsinddiezahlen() usw. …

Dazu kommt dass du zwar die Klasse und deren Methoden schön deklarierst, sie aber nirgendwo verwendest. Oder ist das nicht dein ganzes Programm?

-------------------- Nachträglich editiert von Chriss84 am 05.09.2011 15:56

-------------------- Nachträglich editiert von Chriss84 am 05.09.2011 15:58 -------------------- Nachträglich editiert von Chriss84 am 05.09.2011 15:59

www.longislandicedtea.de | Lecker, lecker, mjam mjam mjam!

Tankian
Direkt-Link

Am 05.09.2011 um 15:57:

:D danke dir das das so einfach ist :)

Hast mir warscheinlich grad die Note gerettet ;)

-------------------- Nachträglich editiert von Tankian am 05.09.2011 15:58

Chriss84 (27)


Themen: 53
Beiträge: 2717
Nachricht
Direkt-Link

Am 05.09.2011 um 15:58:

Zitat (Tankian):

:D danke dir das das so einfach ist :)

Hast mir warscheinlich grad die Note gerettet ;)

Problem gelöst?

www.longislandicedtea.de | Lecker, lecker, mjam mjam mjam!

Tankian
Direkt-Link

Am 05.09.2011 um 15:59:

Ja funkitoniert jetzt alles perfekt :)

connieZ
Direkt-Link

Am 05.09.2011 um 16:00:

 

 

Edit: zu langsam ;)

 

-------------------- Nachträglich editiert von connieZ am 05.09.2011 16:00

-------------------- Nachträglich editiert von connieZ am 05.09.2011 16:06

Chriss84 (27)


Themen: 53
Beiträge: 2717
Nachricht
Direkt-Link

Am 05.09.2011 um 16:00:

Zitat (Tankian):

Ja funkitoniert jetzt alles perfekt :)

Hah! Chriss: 1 Java: 0.

 

;)

-------------------- Nachträglich editiert von Chriss84 am 05.09.2011 16:01

www.longislandicedtea.de | Lecker, lecker, mjam mjam mjam!

Tankian
Direkt-Link

Am 05.09.2011 um 16:04:


lag an den umlauten.

Was meintest du mit dem zweiten? Wüsste jetzt nichts was ich da wegmachen kann.

 

(Erstes Jahr richtig Informatik davor bei nem Lehrer der noch weniger Ahnung hatte als ich^^)

Chriss84 (27)


Themen: 53
Beiträge: 2717
Nachricht
Direkt-Link

Am 05.09.2011 um 16:06:

Zitat (Tankian):


lag an den umlauten.

Was meintest du mit dem zweiten? Wüsste jetzt nichts was ich da wegmachen kann.

 

(Erstes Jahr richtig Informatik davor bei nem Lehrer der noch weniger Ahnung hatte als ich^^)

Mir fehlte nur die eigentliche Verwendung also der Aufruf der Klasse. (Den du hier ja weggelassen hattest …) Alles gut! :)

Ich find es übrigens cool dass ihr in der Schule richtig Informatik mit ’ner objektorientierten Sprache macht. Wir haben seinerzeit noch mit Q-Basic rumgenudelt …

-------------------- Nachträglich editiert von Chriss84 am 05.09.2011 16:07

www.longislandicedtea.de | Lecker, lecker, mjam mjam mjam!

Tankian
Direkt-Link

Am 05.09.2011 um 16:08:

 dann is ja gut :)

Tempelmaster (36)


Themen: 36
Beiträge: 571
Nachricht
Direkt-Link

Am 05.09.2011 um 16:14:


hmmm...einige scheinen ja doch was zu lernen.

das Programmm ist zwr simple aber immer hin scheinen sie schon Computer ab der Schule zu haben

-------------------- Nachträglich editiert von Tempelmaster am 05.09.2011 16:16

No Risk , No Fun

Elodril (21)


Themen: 1
Beiträge: 1018
Nachricht
Direkt-Link

Am 08.09.2011 um 09:28:

Zitat (Tankian):

Wir haben in der Schule die Hausaufgabe bekommen ein Programm zu schreiben welches ein Feld mit 100 Zufallszahlen (1-6) füllt.

Proforma-Frage: Meinst du ein Array/eindimensionales Feld?

Verbesserungsvorschlag:

1) a++; ist äquivalent zu a=a+1;

2) double verbraucht mehr Speicher als nötig. Integer reicht vollkommen aus.

3) main nicht vergessen

public static void main(String args[]){

hundertwuerfe();

}

-------------------- Nachträglich editiert von Elodril am 08.09.2011 09:29

-------------------- Nachträglich editiert von Elodril am 08.09.2011 09:29 -------------------- Nachträglich editiert von Elodril am 08.09.2011 09:36

Please dont feed the trolls.

DerDome (29)


Themen: 115
Beiträge: 5218
Nachricht
Direkt-Link

Am 08.09.2011 um 10:17:

1) die Funktion zur Berechnung der Zufallszahl stimmt nicht (du wirst NIE eine 6 erhalten)

Darum: int zahl = (int) Math.round(((Math.random())*5+1));

dann klappt das auch mit der 6.

Math.random() gibt eine zahl X mit 0.0 <= x < 1. Also hättest du maximal 0.999999999999... * 5 + 1 und das ist 5,99999999999..., was beim casten auf int dann zu 5 wird ohne das round().


2) Benutze ein int[] statt double[], denn double ist für Kommazahlen

 

3) du brauchst die einzelnen Vorkommen nicht in einzelnen Variablen speichern, nutze "%" Beispiel:

1 % 6 = 1

2 % 6 = 2

...

6 % 6 = 0

das kannst du verwenden, um einfach ein Array mit Größe 6 zu nehmen (Index 0 bis 5) und dann mit Hilfe von % das richtige Feld zu bekommen zu einer Zahl. Das erhöhst du dann einfach.

 

Kleines Beispiel für dein Problem: Klick (hier im forum code einfügen rockt mal gar nicht, geht ja alles kaputt -.-)

 

EDIT 12039123: Ich hab da bei dem Beispiel allerdings noch "nur 10 Zahlen" generieren lassen, müsstest du also ne 0 noch dazu packen beim Aufruf ^^

 

 

--------------------

Von einem Administrator editiert am 08.09.2011 10:19
--------------------
Von einem Administrator editiert am 08.09.2011 10:21
--------------------
Von einem Administrator editiert am 08.09.2011 10:23

Du hast deine Meinung? Entschuldige, ich wollte dich nicht mit Tatsachen verwirren.
Ach sie sind Nazi? Bildung hätte das verhindern können.

Tankian
Direkt-Link

Am 08.09.2011 um 21:47:


war halt ne schulaufgabe und da sollen wir ja nur verwenden was wir gelernt haben sonst könnten wirs ja einfach kopieren.

 

Danke an alle war so richtig:)

14 Beiträge • oben