Java 这个代码怎么会错?
我在if语句的开头方括号行中出现了一个错误,称为misplaced construct(),因此您可以看到my System.exit(0);它的分号在下面一行。我觉得我的while循环有问题,因为我很少使用它们。有人能帮我吗Java 这个代码怎么会错?,java,Java,我在if语句的开头方括号行中出现了一个错误,称为misplaced construct(),因此您可以看到my System.exit(0);它的分号在下面一行。我觉得我的while循环有问题,因为我很少使用它们。有人能帮我吗 public static void Rep ()throws IOException { Check (); BufferedReader kb = new BufferedReader (new InputStreamReader (System.in
public static void Rep ()throws IOException
{
Check ();
BufferedReader kb = new BufferedReader (new InputStreamReader (System.in));
do
{
System.out.println ("");
System.out.println ("Would you like to continue? [Y/N]");
String ans = kb.readLine ();
if (ans.equalsIgnoreCase ("y"))
{
Check ();
System.out.println ("Hi");
}
else if
{
System.exit (0)
;
}
else
{
System.out.println ("");
System.out.println ("Please enter Y or N:");
ans = kb.readLine ();
System.out.println ("");
}
}
while (x != 1);
}
使用
else if
时,必须向该if
添加条件,如:
else if (ans.equalsIgnoreCase ("x"))
{
}
您的是空的。您跳过/丢失了else if条件
else if (ans.equalsIgnoreCase("n"))
{
System.exit(0);
}
我还建议不要为此使用System.exit(0)。在大多数情况下,一个简单的返回就足够了。由于kb.readLine的原因,您还必须用try-catch来包围所有内容:
public static void Rep ()
{
try { // SURROUND EVERYTHING WITH TRY-CATCH.
Check ();
do
{
System.out.println ("");
System.out.println ("Would you like to continue? [Y/N]");
String ans = kb.readLine ();
if (ans.equalsIgnoreCase ("y"))
{
Check ();
System.out.println ("Hi");
}
else if ( CONDITION REQUIRED HERE! )
{
System.exit (0);
}
else
{
System.out.println ("");
System.out.println ("Please enter Y or N:");
ans = kb.readLine ();
System.out.println ("");
}
}
while (x != 1);
} catch ( Exception exc ) { System.out.println( exc.toString() ); }
}
你在第二个if陈述中缺少实际情况。