# Help with embedded loops and if statements. Please!

• October 22nd, 2013, 04:26 PM
choyboi
Help with embedded loops and if statements. Please!
Hello, I am trying to code a basic battleship game and need help with nested loops. I am trying to use stored values in first loop in the second loop to put an * instead of an X for the last row and column number.

This is my code so far...

import java.util.Random;
Code :

```public class createBoard {   public static void main(String args[]) { int squareRow = 0; // declares variable squareRow, location of row coordinate int squareColumn = 0; // declares variable squareColumn, location of column coordinate int direction = 0; // declares variable direction, direction of ship 1=north, 2=east, 3=south, 4=west int length = 0; // declares variable length, length of each ship String directionName = ""; // declares string variable directionName Random generator = new Random(); // declares new random variable generator   for(int i = 0; i < 5; i++) // for loop generates random number for variables: loops 5 times { squareRow = generator.nextInt(10) + 1; // generates random number between 1 and 10 for row squareColumn = generator.nextInt(10) + 1; // generates random number between 1 and 10 for column direction = generator.nextInt(4) + 1; // generates random number between 1 and 4 for direction length = generator.nextInt(5) + 1; // generates random number between 1 and 5 for length System.out.println("Row: " + squareRow + ", Column: " + squareColumn + ", Direction: " + directionName + ", Length: " + length);   if(direction == 1) directionName = "North"; // sets direction if 1 to north if(direction == 2) directionName = "East"; // sets direction if 2 to east if(direction == 3) directionName = "South"; // sets direction if 3 to south if(direction == 4) directionName = "West"; // sets direction if 4 to west } System.out.println(); System.out.println(" ABCDEFGHIJ");   int a = 0; for(int x = 1; x <= 10; x++) { a++; if(x == 1 || x == 2 || x == 3 || x == 4 || x == 5 || x == 6 || x == 7 || x == 8 || x == 8 || x == 9) System.out.print(a + " "); if(x == 10) System.out.print(a + " ");   for(int y = 1; y <= 10; y++) { System.out.print("X"); } System.out.println(); } } }```

This is the output....

Row: 1, Column: 9, Direction: South, Length: 4
Row: 10, Column: 5, Direction: West, Length: 4
Row: 6, Column: 9, Direction: West, Length: 1
Row: 1, Column: 1, Direction: West, Length: 3
Row: 3, Column: 3, Direction: East, Length: 2

ABCDEFGHIJ
1 XXXXXXXXXX
2 XXXXXXXXXX
3 XXXXXXXXXX
4 XXXXXXXXXX
5 XXXXXXXXXX
6 XXXXXXXXXX
7 XXXXXXXXXX
8 XXXXXXXXXX
9 XXXXXXXXXX
10 XXXXXXXXXX

This is how the out put should look. There should be an * corresponding with the row and column numbers.

Row: 1, Column: 9, Direction: South, Length: 4
Row: 10, Column: 5, Direction: West, Length: 4
Row: 6, Column: 9, Direction: West, Length: 1
Row: 1, Column: 1, Direction: West, Length: 3
Row: 3, Column: 3, Direction: East, Length: 2

ABCDEFGHIJ
1 *XXXXXXX*X
2 XXXXXXXXXX
3 XX*XXXXXXX
4 XXXXXXXXXX
5 XXXXXXXXXX
6 XXXXXXXX*X
7 XXXXXXXXXX
8 XXXXXXXXXX
9 XXXXXXXXXX
10 XXXX*XXXXX
• October 22nd, 2013, 04:39 PM
GregBrannon
Re: Help with embedded loops and if statements. Please!
Please read the Announcement topic at the top of the sub-forum to learn how to post code in code tags and other useful info for newcomers.

What should the output look like? Copy the output in your first post into a text editor, edit it to be what it should be, and then copy/paste it into a new post or at the end of your original post after you add the code tags.