您好,我無法弄清楚如何調試此代碼中的錯誤。有人請幫忙。return 語句返回不兼容類型的錯誤。我該怎麼做才能解決這個問題?謝謝你!
public class Ex7_19 {
public static void isSorted(int[] list) {
String s = "The list is sorted";
String nS = "The list is not sorted.";
System.out.print("The list has ");
System.out.print(list.length);
System.out.print(" integers ");
for (int i = 0; i < list.length; i++) {
System.out.print(list[i] + " ");
}
for (int i = 0; i < (list.length - 1); i++) {
if (list[i] > list[i + 1]) {
return nS;
}
}
return s;
}
public static void main(String[] args) {
System.out.println("#1");
isSorted(new int[]{4,7, 19, 21, 44, 98, 101});
System.out.println("\n#2");
isSorted(new int[]{4,7, 54, 15, 19, 21, 44, 98, 101});
System.out.println("\n#3");
isSorted(new int[]{-2, 0, 3});
}
}
你的方法:
public static void isSorted(int[] list) {
...返回void(無),但您正在嘗試返回一個字符串。
從您的其餘代碼來看,您似乎打算打印字符串並從方法中返回。例如:
public static void isSorted(int[] list) {
String s = "The list is sorted";
String nS = "The list is not sorted.";
System.out.print("The list has ");
System.out.print(list.length);
System.out.print(" integers ");
for (int i = 0; i < list.length; i++) {
System.out.print(list[i] + " ");
}
for (int i = 0; i < (list.length - 1); i++) {
if (list[i] > list[i + 1]) {
System.out.println(nS); // changed here
return;
}
}
System.out.println(s); // and changed here
// no return required here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句