Я пытаюсь создать программу, которая запрашивает использование для min и max и length массива, и в зависимости от пользовательского ввода max и min (int или double) он создаст массив int или double. Проблема с моим кодом заключается в том, когда я пытаюсь запустить его, компилятор говорит, что переменные не были инициализированы. Я предполагаю, что лучше сделать перегруженный метод, но я не уверен, как это сделать.Java-make int array или double array
import java.util.Scanner;
public class RandomGames{
public static void main(String [] args){
randomArray();
}//end of main
public static void randomArray(){
Scanner input = new Scanner(System.in);
System.out.println("Please enter the length of desired array: ");
int length = input.nextInt();
int [] randomNumbers = new int [length];
System.out.println("Please enter the highest number: ");
if (input.hasNextInt()){
int max = input.nextInt();
}
else if (input.hasNextDouble()){
double max = input.nextDouble();
}
System.out.println("Please enter the Lowest number: ");
if (input.hasNextInt()){
int min = input.nextInt();
}
else if (input.hasNextDouble()){
double min = input.nextDouble();
}
arrayReturn(max, min);
} //end of randomArray
public static void arrayReturn(int max, int min){
System.out.println("This will return "+max+"min :"+ min +"in int");
}
public static void arrayReturn(double max, double min){
System.out.println("This will return "+max+"min :"+ min +"in double");
}
}
Это должен был быть комментарий –
Проблема в том, что если я инициализирую ее вне моей инструкции if, она будет ограничена только одним типом переменной, либо int, либо double. – Aria
Пожалуйста, не путайте «инициализированный» с «объявленным». Это нормально, чтобы инициализировать их внутри, если вы объявили их снаружи. Этот ответ не совсем прав. И с исходным кодом возникает намного больше проблем, чем только этот. –