簡體   English   中英

如何在嵌套的 if...else if...else 循環中使用 java 中的 switch...case 循環?

[英]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-loopadvanced for-loopwhile loopdo-while loopswitch語句。 我可能忘記了 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM