我必须移动String [] du = new String [ruu] ;,目前在if(dru == 1)下。问题在于,以及如何使其成为其余代码遵循它。我该如何处理?这就是我所拥有的:
import java.util.Arrays;
import java.util.Scanner;
public class Sol {
public static void main(String[] args) {
boolean hah = true;
Scanner dea = new Scanner(System.in);
do {
System.out.println("1. Create League.");
System.out.println("2. Look up Teams.");
System.out.println("3. Mark Win.");
System.out.println("4. Mark Loss.");
System.out.println("5. Quit.");
int dru = dea.nextInt();
if (dru == 1) {
System.out.println("How many Teams?");
int ruu = dea.nextInt();
System.out.println("Fine. Just give a name.");
dea.nextLine();
String[] du = new String[ruu];
for (int i = 0; i < du.length; i++) {
if (i >= 1)
System.out.println("More are required.");
du[i] = (String) (dea.nextLine());
}
System.out.println("Teams: " + Arrays.toString(du));
if (dru == 5 && hah == true)
System.out.println("Goodbye.");
hah = false;
if (hah == false)
break;
}
} while (hah == true);
}
}
答案 0 :(得分:0)
几个问题。
hah = false;
行应缩进if(dru == 5 && hah == true)
行。
您要求程序将hah
设置为false
(并基本上终止该程序)if(dru == 5 && hah == true)
。问题是,您在if (dru == 1)
部分内执行此操作,因此dru
永远不能5
,除非您重新分配dru
。此外,这意味着Goodbye
不会打印dru
永远不会5
,因此您的程序将终止,但不会打印Goodbye
。
下一个问题是,您没有询问用户是否要退出,因此没有让他们有机会输入5
,以便dru = 5
,这意味着您的计划赢了&#39 ; t终止(在你修复了上述缩进问题之后)。