2016-11-19 3 views
1

쉬운 질문을하는 것에 대해 유감스럽게 생각합니다.하지만 여기서는 초보자입니다. 그래서 문제는 내 일식에 다음 코드를 복사 할 때 잘 동작하는 것입니다. 그러나 변수의 유형을 int에서 double로 변경하면 오류가 발생합니다. 그것을 확인하시기 바랍니다.2 개의 숫자의 기본 추가

import java.util.Scanner; 

class AddNumbers 
{ 
    public static void main(String args[]) 
    { 
     double x, y, z; 
     System.out.println("Enter two integers to calculate their sum "); 
     Scanner in = new Scanner(System.in); 
     x = in.nextDouble(); 
     y = in.nextDouble(); 
     z = x + y; 
     System.out.println("Sum of entered integers = "+z); 
    } 
} 

BTW, 오류가 여기

Exception in thread "main" java.util.InputMismatchException 
    at java.util.Scanner.throwFor(Unknown Source) 
    at java.util.Scanner.next(Unknown Source) 
    at java.util.Scanner.nextDouble(Unknown Source) 
    at AddNumbers.main(AddNumbers.java:10) 

을 다음과 같은 난 그냥

import java.util.Scanner; 

class HelloWorld{ 

    public static void main(String args[]) { 
     Scanner bucky = new Scanner(System.in); 
     double fnum; 
     double snum; 
     double answer; 
     System.out.println("Enter first number:"); 
     fnum = bucky.nextDouble(); 
     System.out.println("Enter second number:"); 
     snum = bucky.nextDouble(); 
     answer = fnum+snum; 
     System.out.print(answer); 
    } 

} 

복사를 시도 난 그냥 지켜 비디오 튜토리얼 (https://www.youtube.com/watch?v=ANuuSFY2BbY) 것입니다 그리고 난 다음과 같은 오류가 발생합니다 :

Enter first number: 
34.6 
Exception in thread "main" java.util.InputMismatchException 
    at java.util.Scanner.throwFor(Unknown Source) 
    at java.util.Scanner.next(Unknown Source) 
    at java.util.Scanner.nextDouble(Unknown Source) 
    at HelloWorld.main(HelloWorld.java:11) 
+0

당신은 무엇을 입력 했습니까? – Thilo

+0

귀하의 의견은 무엇입니까? –

+0

Thilo, Bandi Kishore, 34.6 – Aba74

답변

0

이중 문자 (문자 또는 특수 문자)로 해석 할 수없는 내용을 입력했을 수 있습니다.

숫자는 반드시 입력해야합니다.

입력 사항을 확인하십시오.

+0

나는 34.6 만 입력했다. 가능한 경우 다음 자습서를 확인하고 작동하는지 알려주십시오. https://www.youtube.com/watch?v=ANuuSFY2BbY – Aba74

+0

'.' 대신','를 사용하는 로켈을 설정했을 수 있습니다. – Thilo

1

Answer

당신은 참조하십시오. 나는 정답을 얻는다. 그래서 당신은 그들이 말한 것처럼 당신의 inout을 보여줘야합니다.

또한 다음과 같이 코드를 수정하여 더 강하게 만들 수 있습니다.

import java.util.InputMismatchException; 
import java.util.Scanner; 

class AddNumbers 
{ 
public static void main(String args[]) 
    { 
    double x, y, z; 
    System.out.println("Enter two double to calculate their sum "); 
    Scanner in = new Scanner(System.in); 

    while (true) { 
     try { 
      x = Double.parseDouble(in.nextLine()); 
      y = Double.parseDouble(in.nextLine()); 
      z = x + y; 
      System.out.println("Sum of entered double = " + z); 
      break; 
     } catch (Exception e) { 
      System.out.println("Not a double param, please enter again"); 
      continue; 
     } 
    } 

} 

}