0

私はJavaクラスを開発しています。String データ型で Switch ステートメントを使用する際に、助けをお願いできますか。

これが私のコードです:

    String testString = "Nut";
    switch (testString)
    {
        case "Nut":
            if(NutCount < NutMaxCount) 
                NutCount += 1;
            break;
        case "Caramel":
            if(CaramelCount < CaramelMaxCount)
                CaramelCount += 1;
            break; 
        case "Chocolate":
            if(ChocolateCount < ChocolateMaxCount)
                ChocolateCount += 1;
            break;
        case "Marzipan":
            if(MarzipanCount < MarzipanMaxCount)
                MarzipanCount += 1;
            break;                        
    }

これは私が得ているエラーです:

互換性のない型 - java.lang.String が見つかりましたが、int が必要でした。

4

3 に答える 3

5

文字列の大文字と小文字の切り替えはJava7でのみ機能します

または、以前のバージョンの代わりにenumを使用できます。Java7

String testString = "Nut";
ValueEnum enumval = ValueEnum.fromString(testString);
switch (enumval) 
{
   case Nut:
            if(NutCount < NutMaxCount) 
                NutCount += 1;
            break;
   case Caramel:
            if(CaramelCount < CaramelMaxCount)
                CaramelCount += 1;
            break; 
   case Chocolate:
            if(ChocolateCount < ChocolateMaxCount)
                ChocolateCount += 1;
            break;
   case Marzipan:
            if(MarzipanCount < MarzipanMaxCount)
                MarzipanCount += 1;
            break;
}
于 2013-04-09T05:37:22.610 に答える
1

このリンクから Java 7 にアクセスできます: http://www.oracle.com/technetwork/java/javase/downloads/index.html

Java 7 が必要になるためStrings、switch ステートメントで使用できます。

IDE で新しいプロジェクトを作成するとき (図の IDE は eclipse)、必ず 1.7 で終わる Java を選択してください。

ここに画像の説明を入力

また

各文字列を値に対応させるだけintです。

于 2013-04-09T05:36:25.887 に答える
1

String type isn't allowed to use as switch condition before JDK7の 代わりに to
を使用してください。Integer variable

于 2013-04-09T05:36:46.757 に答える