2017-11-21 7 views
-2

私はちょっとプログラミングに慣れていますが、文字列スキャナが配列に含まれているかどうかを調べる方法がわかりません(配列に "アップル "、スキャナは"アップル "、プリントは"現在 ")。私は、Eclipse火星4.5.0を使用していて、次のように今まで私が持っているコードは次のとおりです。スキャナで配列の文字列値を確認する方法

public static void main(String[] args) { 


    String answer = "null"; //Initialize "answer" 
    String[] Fruit;   //Array of Strings called "Fruit" 
    Fruit = new String[10]; //"Fruit" has 10 spaces 
    //Strings saved in "Fruit": 
    Fruit[0] = "Apple"; 
    Fruit[1] = "Banana"; 
    Fruit[2] = "Mango"; 
    Fruit[3] = "Pear"; 

    //The actual programme: 
    @SuppressWarnings("resource") 
    Scanner input = new Scanner(System.in); 
    System.out.println("Please enter a fruit:"); 
    answer = input.next(); 
                  //If the answer is 'Fruit[0]' 
    if (answer == Fruit[0] || answer == Fruit[1] ||   //OR 'Fruit[1]' OR etc, 
     answer == Fruit[2] || answer == Fruit[3]) {   //Print "available" 
     System.out.println("This fruit is available."); 
    } 
                  //If the answer isn't 'Fruit[0]' 
    else if (answer != Fruit[0] && answer != Fruit[1] && // AND not 'Fruit[1]' AND not 
      answer != Fruit[2] && answer != Fruit[3]){  //etc, Print "not available" 
     System.out.println("This fruit is not available right now."); 
    } 
} 

しかし、それは常に同じでwhileループのために行く、「利用できません」が返されます。それは何とかdoesnのそれがArraylistに存在しているかどうかをチェックしているようだ。

誰がこの問題を解決する方法を知っていますか?私はインターネット上のどこにでも似たような質問を見つけることができなかったので、知りたいです。

EDIT:奇妙なことに、私はかなりの回数を探しました。私は1つ見逃してしまいました、重複して申し訳ありません!代わりに、使用の

+0

** == **演算子を使用して** Strings **を比較することはできません。代わりにString比較のためにStringクラスの** equals **メソッドを使用する必要があります。また、else部分の条件を評価する必要はありません。 –

+0

そして、Javaの命名規則について読む - 変数名はcamelCaseになります。 – GhostCat

答えて

0

if (answer == Fruit[0] || answer == Fruit[1] ||   //OR 'Fruit[1]' OR etc, 
     answer == Fruit[2] || answer == Fruit[3]) 

使用:

if (TextUtils.equals(answer,Fruit[0]) || TextUtils.equals(answer,Fruit[1]) ||   
     TextUtils.equals(answer,Fruit[2]) || TextUtils.equals(answer,Fruit[3])) 

文字列は常にと比較==方法で方法ない等しくさ

+0

私はここに新しいです、これらの提案を念頭に置いておきます、ありがとう:) –

+0

良い今。しかし、そのようなコンテンツのアップフォースはあまり期待しないでください。私はそのような質問に答えることが魅力的だと知っています - しかし、彼らはずっと前に答え​​られました。 – GhostCat

+0

これを試しましたが、 'TextUtils'は認識されませんか? (申し訳ありません、私はこれに非常に新しいです) –

関連する問題