配列リストがソートされているかどうかを見積もる必要があります (ソートしないでください)。
文字列を並べ替えると、アルファベット順に並べられます。compareTo()メソッドを使用して、どの文字列が最初に来るかを判断しようとしています
配列リストがソートされている場合は true、そうでない場合は false を返します。
コード:
public boolean isSorted()
{
boolean sorted = true;
for (int i = 1; i < list.size(); i++) {
if (list.get(i-1).compareTo(list.get(i)) != 1) sorted = false;
}
return sorted;
}
簡単なテスト:
ArrayList<String> animals = new ArrayList<String>();
ArrayListMethods zoo = new ArrayListMethods(animals);
animals.add("ape");
animals.add("dog");
animals.add("zebra");
//test isSorted
System.out.println(zoo.isSorted());
System.out.println("Expected: true");
animals.add("cat");
System.out.println(zoo.isSorted());
System.out.println("Expected: false");
animals.remove("cat");
animals.add(0,"cat");
System.out.println(zoo.isSorted());
System.out.println("Expected: false");
**Output:**
false
Expected: true
false
Expected: false
false
Expected: false
この簡単なテストでは、1/3
カバレッジのみが表示されます。
この問題を解決する方法。