打印嵌套循环时遇到问题
Having issues with printing a nested loop
我正在尝试打印一个嵌套循环,它将打印两个岛并根据输入内容进行缩放。目标是用感叹号 (!) 构成左岛,用星号 (*) 对角线,用问号构成右岛,用波浪线 (~) 构成海洋。对我的代码的任何评论都会有所帮助。
我正在尝试做的事情的例子。
Input a size (must be larger than 1):
5
0 !!~~*
1 !!~*~
2 ~~*~~
3 ~*~??
4 *~~??
这是我的代码:
import java.util.Scanner;
public class Two_Islands {
public static void main(String[] args) {
Scanner kbinput = new Scanner(System.in);
//Create Size variable
System.out.println("Input a size: ");
int n = 0; n = kbinput.nextInt();
for (int r = 0; r < n; r++) {
System.out.print(r);
for (int c = 0; c < n; c++) {
if (r+c == n-1) {
System.out.print("*");
} else if (r+c == n-2) {
System.out.print("!");
} else if (r+c == n+2) {
System.out.print("?");
} else {
System.out.print("~");
}
}
System.out.println();
}
kbinput.close();
}
}
这是我当前的输出。
Input a size:
5
0~~~!*
1~~!*~
2~!*~~
3!*~~?
4*~~?~
尝试以下操作:
else if(r+1 < n/2 && c+1 < n/2)
{
System.out.print("!");
}
else if(r+1 > n-n/2 && c+1 > n-n/2)
{
System.out.print("?");
}
我正在尝试打印一个嵌套循环,它将打印两个岛并根据输入内容进行缩放。目标是用感叹号 (!) 构成左岛,用星号 (*) 对角线,用问号构成右岛,用波浪线 (~) 构成海洋。对我的代码的任何评论都会有所帮助。
我正在尝试做的事情的例子。
Input a size (must be larger than 1):
5
0 !!~~*
1 !!~*~
2 ~~*~~
3 ~*~??
4 *~~??
这是我的代码:
import java.util.Scanner;
public class Two_Islands {
public static void main(String[] args) {
Scanner kbinput = new Scanner(System.in);
//Create Size variable
System.out.println("Input a size: ");
int n = 0; n = kbinput.nextInt();
for (int r = 0; r < n; r++) {
System.out.print(r);
for (int c = 0; c < n; c++) {
if (r+c == n-1) {
System.out.print("*");
} else if (r+c == n-2) {
System.out.print("!");
} else if (r+c == n+2) {
System.out.print("?");
} else {
System.out.print("~");
}
}
System.out.println();
}
kbinput.close();
}
}
这是我当前的输出。
Input a size:
5
0~~~!*
1~~!*~
2~!*~~
3!*~~?
4*~~?~
尝试以下操作:
else if(r+1 < n/2 && c+1 < n/2)
{
System.out.print("!");
}
else if(r+1 > n-n/2 && c+1 > n-n/2)
{
System.out.print("?");
}