【发布时间】:2020-10-23 09:39:55
【问题描述】:
我不能使用在代码块中声明的变量调用方法。 (就像在我的情况下,for 循环中的 if 语句)
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
private static ArrayList<Integer> arrayList = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
int input;
System.out.println("Enter 5 integers");
for (int i = 0; i <= 4; i++) {
input = scanner.nextInt();
arrayList.add(input);
}
isSorted(arrayList);
}
public static void isSorted(ArrayList<Integer> arrayList) {
boolean sorted;
boolean dSorted;
for (int i=0; i<=3; i++) {
if (arrayList.get((i+1)) > arrayList.get(i)) {
sorted = true;
} else if (arrayList.get((i+1)) < arrayList.get(i)) {
dSorted = true;
} else {
sorted = false;
}
}
printResult(sorted, dSorted);
}
public static void printResult(boolean sorted, boolean dSorted) {
if(sorted) {
System.out.println("This set of numbers is sorted in ascending order.");
} else if(dSorted) {
System.out.println("This set of numbers is sorted in descending order.");
} else {
System.out.println("This set of numbers is not sorted at all.");
}
}
}
编译错误:
类似错误:(33,21) java: 排序的变量可能尚未初始化
【问题讨论】:
-
用
boolean sorted = false;替换boolean sorted;