【发布时间】:2015-06-30 06:18:18
【问题描述】:
我正在尝试创建一个类Tax,它使用扫描仪变量从用户那里获取工资和税率,并使用用户的输入给出税后工资。
我得到的错误是 set-method 不能用于使用扫描仪变量。请提出解决方案。
代码如下:-
package new_version;
import java.util.Scanner;
class Tax
{
private int salary;
private double rate;
private double posttaxsal;
public int getSalary()
{
return salary;
}
public double getRate()
{
return rate;
}
public void setSalary(int newSalary)
{
salary = newSalary;
}
public void setRate(double newRate)
{
rate = newRate;
}
public double posttaxsal()
{
posttaxsal = salary - (salary*rate);
return posttaxsal;
}
}
public class Taxusinginput {
public static void main(String[] args) {
Tax test = new Tax();
Scanner s = new Scanner(System.in);
Scanner r = new Scanner(System.in);
test.setSalary(s);
test.setRate(r);
}
}
【问题讨论】:
-
您的函数需要一个 int 和一个 double,而不是 Scanner 对象。使用
Scanner.nextInt()和Scanner.nextDouble()。 -
观察:如果我是你,我会使用 Double 和 Integer 而不是原始类型。声明默认构造函数也是一个好习惯。另见不可变对象方法
标签: java java.util.scanner getter-setter