我正在尝试编写一个在JAVA中绘制交叉的方法。 (见照片的例子)。
以下是示例:
几个问题:
如何通过参数为数组提供尺寸?似乎Eclipse需要一个数字而不是数组维度的变量。我认为可以给方法一个参数,数组的尺寸应该有多大。
不知道如何告诉循环哪个数组位置应该是X而哪个不是。
到目前为止,这是我的代码构思...它实际上不应该做什么:)我用“1”而不是“X”,所以我可以使用int数组。
public void drawCross(int number){ int i,j; int array [] [] = new int [40] [40];
for(j=1;j<=number;j++){
for(i=1;i<=number;i++){
if(array[i]==array[j]){
array[i][j]=1;
System.out.print(array[i][j]+" ");
}
}
System.out.print("\n");
}
}
提前谢谢你。 皮特
答案 0 :(得分:2)
因为这似乎不是功课,解决方案
int[][] array = new int[number][number];
for (int i = 0; i < number; i++){
for (int j = 0; j < number; j++){
if (i == j || i == number - 1 - j) {
array[i][j] = 1;
}
System.out.print(array[i][j] + " ");
}
System.out.print("\n");
}
int[][] a
是传统方式。 int a[][]
是C程序员的语法糖。i
中通常是行,j
是列,因此切换了for循环。||
是OR,&&
是AND(你还不知道)。array
所以:
boolean isOnDiagonal = i == j || i == number - 1 - j;
System.out.print(isOnDiagonal ? "X " : ". "); // if-then-else operator.