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

我的java代码中的这个打印函数有什么问题?,java,fixed,Java,Fixed,我的问题解决了,谢谢大家 所以我在做一个学校的项目,我认为应该用C语言编写,但结果我不得不用java语言编写,现在我设法让它工作起来了,但我得到的结果不是我想要的。如果有人能看一看,告诉我为什么结果是错误的,我们将不胜感激 我的Java代码: public static void printMatrix(int p[][], int n){ int i, j; for ( i=0;i<n;i++){

我的问题解决了,谢谢大家


所以我在做一个学校的项目,我认为应该用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("-------------------");
           }
我想要的结果是:

1       .       .   
2       .       .   
3       .       .   
------------------- 
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("-------------------");
}
publicstaticvoidprintmatrix(int p[][],int n){
对于(int i=0;i
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("-------------------");
}
publicstaticvoidprintmatrix(int p[][],int n){
对于(int i=0;i
System.out.println(str)
str
之后打印一个换行符。改用
System.out.print(str)

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

你得到了什么结果?谢谢你的快速回答,我刚刚在帖子中添加了结果!)您遇到的问题可能在println中。此方法打印输出和新的line@FredLarson我已经删除了我的“谢谢”帖子,谢谢你给我的提示,但我实际上需要15位以上的代表投票给我一个答案,所以我想我会在离开之前感谢所有人。:)尽管如此,在评论中感谢他人通常是可以容忍的。延迟一段时间后,你应该可以接受答案。你得到了什么结果?谢谢你的快速回答,我刚刚在帖子中添加了我得到的结果!:)您遇到的问题可能在println中。此方法打印输出和新的line@FredLarson我已经删除了我的“谢谢”帖子,谢谢你给我的提示,但我实际上需要15位以上的代表投票给我一个答案,所以我想我会在离开之前感谢所有人。:)尽管如此,在评论中感谢他人通常是可以容忍的。您应该能够在延迟后接受回答,而不是向println()发送调用;我会打电话给print(“\n”)。它们是一样的,但是println();打印一个空字符串,然后打印一个新行字符,而print(“\n”)只打印一个新行字符。对于您的回答,我无法向上投票,因为我还没有+15代表,所以我想正确地感谢您至少!:)@克雷格帕金森并不完全正确
println()
只在流中放入一个行分隔符,没有额外的空字符串。查看源代码,而不是发送对println()的调用;我会打电话给print(“\n”)。它们是一样的,但是println();打印一个空字符串,然后打印一个新行字符,而print(“\n”)只打印一个新行字符。对于您的回答,我无法向上投票,因为我还没有+15代表,所以我想正确地感谢您至少!:)@克雷格帕金森并不完全正确
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("-------------------");
}