我的朋友试图教我Java并且作为他的挑战之一,他希望我在10 x 10网格中创建一个从1,1到10,10的有序对的网格。看起来应该是这样的:
1,1 1,2 1,3 1,4 1,5 1,6 1,7 1,8 1,9 1,10
2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9 2,10
...
10,1 10,2 10,3 10,4 10,5 10,6 10,7 10,8 10,9 10,10
但我似乎只能按以下格式打印出有序对:
1,1
1,2
1,3
1,4
...
10,10
我怎么能解决这个问题?
到目前为止我的代码是:
public class project{
public static void main(String []args){
for (int x=1;x<=10; x=x+1)
{
for (int y=1;y<=10;y=y+1)
{
System.out.println(x + "," + y);
}
System.out.println("\n");
}
}
}
答案 0 :(得分:2)
在内循环中使用System.out.print
让它们在同一行上打印(可能在末尾添加一个空格)。
Println
与Print
的作用相同,但也会为其添加换行符。
我们在做的时候注意:
y=y+1
可以缩短为y++
。
答案 1 :(得分:0)
Jeroen的建议很明显。另一种方法是,对于每个“行”数据,使用您的X,Y信息构建一个字符串,然后当循环完成迭代“列”时,每行只吐一次。像这样:
for (int x=1;x<=10; x=x+1)
{
String rowString = "";
for (int y=1;y<=10;y=y+1)
{
rowString += x + "," + y;
}
System.out.println(rowString);
}