0

リストがソートされているかどうかをチェックするプログラムがあります。答えを印刷するにはどうすればよいですか?(つまり、「リストはソートされています」、「リストはソートされていません」)。

public class CheckList {

public static void main(String[] args) {
    int[] myList = new int[10];

    // Read in ten numbers
    Scanner input = new Scanner(System.in);
    System.out.println("Enter ten numbers: ");
    for (int i = 0; i < myList.length; i++) {
        myList[i] = input.nextInt();

    }
}

//Check if list is sorted
public static boolean isSorted(int[] myList) {
    if (myList[0] > 1) {
        for (int i = 1; i < myList[0]; i++)
            if (myList[i] > myList[i + 1])
                return false;
    }
    return true;
}
}
4

2 に答える 2

3

内でメソッドを呼び出すだけifです:

if(isSorted(myList)) {
    System.out.println("Array is sorted");
} else {
    System.out.println("Array is not sorted");
}

とにかく、あなたのisSorted方法はうまくいきません。私は次のようなものを作ります:

//checks if array is sorted in ascending order
public static boolean isSorted(int[] myList) {
    if(myList == null) return false; //just checking

    for (int i = 0; i < myList.length - 1; i++) {
        if (myList[i] > myList[i + 1]) {
            return false;
        }
    }
    return true;
}
于 2013-09-16T12:41:33.963 に答える
1

あなたの後にメソッドを呼び出すだけですfor loop

for (int i = 0; i < myList.length; i++) {
      myList[i] = input.nextInt();
    }
if(isSorted(myList)) {
    System.out.println("The list is sorted");
} else {
    System.out.println("The list is not sorted");
}
于 2013-09-16T12:43:20.723 に答える