我在if语句的开始卷曲括号行显示错误的构造()错误,因为你可以看到我的System.exit(0);它的下面有一个分号。我觉得我的while循环有问题,因为我很少使用它们。有人可以帮助我吗?
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);
}
答案 0 :(得分:1)
当您使用else if
时,您必须向此if
添加条件,例如:
else if (ans.equalsIgnoreCase ("x"))
{
}
你的是空的。
答案 1 :(得分:0)
如果条件
,您已跳过/丢失了其他人else if (ans.equalsIgnoreCase("n"))
{
System.exit(0);
}
我还建议不要将System.exit(0)用于此目的。在大多数情况下,简单的回报就足够了。
答案 2 :(得分: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() ); }
}