[英]How to use a switch…case loop in java inside a nested if…else if…else loop?
import java.util.Scanner;
import javax.lang.model.util.ElementScanner14;
class mudit {
public static void main(final String[] args) {
final Scanner input = new Scanner(System.in);
System.out.print("Enter!!!");
final char n = input.next().charAt(0);
art :
if ((n >= 'a' && n <= 'z' ) || (n >= 'A' && n <= 'z'))
System.out.println(n + " is an alphabet.");
dart :
if ( n == 'a' || n == 'e' || n == 'i' || n == 'o' || n == 'u' || n == 'A' || n == 'E' || n == 'I' || n == 'O' || n == 'U')
System.out.println("VOWEL");
break dart;
else
System.out.println("CONSONANT");
break dart;
else if ( n * 1 == n)
System.out.println(n + " is a numerical value.");
else
System.out.println("Something else");
input.close();
}
}
每當我運行此代碼時,我都會遇到錯誤。
線程“main”中的異常 java.lang.Error:未解決的編譯問題:標記“else”上的語法錯誤,刪除此標記
at mudit.main(mudd.java:28)
我想讓它知道輸入的字符是字母(元音或輔音)還是數字
我正在使用 vs 代碼編輯器。
問題是if
語句塊不止一行。 如果塊只有一行,則只能使用不帶花括號的if
語句、 else
語句或else if
語句。 要解決此問題,只需將條件括在花括號中即可。
另一方面,在這種情況下中斷不會做任何事情。 您只能跳出for-loop
、 advanced for-loop
、 while loop
、 do-while loop
和switch
語句。 我可能忘記了 1 或 2 個場景,所以請隨時提醒我!
如果“if”或“else”中有超過一行,則需要用 { } 將這些語句括起來。 現在應該可以了。
import java.util.Scanner;
import javax.lang.model.util.ElementScanner14;
class mudit {
public static void main(final String[] args) {
final Scanner input = new Scanner(System.in);
System.out.print("Enter!!!");
final char n = input.next().charAt(0);
art :
if ((n >= 'a' && n <= 'z' ) || (n >= 'A' && n <= 'z')) {
System.out.println(n + " is an alphabet.");
dart :
if ( n == 'a' || n == 'e' || n == 'i' || n == 'o' || n == 'u' || n == 'A' || n == 'E' || n == 'I' || n == 'O' || n == 'U') {
System.out.println("VOWEL");
break dart;
} else {
System.out.println("CONSONANT");
break dart;
}
}
else if ( n * 1 == n)
System.out.println(n + " is a numerical value.");
else
System.out.println("Something else");
input.close();
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.