public class Sort {
public static void main(String[] args) {
int i = 1;
Scanner input = new Scanner(System.in);
// prompts the user to get how many numbers need to be sorted
System.out.print("Please enter the number of data points: ");
int data = input.nextInt();
// this creates the new array and data sets how large it is
int [] userArray = new int[data];
// this clarifies that the value is above 0 or else it will not run
if (data < 0) {
System.out.println("The number should be positive. Exiting.");
}
// once a value over 0 is in, the loop will start to get in all user data
else {
System.out.println("Enter the data:");
}
while (i <= data) {
int userInput = input.nextInt();
userArray[i] = userInput;
i++;
}
// this calls the sortArray method to sort the values entered
sortArray(userArray);
// this will print the sorted array
System.out.println(Arrays.toString(userArray));
}
}
Ich habe die Array-Größe gleich dem, was der Benutzer eingibt für wie viele Variablen sie eingegeben werden sortiert werden. Aus irgendeinem Grund möchte Java nur eine feste Nummer anstelle der Nummer, die vom Benutzer eingegeben wird. Gibt es eine Möglichkeit, dies zum Funktionieren zu bringen?Warum kann ein Benutzer nicht aufgefordert werden, die Array-Größe anzugeben?
Was genau ist das Problem? * "Java möchte nur eine feste Nummer anstelle der Nummer, die vom Benutzer eingegeben wird" * ist schwer zu verstehen. – Gendarme
Java will nichts. Und Sie können ein Array mit einer variablen Größe erstellen. BTW Es gibt keinen Grund zu überprüfen, ob die Größe nach dem Versuch, das Array zu erstellen, ungültig ist. –
Arrays beginnen bei einem Index von 0 und das letzte Element ist 'data.length - 1' –