首页 > 解决方案 > 在while循环中输入带有System.out.format的命令

问题描述

我写了这个简单的 java 程序,但输出不正确。我发现如果我使用 System.out.println 而不是 System.out.format 问题就解决了。但我想在 while 循环中使用 System.out.format 并理解为什么会这样?该程序从用户和排序主题中提供数组成员。(我的 IDE 是 linux 中的 netbeans 11.3)

package array_example2;
import java.util.Scanner;
import java.util.Arrays;
public class Main { 
public static void main(String[] args) {       
    Scanner input = new Scanner(System.in);
    System.out.println("Enter Array length : ");
    int n = input.nextInt();
    int[] x = new int[n];              
    int i=0;
    while (i<n)
    {            
        System.out.format("Enter Array member %d",i);
        x[i] = input.nextInt();
        i++;
    }
    MySort.mysort(x);
    System.out.format("Array x = %s", Arrays.toString(x));        
}    

MySort 类:

package array_example2;
import java.util.Arrays;
public class MySort {
public static void mysort(int...a){
    Arrays.sort(a);

}

输出 :

Enter Array length : 
3
67
89
23
Enter Array member 0Enter Array member 1Enter Array member 2Array x = [23, 67, 89]
BUILD SUCCESSFUL in 24s

标签: java

解决方案


使用\n%n表示字符串末尾的新行。System.out.format 不会像 System.out.println 那样创建新行。

System.out.format("Array x = %s%n", Arrays.toString(x));     

推荐阅读