[当我尝试传递在另一个方法中本地声明的布尔参数时,编译器将传递错误:
错误:(40,71)Java:找不到符号符号:变量frei位置:类flugVerein
获取传递的布尔变量的方法:
public static void verfügbar(int[] flugAnzahl, String[] vorname, String[] bezeichnung, int[] zeit, boolean frei)
声明变量的位置:
public static void ganzeTag(int[] zeit, String[] vorname, String[] nachname, String[] bezeichnung) {
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie die Bezeichnung des Fluges ein: ");
String eingabe = sc.nextLine();
boolean frei = false;
主方法中的方法调用:
verfügbar(flugAnzahl, vorname, bezeichnung, zeit, frei);
由于您使用的是其他方法,因此无法访问frei
变量。它是在ganzeTag
方法中声明的,但是您正在尝试在main
方法中访问它。您可以做几件事。我认为最简单的方法是使其成为一个字段。
private static boolean frei;
然后使用ganzeTag
方法:
public static void ganzeTag(int[] zeit, String[] vorname, String[] nachname, String[] bezeichnung) {
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie die Bezeichnung des Fluges ein: ");
String eingabe = sc.nextLine();
frei = false; // don't put the boolean.
实际上,您甚至不需要该行,因为布尔字段的默认值为false。
public static void ganzeTag(int[] zeit, String[] vorname, String[] nachname, String[] bezeichnung) {
Scanner sc = new Scanner(System.in);
System.out.println("Geben Sie die Bezeichnung des Fluges ein: ");
String eingabe = sc.nextLine();
@ Jwan,我认为您是指局部变量。