2017-11-27 8 views
0

最初のコードは、Lynda.comの割り当てのために私自身です。 2番目のコードは、その課題に対する教師の答えです。ここにあるいくつかの単語のほかに、私は、ロジックや数式の違いを見つけることができていない、まだ最初のコードは、第1が出ています解決策よりも小さい方法ソリューションとして番号を与えます。第二のコードは、(最初​​の一つであり、第二は、小文字のLです)l * h * 2を持っていながら、私が発見しなぜ私は2つのコードの間で異なる結果を取得していますか?

public class SimpleCalculation { 


public static void main(String[] args) { 
// Declare all variables 
// Ask for the house length, width, and height 
// Ask for the number and size of windows 
// Ask for the number and size of doors 
// Calculate total surface area to be painted 
double w, l, h; 
double numWin, winWidth, winHeight; 
double numDoors, doorWidth, doorHeight; 
double surfaceArea; 
Scanner in = new Scanner(System.in); 
System.out.println("Please enter the width, length and height of your house: "); 
w = in.nextDouble(); 
l = in.nextDouble(); 
h = in.nextDouble(); 
System.out.println("Please enter the number of windows, width and height: "); 
numWin = in.nextDouble(); 
winWidth = in.nextDouble(); 
winHeight = in.nextDouble(); 
System.out.println("Please enter the number of doors, width and height: "); 
numDoors = in.nextDouble(); 
doorWidth = in.nextDouble(); 
doorHeight = in.nextDouble(); 
surfaceArea = (w * h * 2 + 1 * h * 2) - (numWin * winWidth * winHeight + 
     numDoors * doorWidth * doorHeight); 
System.out.println("The total paintable surface area is: "+ surfaceArea); 



} 

} 







public class SimpleCalculation_Final { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) { 
    double w, l, h; 
    double numWin, winWidth, winHeight; 
    double numDoors, doorWidth, doorHeight; 
    double surfaceArea; 
    System.out.println("Please enter the width, length and height of " 
      + "the house to be painted"); 
    Scanner in = new Scanner(System.in); 
    w = in.nextDouble(); 
    l = in.nextDouble(); 
    h = in.nextDouble(); 
    System.out.println("Please enter the number of windows, width and height"); 
    numWin = in.nextDouble(); 
    winWidth = in.nextDouble(); 
    winHeight = in.nextDouble(); 
    System.out.println("Please enter the number of doors, width and height"); 
    numDoors = in.nextDouble(); 
    doorWidth = in.nextDouble(); 
    doorHeight = in.nextDouble(); 
    surfaceArea = (w * h * 2 + l * h * 2) - (numWin * winWidth * winHeight + 
      numDoors * doorWidth * doorHeight); 
    System.out.println("The total paintable surface area is: "+ surfaceArea); 
} 

} 

答えて

0

ことの一つは、あなたが1 * h * 2を持っているということです。

は、私はあなたのコード全体をチェックしていない、他の違いがあるかもしれません。

+0

うわ。変数として 'l'を使用しないでください。いくつかのフォントでは、文字通りその違いを見分けることができません。 –

+0

真。良いこと、Githubは数字リテラルのために異なる色を使いました:) – helospark

関連する問題