有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么这个println命令不开始一个新行?

以下是相关代码:

public static void printBoarders (Territory x) 
{
    int t = 0 ; 
    int n = 0 ; 
    for (int i = 0; i<x.borders.length; i++)
    {
        if (x.borders[i] == -1) 
            t = i ; 
    }
    for (int j = 0; j<x.borders.length; j++) 
    {
        if (x.borders[j] == 1) 
            n++ ;
    }

    Territory.translate (t) ;
    System.out.print (" has " + n + " borders: ") ;
    Territory.translate (x.borders) ;
    System.out.println (" ") ; 
}

当我运行这个程序时,我将所有内容都放在一条线上,而不会中断。为什么System.out.println (" ") ;不创建换行符

以下是输出结果的示例:

Northwest Territory, Alberta, Kamchatka, hidavid-names-macbook-pro:~ davidname$

编辑:问题是这个方法从未被调用。我要替换的另一个是。一切都很好


共 (6) 个答案

  1. # 1 楼答案

    我也看不到它在打印has " + n + " borders:,所以我要说,由于某种原因,代码从未执行过

  2. # 2 楼答案

    只要快速扫描这段代码,就好像找到了println()。事实上,我甚至不知道你是如何得到你的输出的。这是完整的代码吗。这是编写小型单元测试的好例子

  3. # 3 楼答案

    只有最后一个打印是println,第一个是just print,因此只有空格“”被打印到末尾的新行

    编辑:你是说当你多次调用它时?Y

  4. # 4 楼答案

    我只能看见

    System.out.print (" has " + n + " borders: ") ;
    

    事实上,我不明白你为什么会看到其他的输出

    " has 5 borders: "

  5. # 5 楼答案

    上面的代码snippit将开始一个新行。问题是没有调用printBoarders方法

  6. # 6 楼答案

    您显示的代码都不是输出“西北地区、阿尔伯塔省、堪察加省”的代码

    这是什么。你做什么?它一定在里面