Java CurrencyExchange类和客户端

Java CurrencyExchange类和客户端,java,Java,货币兑换类别: 开发一种等级货币,将美元转换为您选择的5个国家的货币。当前汇率可在以下网址找到:。该类应该为汇率和私有美元字段定义常量。方法可能包括以相应货币返回美元字段的实用程序,如toEuros、toPesos等 客户端应用程序: 开发一个Java应用程序,将美元转换成所需的货币。最终用户应提供美元金额,并指明要转换为哪种货币。客户机应用程序应调用适当的方法以获得所需货币的等值。在显示器上显示美元金额及其等价物。您可以使用Scanner或JOptionPane类来获取用户输入。使用Scann

货币兑换类别:

开发一种等级货币,将美元转换为您选择的5个国家的货币。当前汇率可在以下网址找到:。该类应该为汇率和私有美元字段定义常量。方法可能包括以相应货币返回美元字段的实用程序,如toEuros、toPesos等

客户端应用程序:

开发一个Java应用程序,将美元转换成所需的货币。最终用户应提供美元金额,并指明要转换为哪种货币。客户机应用程序应调用适当的方法以获得所需货币的等值。在显示器上显示美元金额及其等价物。您可以使用Scanner或JOptionPane类来获取用户输入。使用Scanner类运行的示例如下所示:

输入美元金额:5:00

输入要转换为的货币

(1) 欧元、(2)英镑、(3)塔卡、(4)日元、(5)卢比:

5.0美元=3.845欧元

您可以使用任何方法来指示所需的货币。但是,最终用户必须清楚地了解说明

这是我的服务课

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;
    }
}

这是我的客户端类

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());



    }
}
每当我使用JGrasp编译程序时,它总是给我一个缺少符号的错误,但我不知道为什么。它应该看起来像示例应用程序

此外,还需要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
这些只是几个例子。

第一个错误

CurrencyExchangeClient.java:14: error: cannot find symbol
    int response = scan.nextInt;
因为您声明要调用扫描仪,所以编译器现在不知道您尝试使用“扫描”时的意思

第二个错误是因为您的类没有任何getrupes()方法。也许你想创建一个CurrencyExchange并使用它

CurrencyExchange currencyExchange = new CurrencyExchange();

....

currencyExchange.getRupees();

作为建议,试着一步一个脚印,而不是一次完成整个程序。处理和理解错误比一次处理一个错误要容易得多,而不是一大堆错误。

语法错误和逻辑错误都存在

你应该这样做

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
        }

    }
}
我建议您像IDE一样使用eclipse,它将指导您编写代码。阅读更多java书籍


祝你好运。

请展示编译器给你的完整错误。感谢你的帮助,我对此表示感谢,希望我能在开始越来越多地学习编程的同时不断提高。