2016-03-24 1 views
0

getDailyCostメソッドを呼び出して、小数点以下2桁の に値を書式設定するprintDailyCostメソッドを実装するよう依頼されました。次に、この値を£印とともに表示する必要があります。Java printDailyCostメソッド

これまでのところ私が持っている:

public abstract class Suit { 

    private String colour; 
    private double dailyCost; 
    private int trouserLength; 
    private int jacketChestSize; 
    private boolean available; 
    private double totalPrice; 

    public Suit(String colour, double dailyCost, int trouserLength, 
       int jacketChestSize, boolean available, double totalPrice) { 
     super(); 
     this.colour = colour; 
     this.dailyCost = dailyCost; 
     this.trouserLength = trouserLength; 
     this.jacketChestSize = jacketChestSize; 
     this.available = available; 
     this.totalPrice = totalPrice; 
    } 

    public String getColour() { 
     return colour; 
    } 

    public double getDailyCost() { 
     return dailyCost; 
    } 

    public int getTrouserLength() { 
     return trouserLength; 
    } 

    public int getJacketChestSize() { 
     return jacketChestSize; 
    } 

    public boolean isAvailable() { 
     return available; 
    } 

    public double getTotalPrice() { 
     return totalPrice; 
    } 

    public void setColour(String colour) { 
     this.colour = colour; 
    } 

    public void setDailyCost(double dailyCost) { 
     this.dailyCost = dailyCost; 
    } 

    public void setTrouserLength(int trouserLength) { 
     this.trouserLength = trouserLength; 
    } 

    public void setJacketChestSize(int jacketChestSize) { 
     this.jacketChestSize = jacketChestSize; 
    } 

    public void setAvailable(boolean available) { 
     this.available = available; 
    } 

    public void setTotalPrice(double totalPrice) { 
     this.totalPrice = totalPrice; 
    } 

    public void calcTotalPrice(int numDaysHired){ 
     this.totalPrice = dailyCost * numDaysHired; 
    } 

    public String printDailyCost() { 
     return printDailyCost();   
    } 
} 

私の質問はどのように私はgetDailyCostメソッドを呼び出して値をフォーマットするために、私のprintDailyCost法を改正う£記号で印刷し、その後2つの 小数点以下の桁数に返されますか?

答えて

1

あなたは、単にそれらを一緒に追加し、それを返すことができます。

public String printDailyCost() { 
    return getDailyCost() + " £";   
} 

私はこの方法でStringを連結することはお勧めしませんが。より良い正しい方法で文字列を連結しStringBuilderを使用して、以下の方法で、使用します。

public String printDailyCost() { 
    return (new StringBuilder().append(getDailyCost()).append(" £")).toString();   
} 

をそれとも、コンソールにそれを印刷したい場合は、ちょうどこの操作を行います。

System.out.println(getDailyCost() + " £"); 
+0

私を助けてくれてありがとう! –

2

チェックこのアウト:

java.text.NumberFormat format = java.text.NumberFormat.getCurrencyInstance(java.util.Locale.UK); 
    System.out.println(format.format(getDailyCost()));