2016-09-28 10 views
-1

プログラムは、ユーザーに水、空気、スチールの要素を入力するように求めています。それから、彼らは彼らが望む距離を入力する必要があります。私が持っている問題は、式を実行できるように要素を等価にすることができないということです。私が知っているのは、もしかすると、私は何がうまくいくのか理解しようとしていた混乱だということです。すべての答えは高く評価されます。ユーザー入力を文字列と比較するif elseステートメント

public static void main(String[] args) { 

    Scanner sc=new Scanner(System.in); 
    System.out.println("enter an element of water,air,or steel");   

    String element=sc.next(); 
    System.out.println("how far do you want it to travel, dont use any unit of measurment"); 
    double distance=sc.nextInt(); 
    double time1=distance/1100; 
    double time2=distance/4900; 
    double time3=distance/16400;  

      if (element.equals(air)){ 
       System.out.println("the time is "+time1);  } 
      else if(element.equals.water) 
       System.out.println("the time is "+time2); 

      else if(element.equals.steel) 
       System.out.println(time3); 





     } 

} 
+0

質問を明確にすることはできますか? –

+0

私が必要としたのは、ユーザーに要素を入力するように要求することでした。水、空気、またはスチールである。それから私は彼らがどこに行きたいのかを尋ねなければなりませんでした。それから私は彼らが空気、水、または鉄鋼に入るものに合っています。だから彼らが空を飛ばすと、時間は "time1 = distance/1100"になります。私の問題は、要素変数を空気、水、または鉄と一致させることを試みることでした。 Alex Chermeninが答えをくれました。 – ChunkierLizard

+0

これは良い質問です。上記の質問を編集して、そのテキストを入れてください。ありがとうございました! –

答えて

2

だけelement.equalsIgnoreCase("air")または、例えば、このコードを使用します。

switch (element.toLowerCase()) { 
    case "air": ... 
    case "water": ... 
    case "steel": ... 
} 
+0

それは動作します、答えをありがとうございます。 – ChunkierLizard

1

文字列を比較しながら、なぜあなたは引用符を省略したのですか?これはどのように見えるかです:

if (element.equals("air")) { 
    System.out.println("the time is " + time1); 
} else if (element.equals("water")) 
    System.out.println("the time is " + time2); 
else if (element.equals("steel")) 
    System.out.println(time3); 
+0

私は自分でJavaを学ぼうとしているので、それについてはあまり知られていません。あなたの答えをありがとう。 – ChunkierLizard

関連する問題