-4
何らかの理由でコンパイラは "入力"が決して閉じられないと言っています。ただし、プログラムは実行され、実行されます。私はそれがなぜそれを言っているのか知りたいだけです。ここに構文があります。前もって感謝します。エラーの誤解
import java.util.Scanner;
public class Problem1 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Enter three numbers: ");
int N1 = input.nextInt();
int N2 = input.nextInt();
int N3 = input.nextInt();
DoSort(N1, N2, N3);
}
public static void DoSort(int N1, int N2, int N3){
if ((N1 < N2) && (N2 < N3)){
System.out.println("The acsending order is " + N1 + " " + N2 + " " + N3);
}
if ((N1 > N2) && (N2 > N3)){
System.out.println("The acsending order is " + N3 + " " + N2 + " " + N1);
}
if ((N1 < N2) && (N2 > N3) && (N1 < N3)){
System.out.println("The acsending order is " + N1 + " " + N3 + " " + N2);
}
if ((N1 < N2) && (N2 > N3) && (N1 > N3)){
System.out.println("The acsending order is " + N3 + " " + N1 + " " + N2);
}
}
}
あなたは閉じていないので、入力が終わったら、input.close()でそれを閉じることができます。 – Janar
JDK 7以上を使用している場合、 'try(Scanner input = ....){//コードブロック}'のようなものを試してください。 – SMA
注:あなたの 'DoSort'ロジックは、いくつかの数字が等しいケースを考慮しません。 –