Objekte - Logik

Neue Frage »

Auf diesen Beitrag antworten »
Java_Beginner Objekte - Logik

Meine Frage:
Hallo,

ich habe die Aufgabe, dass ich ein Programm RechteckListe schreiben soll, das 1000 Rechteck-Objekte mit zufälligen Kantenlängen im Bereich 1-10 erzeugt und diese in einem Array speichert.

Die Methode arrayFuellen() habe ich nur eingebaut, weil eine reine for-Schleife ständig als Fehler angezeigt wird? Woran kann dies liegen?

Meine Ideen:
Habe bis jetzt folgenden Code, bin mir aber total unsicher in wie weit dieser stimmt. Werft doch bitte einmal einen Blick darauf :-)

Vielen Dank.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:

public class RechteckListe2 
{
    public static void main(String[] args) 
    {
    
    }
}


class Rechtecke1000
{
    RechteckListe2 [] array = new RechteckListe2 [1000];
    int zufall1 = (int) (10*Math.random()+1);
    int zufall2 = (int) (10*Math.random()+1);
    
    public void arrayFuellen()
    {
        for (int i=0;i<array.length;i++)
        {
            array = new RechteckListe2[zufall1*zufall2];
        }
    }
 
Auf diesen Beitrag antworten »
eulerscheZahl

Eine Schleife muss in eine Methode, du darfst sie nicht in die Klasse direkt schreiben. So funktioniert Java eben.

Du legst in jedem Schleifendurchlauf ein neues array an. Stattdessen solltest du aber was ist das Array reinschreiben.

Ich hoffe, der Code ist nicht zu kompliziert, wenn doch kannst du gerne nachrfragen.
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
public class Main {
	public static void main(String[] args) {
		Rechteck[] array = new Rechteck[1000];
		for (int i = 0; i < array.length; i++) {
			int zufall1 = (int) (10 * Math.random() + 1);
			int zufall2 = (int) (10 * Math.random() + 1);
			array[i] = new Rechteck(zufall1, zufall2);
		}
		System.out.println(array[0].breite);
		System.out.println(array[1].breite);
	}
}


code:
1:
2:
3:
4:
5:
6:
7:
8:
class Rechteck {
	int breite, hoehe;

	public Rechteck(int breite, int hoehe) {
		this.breite = breite;
		this.hoehe = hoehe;
	}
}
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »