2016-11-19 42 views
1

對不起,提出一個簡單的問題,但我在這裏是一個初學者。所以問題是當我將以下代碼複製到我的eclipse中時,它工作正常。但是當我把變量的類型從int改爲double時,它顯示出某種錯誤。請檢查一下。兩個數字的基本加法

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) 

這裏的視頻教程,我只是看着(https://www.youtube.com/watch?v=ANuuSFY2BbY)我只是想將它複製

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); 
    } 

} 

,我得到以下錯誤:

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

你看。我得到正確的答案。 所以你必須展示你的內容,就像他們所說的一樣。

此外,您可以修改您的代碼,如下所示,使其更加強大。

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; 
     } 
    } 

} 

}