【问题标题】:Whats wrong with carrying these Variables in Java? [duplicate]在 Java 中携带这些变量有什么问题? [复制]
【发布时间】:2016-01-29 23:38:28
【问题描述】:

目前正在学习 Java,似乎是更难的 Python 版本。现在,我们正在学习类,以及如何在类之间传递变量。项目很简单,给了我们两个与税收有关的类,一个是主要的,另一个是设置变量的。 在不调整主类的同时,你会如何去调试这些类?

主类:

public class TaxFormTest {

    public static void main(String[] args)
    {
        TaxForm michiganStateTaxForm = new TaxForm();

        michiganStateTaxForm.setTaxRate(.07);
        System.out.println("Tax Form Rate: " + michiganStateTaxForm.getTaxRate());

        michiganStateTaxForm.setTaxRate(.09);
        System.out.println("Tax Form Rate: " + michiganStateTaxForm.getTaxRate());
    }
}

中学班:

public class TaxForm{

    int taxRate;
    int rate;
    private double taxrate;

    public void setTaxRate()
    {
        taxRate = rate;
    }

    public double getTaxRate()
    {
        return taxrate;
    }

}

谢谢你能在这个问题上帮助我。

【问题讨论】:

  • 你复制了同一个课程两次。
  • 可能缺少什么?看起来您发布的两个课程都是相同的?无论如何,您似乎在练习的是如何使用访问器(setter/getter,即getTaxRate() 获取税率,setTaxRate(double) 设置税率)。当您调用该方法时,您创建的TaxForm 对象将返回或设置税率(取决于您调用的方法)。
  • 对不起那些家伙。我通过并调整了代码。菜鸟移动我的一部分。
  • 您的具体问题是什么?您是否调试过任何 Java 代码?
  • 我相信TaxForm 类不是更新/最新版本。 setTaxRate() 不接受参数。

标签: java class variables subclass


【解决方案1】:

你想调用一个 setter:

 michiganStateTaxForm.setTaxRate(.07);

这个 setter 接受一个 double 并将其设置在对象上。

因此,您的 setter 应如下所示:

public void setTaxRate(double rate)
    {
        taxRate = rate;
    }

同时从你的类 TaxForm 中删除 int rate; 这没有意义,因为你希望设置器将其作为参数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-06
    • 2020-01-12
    • 1970-01-01
    • 1970-01-01
    • 2016-08-03
    • 2020-06-17
    • 2019-05-08
    • 1970-01-01
    相关资源
    最近更新 更多