Array auf Null setzen

IT-Muslim

Mitglied
Aufgabe: Schreiben Sie die Klasse BattleShip mit einer main-Methode. Legen Sie in dieser ein 2-
dimensionales int-Array der Größe 10x10 an. Setzen Sie anschließend alle Elemente dieses Arrays
auf den Wert 0. Verwenden Sie hierfür ein geeignetes Schleifenkonstrukt.

Lösungsansatz:

public class BattleShip {
public static void main (String [] args) {
int[][] Array = new int[10][10];
Arrays.fill(Array, null);
System.out.println(Array);
}
}

Problem: "Arrays cannot be resolved"

Kann mir jemand weiterhelfen?
 
Zuletzt bearbeitet:

anti-held

Bekanntes Mitglied
Die Meldung, dass Arrays nicht resolved werden kann bedeutet, dass du die Klasse Arrays noch importieren musst:

[c]import java.util.Arrays;[/c]

1.: Java initialisiert alle int Werte innerhalb der Arrays eh mit 0.

2.: Wenn du es aber trotzdem machen musst, musst du in einer Schleife über dein 2d-array iterieren und für jedes 1d-array [c]Arrays.fill(<arrayvariablenname>, 0);[/c] aufrufen
 

IT-Muslim

Mitglied
Java:
import java.util.Arrays;

public class BattleShip {
	public static void main (String [] args) {
		int[][] Array = new int[10][10];
		String[] myArray = new String[]{"0"};
		for (String s : myArray) {
		    System.out.println(s);
		}
	}
}

Also als Ausgabe kommt 0 heraus, stimmt das nun?

EDIT: ich sehe gerade, dass im zweiten Aufgabenteil gefordert wird 10 Zeilen mit 10 Nullen auszugeben. Ich versuche das jetzt mal.
 
Zuletzt bearbeitet:
T

trez

Gast
Keine Ahnung ob das für dich stimmt, aber ich wäre damit nicht zufrieden ...

Vorsicht - es folgt Sarkasmus von einem der eigentlich keine Ahnug von Java-Programmierung hat:

Mit einem ähnlichen Programmierstil kann ich dir auch beweisen, dass eine Division durch 0 funktioniert

Java:
		int res;
	try {
		res = 5 / 0;
	} catch (Exception e) {
		res = 42;
	}
	System.out.println(" 5 / 0 = " + res);
 

IT-Muslim

Mitglied
Keine Ahnung ob das für dich stimmt, aber ich wäre damit nicht zufrieden ...

Vorsicht - es folgt Sarkasmus von einem der eigentlich keine Ahnug von Java-Programmierung hat:

Mit einem ähnlichen Programmierstil kann ich dir auch beweisen, dass eine Division durch 0 funktioniert

Java:
		int res;
	try {
		res = 5 / 0;
	} catch (Exception e) {
		res = 42;
	}
	System.out.println(" 5 / 0 = " + res);

War das jetzt eine Hilfe von dir? Ich verstehe das nicht.
 

Gucky

Top Contributor
@IT-Muslim
Anstatt deine Arrayeinträge alle auf 0 zu setzen, hast du ein neues Array vom Typ String (????) gemacht und dieses mit dem String "0" initialisiert. Für dich sah es womöglich logisch aus...für uns nicht ;) das ist es, was trez meinte.

PS: 0 != null
 
T

trez

Gast
War das jetzt eine Hilfe von dir? Ich verstehe das nicht.

Das war keine Hilfe sondern ein Wink mit dem Zaunpfahl.

WAS willst du machen?
Erst willst du Arrays initialisieren und danach mit sysout(0) beweisen, dass da auch 0 drin steht.
Solltest du nicht eher den Inhalt des Arrays ausgeben? :bahnhof:


Manchmal muss einfach etwas raus: Lern erst mal programmieren bevor du mit codieren beginnst.
 
T

trez

Gast
hth
Java:
package gaga;

public class HdI {

	public static void main(String[] args) {
		 int[][] array = new int[5][3];
		 for (int i=0; i<5; i++) {
			 for (int j=0; j<3; j++) {
				 array[i][j] = 42;
			 }
		 }
		 for (int[] ia:array) {
			 for (int i : ia ) {
				 System.out.print(i + " ");
				 i = 42;
			 }
			 System.out.println();
		 }
	}
}
 

Neue Themen


Oben