2013-10-12 2 views
-1
package temperatureconversion; 
import java.util.Scanner; 
public static void main(String[] args) { 
Scanner keyboard = new Scanner(System.in); 
System.out.println("Please enter Conversion type: Press C for Celsius to Fahrenheit or press F  For Fahrenheit to Celsius."); 

String Vctype = keyboard.next(); 

    if (Vctype == "f" || Vctype == "F"){ 
     System.out.println("Please enter fahrenheit"); 
     double Vfahrenheit = keyboard.nextInt(); 
     Vfahrenheit = (Vfahrenheit)*(9/5)+(32); 
      System.out.println(Vfahrenheit); 
    } 
    if (Vctype == "c" || Vctype == "C"){ 
     System.out.println("Please enter celcius"); 
     double Vcelcius = keyboard.nextInt(); 
     Vcelcius = (Vcelcius - 32)*(5/9); 
       System.out.println(Vcelcius) ; 
    }   
    } 
} 

안녕하세요. 위의 코드를 사용하면 도움이 될지 궁금합니다. 기본적으로 netbeans의 출력 콘솔에서 C 또는 F를 누른 후에 프로그램이 종료 된 것처럼 보이지만 숫자 대신 숫자 입력을 허용 한 다음 계산하여 마지막으로 계산을 표시해야합니다. if 문을 실행하지 않는 것 어디에서 잘못 되었습니까?if 문을 입력하려는 if 문을 입력 한 후 if 문이 제대로 실행되지 않습니다.

+0

사용'이 Vctype.equals 오히려 Vctype'보다 ("F")'== 다른 비교를 위해 동일한 "f는"'(. 참조 "은 compareTo"를 사용할 수 있습니다 link above –

+0

문자열을'=='와 비교할 수 없습니다. 'equals()'또는 'compareTo()'를 사용하십시오 : http://docs.oracle.com/javase/tutorial/java/data/comparestrings.html – Barranka

+0

보십시오 "f". equalIgnorecase (Vctype) 대신 (Vctype == "f"|| Vctype == "F") – upog

답변

0

문자열을 ==과 비교합니다. 당신이 "F"와 "F"에 대한 두 가지 옵션이 필요 없다, 그래서는 "와 toLowerCase"를 사용하는 전체 문자열을 소문자로 만드는 것을, 또한

if (Vctype.toLowerCase().equals("f")) 

참고 : 그래서 당신이 사용해야하는 작업을 나던. 당신이 원하는 경우

, 당신은

if (Vctype.toLowerCase().compareTo("f") == 0)