2017-05-09 15 views
-2

私はクラス、オブジェクト、メソッドの学習を練習するために、ティーの名前、タイプ、グラム、浸水時間、ダブルスティープ時間を表示するJavaでプログラムを作成しようとしています。 。オブジェクトについて学び、割り当てられた変数をプライベート変数にカプセル化する方法

私は間違いをしています。

public class Tea { 

    private String Name; 
    private String Type; 
    private int GramsPerCup; 
    private int SteepingMinutes; 

    public Tea()//default constructor, takes no args, must be same name as class 
    { 
    } 

    public Tea(String Name, String Type, int GramsPerCup, int SteepingMinutes)//constructor that takes arguments 
    { 
     Name = Name; 
     Type = Type; 
     GramsPerCup = GramsPerCup; 
     SteepingMinutes = SteepingMinutes; 
    } 

    public void DoubleSteep() { 
     int TeaDoubleSteep = SteepingMinutes * 2; 
    } 

    public String PrintDetails() { 
     return "Name: " + Name + "\n" + "Type: " + Type + "/n" + "Grams Per Cup: " + GramsPerCup + "\n" + "Steeping Time in Minutes: " + SteepingMinutes + "\n" + "For dark brew, steep: " + DoubleSteep + " minutes"; 

    } 
} 

public class Main { 

    public static void Main(String[] args) { 
     Tea tea1 = new Tea("Earl Grey", "Black", 3, 5); 
     tea1.DoubleSteep(); 
     System.out.println(tea1.PrintDetails()); 
    } 
} 

親切にしてください、私は、これまで非常に新しいよありがとう!:)

+0

コンパイラは、問題が何であるかを明確に指定するので、一緒に仲良くしてくれるとても良い友達です。また、Javaの命名規則に従ってください。 –

+0

あなたのエラーのほとんどは、おそらくタイプミスが原因です。あなたのコンパイラは、どの行とどこが間違っていたかをあなたに伝えます。 – user3437460

答えて

0

だけヒント!

あなたのコード内の1つの誤り、より多く持っている:

Tea tea1 = newTea("Earl Grey", "Black", 3, 5);//wrong 

Tea tea1 = new Tea("Earl Grey", "Black", 3, 5);//correct 
//---------^^^^------------------------------------------Note that 
:あなたは、あなたのクラスの名前を、その後 new spaceを使用する必要が新しいオブジェクトを作成するために

ファーストを

第2:

別のクラスのメソッドを呼び出すには、className.methodName()を使用する必要があります。

System.out.println(tea1, PrintDetails()); 
//---------------------^^--------To call a method in another class you have to use dot(.) 

使用この代わりに:サード

System.out.println(tea1.PrintDetails()); 

あなたはあなたのコンストラクタ誤った値に割り当てる:

public Tea(String Name, String Type, int GramsPerCup, int SteepingMinutes) 
{ 
    Name = TeaName; 
    //----^^^^^^^^--------Thie name is not exist in your method signature 
    //same to the others 
} 

あなたが使用する必要があります:

this.Name = Name; 
+0

ありがとう、これは多くの助けになりました!私はprogrammr.comを使用していますが、さらにエラーが1つだけ発生しています:説明Mainクラスはpublicで、Main.javaという名前のファイルで宣言する必要があります。 「Main」というクラスを追加しました。 「パッケージティー」のような、そのクラスに書く必要のあるものはありますか?私はそれを理解することができない。ありがとうございました! @YCF_L – StacyB

関連する問題