Informatik

1.141 Mitglieder, 5.051 Beiträge

Java / Schiffe versenken: Wie kann ich dafür sorgen, dass die Schiffe nur horizontal und vertikal platziert werden können?

Ich habe diesen Schiffe-versenken-Code geschrieben. Jetzt weiß ich allerdings nicht, wie ich dafür sorgen kann, dass die Schiffe nur horizontal und vertikal plaziert werden können. Das soll durch if -Verzweigungen geregelt werden. import javax.swing.JOptionPane; public class Schiffeversenken { public static void main(String[] args) { // Spielfelderstellung int größefeld = Integer.parseInt(JOptionPane.showInputDialog("Wie groß soll das Spielfeld sein?")); String[][] spielerarray = new String[größefeld][größefeld]; // Spielfeld leere Felder Befüllung for (int i = 0; i < spielerarray.length; i++) { for (int j = 0; j < spielerarray.length; j++) { spielerarray[i][j] = "o"; } } // Anzahl Schiffe int anzahlschiffe = Integer.parseInt(JOptionPane.showInputDialog("Wie viele Schiffe hast du?")); for (int i = 0; i < anzahlschiffe; i++) { // Größe des Schiffes int größeschiff = Integer.parseInt(JOptionPane.showInputDialog("Wie groß ist dein " + (i + 1) + " Schiff?")); for (int j = 0; j < größeschiff; j++) { // Koordinateneingabe JOptionPane.showMessageDialog(null, "Wähle Koordinaten von 0-" + (spielerarray.length - 1)); int koordinate1; int koordinate2; koordinate1 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 1 Koordinate des "+ (j + 1) + " Teil deines Schiffs?")); koordinate2 = Integer.parseInt(JOptionPane.showInputDialog("Was ist die 2 Koordinate des "+ (j + 1) + " Teil deines Schiffs?")); spielerarray[koordinate1][koordinate2] = "x"; } } // Ausgabe Spielfeld for (int i = 0; i < spielerarray.length; i++) { for (int x = 0; x < spielerarray.length; x++) { System.out.print(spielerarray[x][i] + " "); } System.out.println(); } } }

199stes Subnetz berechnen?

Was geht jungs, ich hab einen IT Lehrer der mittlerweile genervt von mir ist, deswegen ist das eine meiner letzten Lösungen. Wir haben eine Aufgabe gemacht, bei der man das 199ste Subnetz herausfinden soll: IP: 192.170.0.0 Subnetz: 255.255.128.0 Mein Rechenweg: 2hochx = 200 x = 8 (der Lehrer hat noch 192-128=71 gerechnet, ich weiß aber nicht warum) Das Ergebnis ist 192.170.99.128 Subnetz: 192.170.99.255 (eigentlich klar warum) Aber wie komme ich auf die 99.128? Vielen Dank im Voraus!!