java:避免为输出的最后一行打印新行

java:避免为输出的最后一行打印新行,java,formatting,Java,Formatting,我正在打印文件中长数字之间的差异,并在循环中列出结果。但我不想打印最后一个打印结果的换行符 下面是打印结果的代码: public static void main(String[] args) { Scanner sc; long a = 0, b = 0; try { Scanner input = new Scanner(System.in); File file = new File(inp

我正在打印文件中长数字之间的差异,并在循环中列出结果。但我不想打印最后一个打印结果的换行符

下面是打印结果的代码:

public static void main(String[] args) {

        Scanner sc;
        long a = 0, b = 0;
        try {
            Scanner input = new Scanner(System.in);

            File file = new File(input.nextLine());

            input = new Scanner(file);

            while (input.hasNextLine()) {
                String line = input.nextLine();
                String split[] = line.split("\\s+");
                a = Long.parseLong(split[0]);
                b = Long.parseLong(split[1]);
                System.out.println(Math.abs(a-b));
            }
            input.close();

        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            System.out.println(e.getMessage());
        }
我现在得到的输出是:

2
71293781685339
12345677654320
最后有一条新线。
打印最后一个结果时,如何避免换行?有什么想法吗?

在打印新行之前,您可以检查是否还有输入需要处理

while (input.hasNextLine()) {
    String line = input.nextLine();
    String split[] = line.split("\\s+");
    a = Long.parseLong(split[0]);
    b = Long.parseLong(split[1]);
    System.out.print(Math.abs(a-b)); //Print without a newline

   if (input.hasNextLine()) {
       System.out.println();//Print new line if there is more input left
   }
}

使用
System.out.println(line)
打印第一行,使用
System.out.Print(“\n”+line)
打印其余行