私の仕事を実行しようとすると問題が発生します。 私はコンソールでいくつかの数字を入れなければなりません。昇順に配列して配列に保存する必要があります。 私は、メソッドhasNextがString.nextLine()でうまくいくと思っていましたが、まだループのようです。ヘルプスキャナを使用している間に循環します.Next()
import java.util.Scanner;
public class OrdinamentoMaggiore{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.println("Digita dei numeri e te li mettero' in ordine crescente: ");
String Numeri = sc.nextLine();
int dimArray = 0;
while (sc.hasNext(Numeri)){
dimArray++;
System.out.println("Dimensione array: " + dimArray);
}
int min = 0, max = 0, temp;
int[] mioArray = new int[dimArray];
for (int i = 0; i <= mioArray.length; i++){
mioArray[i] = Integer.parseInt(sc.next(Numeri));
}
for (int j = 0; j <= mioArray.length; j++){
for (int h = 1; h <= mioArray.length; h++){
if (mioArray[j] < mioArray[h]){
continue;
}
else {
temp = mioArray[j];
mioArray[j] = mioArray[h];
mioArray[h] = temp;
}
}
}
System.out.println("Min: " + mioArray[0]);
System.out.println("Max: " + mioArray[dimArray]);
sc.close();
}
}
数字以外の文字を入力するまでポーリングしてから、すべての入力を処理するのはなぜですか。 – user123
例: 入力:12 32 1 2 3停止 while(sc.hasNextInt(Numeri))?? – Alberto32
http://stackoverflow.com/a/9592624/1327636これが役立ちます! – user123