0
當我在第二次使用Java的掃描儀時,掃描儀sc2的對象不會在此字符串「int typeOfSort = sc2.nextInt();
」中轉換爲整數。當我第二次使用Java掃描儀時不工作
Eclipse在啓動程序之前不顯示錯誤,但在啓動後顯示此錯誤。程序可以運行,但是當到達sc2必須轉換爲int的字符串時,程序會顯示錯誤。如何解決它?
"
Exception in thread "main" java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at Buble.main(Buble.java:39)
"
Java代碼的
import java.util.Scanner;
public class Buble {
public static void main(String[] args) {
int size; // size of Array
int array[]; // Array
System.out.print("Enter size of arrays: ");
// Scanner is tool for input text to console
Scanner sc = new Scanner(System.in);
size = sc.nextInt();
array = new int [size];
sc.close();
for(int i = 0; i < array.length; i++){
double randnum = Math.floor(Math.random() * 1000);
array[i] = (int) randnum;
System.out.println("Element " + i + " = " + (int) randnum);
}
for(int b = 0; b < array.length; b++){
for(int i = 1; i < array.length; i++) {
if(array[i] < array[i-1]){
int a = array[i];
array[i] = array[i-1];
array[i-1] = a;
}
}
}
System.out.println("If you want to sort from smallest to largest
press 1 or 2 if Conversely: ");
Scanner sc2 = new Scanner(System.in);
int typeOfSort = sc2.nextInt(); // String with error
sc2.close();
if(typeOfSort == 1){
for(int i = 0; i < array.length; i++){
System.out.println(array[i]);
}
}
else{
for(int i = array.length; i < array.length; i++){
System.out.println(array[i]);
}
}
}
}