Java 数组在显示结果时是否跳过空位置?
我试着创造弗洛伊德的三角形,看起来像这样Java 数组在显示结果时是否跳过空位置?,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,我试着创造弗洛伊德的三角形,看起来像这样 1 2 3 4 5 6 7 8 9 10 if( i<=j ){ System.out.print(value+" "); value++; } 但在练习时,我输入错误,并使用此代码创建了一个不同类型的三角形 class Main { public static void main(String[] args) { int value=1;
1
2 3
4 5 6
7 8 9 10
if( i<=j ){
System.out.print(value+" ");
value++;
}
但在练习时,我输入错误,并使用此代码创建了一个不同类型的三角形
class Main {
public static void main(String[] args) {
int value=1;
int[][] arr = new int[4][4];
for(int i=0;i<4;i++){
for(int j=0;j<4;j++) {
if( i<=j ){
System.out.print(value+" ");
value++;
}
}System.out.println();
}
}
}
if( i<=j ){
System.out.print(value+" ");
value++;
}
现在我的问题是,在阅读有关数组的内容时,我读到特定位置的特定值会被打印出来
if( i<=j ){
System.out.print(value+" ");
value++;
}
如果这是真的,那么这个代码的输出应该是
[1][2][3][4]
[x][5][6][7]
[x][x][8][9]
[x][x][x][10]
if( i<=j ){
System.out.print(value+" ");
value++;
}
数组在显示结果时是否跳过这些空字段?
请帮助理解这一点否,数组不会跳过这些值
if( i<=j ){
System.out.print(value+" ");
value++;
}
跳过它们是因为您编写了代码以这种条件的形式跳过它们:
if( i<=j ){
System.out.print(value+" ");
value++;
}
如果(i恐怕情况有误,应该是相反的:
if( i<=j ){
System.out.print(value+" ");
value++;
}
if( j <= i ){
System.out.print(value+" ");
value++;
}
if(j它会将0打印为0,因为当数组初始化时,所有值都设置为零,如果您打印,它们会这样打印。下面是一个链接
if( i<=j ){
System.out.print(value+" ");
value++;
}
不,正如@另一个人所说的,是if条件跳过了。
if( i<=j ){
System.out.print(value+" ");
value++;
}
试试这个程序-
if( i<=j ){
System.out.print(value+" ");
value++;
}
public class MyClass {
public static void main(String args[]) {
int value=1;
int[][] arr = new int[4][4];
for(int i=0;i<4;i++){
for(int j=0;j<4;j++) {
if( i<=j ){
System.out.print(value+" ");
System.out.print("\t");
value++;
} else {
System.out.print(0);
System.out.print("\t");
}
}System.out.println();
}
}
}
公共类MyClass{
公共静态void main(字符串参数[]){
int值=1;
int[]arr=新int[4][4];
对于(int i=0;i1)。您的代码不使用数组2。没有空字段,因为文本总是从左到右打印。终端不知道您正在数组上循环,无法尝试对齐文本,它只能显示您在print/println语句中输入的内容