У меня проблема с моим кодом, и я не могу понять, что не так. В основном проект, над которым я работаю, хочет, чтобы я использовал статические методы для выполнения нескольких различных задач с использованием массивов. То, что я застрял сейчас, в частности, это печать моего массива.Нужно печатать массив другим способом
Первое, что мне нужно было сделать, это задать пользователю размер своего массива, а затем ввести данные. После этого я должен принять минимальное значение и максимальное значение, а затем поменять их. Я почти уверен, что мой код правильно, но когда я вызываю метод, у меня возникает ошибка. Это то, что я до сих пор, и я получаю сообщение об ошибке на линии 42 (начало метода свопа), 66 и 69:
public class ArraysStaticMethods {
static int[] array;
static public int arraySize;
static public int max;
static public int min;
//will create an array with user's input
private static int[] readInputs(int arraySize){
Scanner keyboard = new Scanner(System.in);
System.out.print("Enter the length of your array: ");
arraySize = keyboard.nextInt();
array = new int[arraySize];
for (int i = 0; i <= array.length - 1; i++) {
System.out.print("Enter an integer: ");
int num = keyboard.nextInt();
array[i] = num;
}
//to test
System.out.println("Your array before:");
System.out.println(Arrays.toString(array));
return array;
}
//finds index of max and min values and swaps them
public static int[] swap(int[] array){
max = array[0];
min = array[0];
int maxIndex = 0;
int minIndex = 0;
for(int index = 1; index < array.length; index++){
if (array[index] > max){
max = array[index];
maxIndex = index;
}
if (array[index]<min) {
min = array[index];
minIndex = index;
}
}
array[maxIndex] = min;
array[minIndex] = max;
System.out.println("Your array after:");
System.out.println(Arrays.toString(array));
return array;
}
public static void displayOutputs(){
readInputs(arraySize);
swap(array);
}
public static void main(String[] args) {
displayOutputs();
}
}
Вы забыли рассказать нам, какие ошибки вы получаете и на каких линиях вы их получаете. – David
Ошибки находятся в строках 42, 66 и 69, и в нем сказано «исключение в потоке» main «java.lang.NullPointerException at», а затем эти строки. –
@ A.Brian http://stackoverflow.com/questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it – rafid059