我写了这个简单的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
答案 0 :(得分:0)
使用\n
或%n
在字符串的末尾指示新行。 System.out.format不会像System.out.println那样创建新行。
System.out.format("Array x = %s%n", Arrays.toString(x));
答案 1 :(得分:0)
在while循环中,对于overflow: auto
方法调用,您需要添加新行,并使用%n触发扫描仪以进行更多输入。
System.format