2012-03-04 1 views
-1

通貨交換クラス:CurrencyExchangeクラスとクライアント

5つの国からの値に米ドルを変換するクラス通貨を作成します。現在の為替レートはhttp://www.fms.treas.gov/intn.html#ratesです。クラスは、為替レートとプライベートドルフィールドの定数を定義する必要があります。メソッドにはtoEuros、toPesosなどのユーティリティが含まれ、ドルフィールドを対応する通貨で返します。

クライアントアプリケーション:

ドルを希望の通貨に変換するJavaアプリケーションを開発します。エンドユーザーは、金額を入力し、どの通貨に変換するかを指定する必要があります。クライアントアプリケーションは、適切なメソッドを呼び出して、必要な通貨で等価を取得する必要があります。ドルの金額を表示すると、それはモニターに表示されます。ユーザー入力を取得するには、ScannerクラスまたはJOptionPaneクラスのいずれかを使用できます。スキャナクラスを使用して、サンプルランを以下に示す:(3)、

(1)ユーロ、(2)ポンドに変換する通貨を入力して5時00

は、金額を入力してくださいタカ、(4)円、(5)ルピー:

5.0ドル= 3.845ユーロ

希望する通貨を示すために、任意の方法を使用してもよいです。しかし、命令はエンドユーザに明確でなければならない。

これは私が、これは私がJGraspを使用してプログラムをコンパイルするたびに、それは私に欠けているシンボルエラーを与え続け

import java.util.Scanner; 

public class CurrencyExchangeClient 
{ 
    public static void main(String[] args) 
    { 
     Scanner in = new Scanner(System.in); 


     System.out.print("Enter a dollar amount: "); 
     double dollars = in.nextDouble(); 

     System.out.println("Enter the currency to convert to (1) euro, (2) pound, (3) taka, (4) yen, (5) rupees : "); 
     int response = scan.nextInt; 


     if (response == 1 || response == 2 || response == 3 || response == 4 || response == 5) 
     dollars = scan.nextDouble(); 

     switch (response) 
     { 
      case 1: getEuro(); 
        break; 
      case 2: getPound(); 
        break; 
      case 3: getTaka(); 
        break; 
      case 4: getYen(); 
        break; 
      case 5: getRupees(); 
        break; 
      default: System.out.println("Invalid Response"); 
     } 

     System.out.println(getCurrency()); 



    } 
} 

私のクライアントクラスである

public class CurrencyExchange 
{ 
    private double dollar; 
    private double euro, pound, taka, yen, rupees; 
    private double currency; 

    private static final double EURO = 0.7650; 
    private static final double POUND = 0.6370; 
    private static final double TAKA = 79.0000; 
    private static final double YEN = 78.0000; 
    private static final double RUPEES = 52.2500; 

    public CurrencyExchange() 
    { 
     dollar = 0; 
    } 

    public CurrencyExchange(double dollars) 
    { 
     dollar = dollars; 
    } 

    public void setEuro (double dollars) 
    { 
     euro = dollars * EURO; 
    } 

    public double getEuro() 
    { 
     return euro; 
    } 

    public void setPound (double dollars) 
    { 
     pound = dollars * POUND; 
    } 

    public double getPound() 
    { 
     return pound; 
    } 

    public void setTaka (double dollars) 
    { 
     taka = dollars * TAKA; 
    } 

    public double getTaka() 
    { 
     return taka; 
    } 

    public void setYen (double dollars) 
    { 
     yen = dollars * YEN; 
    } 

    public double getYen() 
    { 
     return yen; 
    } 

    public void setRupees (double dollars) 
    { 
     rupees = dollars * RUPEES; 
    } 

    public double getRupees() 
    { 
     return rupees; 
    } 

    public double getCurrency() 
    { 
     return currency; 
    } 

}

私のサービスクラスでありますしかし、なぜか分からない。サンプルアプリケーションプログラムのように見えるはずです。

さらに、toEuro(メソッド)が必要ですが、プライベートクラスの定数を削除して、アクセサリ/ミューテータメソッドでそれらを設定する必要があります。

CurrencyExchangeClient.java:14: error: cannot find symbol 
     int response = scan.nextInt; 
        ^
    symbol: variable scan 
    location: class CurrencyExchangeClient 

CurrencyExchangeClient.java:30: error: cannot find symbol 
      case 5: getRupees(); 
        ^
    symbol: method getRupees() 
    location: class CurrencyExchangeClient 

これはほんの数例です。

+0

コンパイラが提供する完全なエラーを表示してください。 – amit

+1

それを更新してください。 – blake

+0

完全に完全に編集されました。 – blake

答えて

2

構文エラーと論理エラーがあります。あなたが書くとして、私はIDEのような日食を使用することをお勧めいたしますでしょう

import java.util.Scanner; 

public class CurrencyExchangeClient 
{ 
    public static void main(String[] args) 
    { 
     Scanner scan = new Scanner(System.in); // you shod use this scanner object for getting inputs 


     System.out.print("Enter a dollar amount: "); 
     double dollars = scan.nextDouble(); 

     System.out.println("Enter the currency to convert to (1) euro, (2) pound, (3) taka, (4) yen, (5) rupees : "); 
     int response = scan.nextInt(); 

     // ... 
     CurrencyExchange currencyExchange = new CurrencyExchange(dollars); 

     switch (response) 
     { 
      case 1: // modified here to get the exact results as you need. 
       currencyExchange.setEuro(dollars); // this will convert the entered dollar into euros 
       System.out.println(currencyExchange.getEuro());// this will display the result 
       break; 
      //...change all other cases accordingly 
     } 

    } 
} 

あなたは、このようにすればいい

...、それはあなたを案内します。より多くのJavaの本を読んでください。

幸運。

+0

あなたのお手伝いをありがとう、私はそれを感謝します、私はプログラミングにますます多くを取得し始めるとうまくいけば、私は改善を続けることができます。 – blake

+0

確かめてください。がんばろう。それが答えなら、これを受け入れる..! :) – Dipin

1

最初のエラー

CurrencyExchangeClient.java:14: error: cannot find symbol 
    int response = scan.nextInt; 

あなたのスキャナがで呼ばれるように宣言しているためであるので、コンパイラはないあなたは、「スキャン」と呼ばれるものを使用しようとすると、何を意味しますか。

2番目のエラーは、クラスにgetRupees()メソッドがないためです。あなたはCurrencyExcangeを作成してそれを使用するつもりでしたか?

CurrencyExchange currencyExchange = new CurrencyExchange(); 

.... 

currencyExchange.getRupees(); 

アドバイスとして、プログラム全体を一度に書き込むのではなく、一度に1ステップずつ実行してみてください。エラーを処理して理解することは、一度に1つずつではなく、1つずつエラーを処理する方がずっと簡単です。

関連する問題