2016-09-16 8 views
-1

このコードでは2つの文字を分割できません。私はcansNeededの値を見つける必要があるが、私はエラー2つの整数を分割できません

import java.util.Scanner; 
    import java.lang.Math;  // Note: Needed for math functions 

    public class PaintEstimator { 
    public static void main(String[] args) { 
     //Create a new scanner 
     Scanner scnr = new Scanner(System.in); 


     //Set the values 
     double wallHeight = 0.0; 
     double wallWidth = 0.0; 
     double wallArea = 0.0; 
     double gallonsPaintNeeded = 0.0; 
     final double squareFeetPerGallons = 350.0; 
     final double gallonsPerCan = 1.0; 



     //Scan for user input 
     wallHeight = scnr.nextDouble(); 
     wallHeight = scnr.nextDouble(); 
     wallArea = (wallHeight * wallWidth); 
     gallonsPaintNeeded = (wallArea/squareFeetPerGallons); 

     //Print out the values 
     System.out.println("Enter wall height (feet): "); 
     System.out.println("Enter wall width (feet): "); 
     System.out.println("Wall area: square feet"); 
     System.out.println("Paint needed: " + gallonsPaintNeeded + " gallons"); 




     double cansNeeded = (gallonsPaintNeeded/gallonsPerCan); 
     System.out.println("Cans needed: " + cansNeeded + " can(s)"); 

     return; 
    } 
} 

私は

Exception in thread "main" java.util.NoSuchElementException 
at java.util.Scanner.throwFor(Scanner.java:862) 
at java.util.Scanner.next(Scanner.java:1485) 
at java.util.Scanner.nextDouble(Scanner.java:2413) 
at PaintEstimator.main(PaintEstimator.java:21) 

追加ダブルは「/」の記号の私の元の問題を引き起こして解決するように見えたこのエラーを得続けるを得続けますエラー。しかし、今私は以下のエラーがあります。どんな助け?

+1

あなたは整数と文字について話していますが、実際には2倍を使用しています。あなたの質問をより明確に(正確に)しようとすることができますか? – Stultuske

+0

21行目はどちらですか? –

+1

入力が不足しているようです。あなたは何を入力しましたか?また、プロンプトは、入力が提供された後に印刷されます。おそらく逆転するはずです。 – Thilo

答えて

0

プログラムにはいくつか問題があります。

最初にwallWidthの値を割り当てなかったが、wallHeightの値を2回した結果、すべてのゼロ値が返されます。

第2に、プロンプトメッセージを印刷する前にユーザーの入力を待つ。

最後に、return文は必要ありません:)

をここでは、作業バージョンで、単にアイデアを与えるために、さらにもちろん微調整することができます。

import java.util.Scanner; 

public class PaintEstimator { 

    public static void main(String[] args) { 
     // Create a new scanner 
     Scanner scnr = new Scanner(System.in); 

     // Set the values 
     double wallHeight = 0.0; 
     double wallWidth = 0.0; 
     double wallArea = 0.0; 
     double gallonsPaintNeeded = 0.0; 
     final double squareFeetPerGallons = 350.0; 
     final double gallonsPerCan = 1.0; 

     // Print out the values 
     System.out.print("Enter wall height (feet): "); 
     wallHeight = scnr.nextDouble(); 

     System.out.print("Enter wall width (feet): "); 
     wallWidth = scnr.nextDouble(); 

     wallArea = (wallHeight * wallWidth); 
     System.out.println(String.format("Wall area: %f square feet", wallArea)); 

     gallonsPaintNeeded = (wallArea/squareFeetPerGallons); 
     System.out.println("Paint needed: " + gallonsPaintNeeded + " gallons"); 

     double cansNeeded = (gallonsPaintNeeded/gallonsPerCan); 
     System.out.println("Cans needed: " + cansNeeded + " can(s)"); 
    } 
} 
関連する問題