Zum Forum springen
Benachrichtigungen
Alles löschen

kurze JAVA Frage

32 Beiträge
13 Benutzer
0 Reactions
1,787 Ansichten
n0ghtmare
Beigetreten: 28.11.2010
Poker Player

Original von marketoring

Original von FiftyBlume

Random random = new Random();
for(j=0; j<10; j++)

{
for(i=0; i<jaggedArray[j].size(); i++)
{jaggedArray[j]= (random.nextInt(9)) + 2;}

}

fyp

fyp

Generiert dir eine Zufallszahl zwischen 0-8 und addiert dann 2 dazu, sodass du eine Zufallszahl also zwischen 2-10 hast.
Für weitere Infos über random.nextInt(): http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Random.html#nextInt%28%29

Der gesamte Code erstellt ein 10 x 10 Array und füllt jedes Element mit einer Zahl zwischen 2 und 10.


Antwort
Zitat
n0ghtmare
Beigetreten: 28.11.2010
Poker Player

Original von Kommutierung
erstellt das dann zB sowas:
(angenommen in jedem erstellten "feld" ist ein -, und x länge random)
----
-------
---
----------
----------
-------
------
--
---------
--------

Edit:
int[][] jaggedArray = new int[10][10]
bedeutet doch das ein 10x10 array erstellt wird und kein 10xrandom, oder?

Dann musst du dich auch konkreter ausdrücken. Du willst also einfach nur ein 10 x random array erstellen, ohne es zu initialisieren? Dann wäre der Ansatz:

Random random = new Random();
int[][] jaggedArray = new int[10][(random.nextInt(9)) + 2];


Antwort
Zitat
Kommutierung Themenstarter
Kommutierung
Beigetreten: 09.08.2007
Oldschool Grinder

es sollte zB so sein wie mit den ---
das array ist fix 10 hoch, nur die breite ist random
[0][7]
[1][5]
[2][9]
...
[10][3]

also in pseudo/fail code iwas wie
for (int i=0; i<10; i++) {
jaggedArray = jaggedArray[random];
}


Antwort
Zitat
FiftyBlume
Beigetreten: 06.06.2010
PokerStrategist

Dann musst du in der Schleife ein Array erstellen,

z.B.

int[] temp = new int[(random.nextInt(9)) + 2];
jaggedArray=temp;

Bin aber gerade nicht sicher, ob Java da n Fehler aufwirft, aber so ungefähr sollte es funktionieren.


Antwort
Zitat
n0ghtmare
Beigetreten: 28.11.2010
Poker Player

Original von FiftyBlume
Dann musst du in der Schleife ein Array erstellen,

z.B.

int[] temp = new int[(random.nextInt(9)) + 2];
jaggedArray=temp;

Bin aber gerade nicht sicher, ob Java da n Fehler aufwirft, aber so ungefähr sollte es funktionieren.

Jopp, so wirds gemacht.


Antwort
Zitat
DaCunha01
Beigetreten: 25.11.2007
PokerStrategist

Da ich keinen neuen Thread öffnen möchte stelle ich mal hier meine Frage:

Ich möchte über eine toString Methode innerhalb einer Subklasse die Superklasse ausgeben - aber ich finde leider nirgendwo eine entsprechende Antwort. Hoffe dass mir hier jemand weiterhelfen kann.

Die Methode sieht folgendermaßen aus und das fett gedruckte ist mein Problem:

public java.lang.String toString() {
return "Object: " + getClass().getName() + " Inherited from: " + getOrigin().getClass() + " Delta: " + this.delta;
}

Was muss ich schreiben, damit der Name der Superklasse ausgegeben wird?


Antwort
Zitat
crt32
Beigetreten: 17.02.2007
Elite Grinder

getSuperclass() schon probiert?


Antwort
Zitat
DaCunha01
Beigetreten: 25.11.2007
PokerStrategist

Ja, leider muckt der Compiler dann rum.


Antwort
Zitat
crt32
Beigetreten: 17.02.2007
Elite Grinder

Aha, alles klar...


Antwort
Zitat
DaCunha01
Beigetreten: 25.11.2007
PokerStrategist

Mir leider nicht. Das Programm läuft sonst einwandfrei, nur diese kleine Ausgabe will nicht so wie ich das gerne hätte. getSuperclass() war auch meine erste Überlegung, umso mehr verwirrt es mich, das es nicht klappt.


Antwort
Zitat
Kreatief
Beigetreten: 28.01.2006
Oldschool Grinder

xxx.getSuperclass().getName();

http://openbook.galileodesign.de/javainsel5/javainsel21_001.htm#Rxx747java21001040008AB1F049212


Antwort
Zitat
DaCunha01
Beigetreten: 25.11.2007
PokerStrategist

Original von Kreatief
xxx.getSuperclass().getName();

http://openbook.galileodesign.de/javainsel5/javainsel21_001.htm#Rxx747java21001040008AB1F049212

Sauber! Vielen Dank! :f_thumbsup:


Antwort
Zitat
Teilen: