2016-09-28 2 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. моя проблема заключалась в том, чтобы получить переменную элемента в соответствие с воздухом, водой или сталью. Алекс Черменин дал мне ответ, который сработал. – 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

Смежные вопросы