[英]Why is my method printing null instead of the array?
这段代码可能有什么问题? 练习的测试系统抛出如下错误
调用 getIntegers() 方法会打印出“null”的值,但是应该是“[1,2,3,4,5,6]”。 提示:检查您的空格和/或拼写。
可能是private static scanner scanner = new scanner (System.in);
因为我在 main 中使用它,但系统不允许添加 main,因为它默认提供它?
import java.util.Scanner;
import java.util.Arrays;
public class formato {
public static int[] getIntegers(int capacity) {
static Scanner scanner = new Scanner(System.in);
int[] array = new int[capacity];
System.out.println("Enter "+capacity+" integer values:\r");
for(int i = 0; i<array.length ; i++){
array[i] = scanner.nextInt();
}
return array;
}
public static void printArray(int[] array) {
for (int i = 0; i < array.length; i++) {
System.out.println("Element " + i + " contents " + array[i]);
}
}
public static int[] sortIntegers(int[] array) {
// int[] sortedArray = new int[array.length];
// for(int i=0; i<array.length; i++) {
// sortedArray[i] = array[i];
int[] sortedArray = Arrays.copyOf(array, array.length);
// }
boolean flag = true;
int temp;
while (flag) {
flag = false;
for (int i = 0; i < sortedArray.length - 1; i++) {
if (sortedArray[i] < sortedArray[i + 1]) {
temp = sortedArray[i];
sortedArray[i] = sortedArray[i + 1];
sortedArray[i + 1] = temp;
flag = true;
}
}
}
return sortedArray;
}
}
定义一个 class 常量:
public static final Scanner scanner = new Scanner(System.in);
这将对您有所帮助。
否则只需使用Scanner scanner = new Scanner(System.in);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.