我的java代码中这个打印功能有什么问题?

时间:2015-04-20 15:51:53

标签: java fixed

我的问题已修复,谢谢你!


所以我正在研究一个我认为应该用C编写的学校项目,但事实证明我必须在java中完成它,现在我设法让它以某种方式工作,但结果我是得到的不是我想要的。如果有人可以看看并告诉我为什么结果是错误的,将不胜感激!

我的Java代码:

public static void printMatrix(int p[][], int n){
               int i, j;
               for ( i=0;i<n;i++){
                   for (j=0;j<3;j++){
                       if (p[i][j]==0) System.out.println(".\t");
                       else System.out.println(p[i][j]+"\t");
                   }
               }

               System.out.println("-------------------");
           }

我正在使用的C代码:

void printMatrix(int **p, int n){
    int i, j;
    printf("\n\n");
    for (i=0 ; i<n ; i++){
            for (j=0 ; j<3 ; j++){
                if (p[i][j] == 0) printf(".\t");
                else printf("%d\t", p[i][j]);
            }
            printf("\n");
      }
    printf("-------------------");
}

我得到的结果:

1   
1   
.   

2   
2   
.   

3   
3   
.   
-------------------

我正在寻找的结果:

1       .       .   
2       .       .   
3       .       .   
------------------- 

2 个答案:

答案 0 :(得分:2)

print()println()是不同的方法:println()添加换行符。

public static void printMatrix(int p[][], int n){
    for (int i = 0; i < n; i++){
        for (int j = 0; j < 3; j++){
             if (p[i][j] == 0) 
                 System.out.print(".\t");
             else 
                 System.out.print(p[i][j]+"\t");
        }
        System.out.println();
    }
    System.out.println("-------------------");
}

答案 1 :(得分:2)

System.out.println(str)str之后打印换行符。请改用System.out.print(str)