Array auslesen und und Werte in ein anderes array anlegen

Didi_87

Mitglied
Hallo zusammen,

erst einmal möchte ich sagen, dass ich mich mit Java noch nicht so recht auskenne. Aus Übungszwecken habe ich mir eine Aufgabe ausgesucht:

Schreiben Sie eine Applikation.
Die Applikation enthält zwei Arrays vom Datentyp int. Im ersten Array sollen 1000 Zufallswerte zwischen 0 und 255 gespeichert werden. Das zweite Array hat die Größe 256 und repräsentiert die Werte 0 bis 255.
Ist z.B. im ersten Array der Zufallswert 120 fünfmal vorhanden, dann soll das entsprechende Element des zweiten Arrays den Wert 5 haben.

Hinweis: Erzeugen Sie zum Generieren der Zufallszahlen ein Objekt der Klasse Random.

Beispiel mit anderen Dimensionen:
array1 [1] [2] [0] [1] [2] [1] [1] [1]
array2 [1] [5] [2] [0]

Bei meiner Überlegung sagt mir der Compiler:
java:29: '.class' expected

feld1 = int j;
^

Da die Frage, was bedeutet diese Fehlermeldung und wie könnte man das umgehen.

Ich möchte nur Tipps bekommen und keine Musterlösungen, da ich einen Lerneffekt erzielen will.

Vielen Dank schon mal

Java:
import java.util.*;

class Blatt2aAufgabe2{
	
	public static void main(String args[]){
		//1.Array
		int feld1[];
		feld1 = new int[1000];
		
		for( int i = 0; i < feld1.length; i++){
			feld1[i] = new Random().nextInt(256);
			System.out.print(feld1[i]+"\t" );
		}
		
		System.out.println(" ");
		
		//2.Array
		int feld2[];
		feld2 = new int[265];
		
		for( int i = 0; i < feld1.length; i++){
			int k = 0;
			feld1[i] = int j;
			feld2[j] = k + 1;
			
			System.out.print(feld2[j]+"\t");
		}
	}
	
}
 
Ohne mir die Funktion anzuschauen, das kann nicht richtig sein:

Java:
feld1[i] = int j;

Java:
feld1[i] = 0;
 
Du versuchst gleichzeitig die Variable j zu initialisieren und zuzuweisen. Das geht nicht.

Java:
int j = 0;
feld1[i] = j;

Das ginge, hätte aber den selben Effekt wie feld1 = 0; feld2[0] = k + 1; System.out.print(feld2[0]+"\t");

Ich denke du wolltest int j = feld1; schreiben.
 
Ich denke Du wolltest so etwas machen:

Java:
		for(int i=0;i<feld1.length;i++) {
			for(int j=0;j<feld2.length;j++) {
				if(feld1[j]==i)
					feld2[i]++;
			}
			System.out.println("Die Zahl "+i+" kommt "+feld2[i]+" mal vor");
		}

mit den Funktionen der Bibliothek Arrays kannst Du die Arrays auch ausdrucken und nachzählen 🙂

Java:
		System.out.println(Arrays.toString(feld1));
		System.out.println(Arrays.toString(feld2));

Pentalon
 
Dankeschön. Es hat geklappt.

Aber noch mal auf die Ausgangsfrage.

Rein interessehalber, was bedeutet denn die Fehlermeldung:
'.class' expected
und wie kann das beheben?

Oder kann man das nicht pauschal sagen?
 

Zurück
Oben