java - 使用 getmethods 和 setmethods 输入作为扫描仪变量

标签 java java.util.scanner getter-setter

我正在尝试创建一个类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);
    }
}

最佳答案

setSalary 需要一个 int 参数,而不是 Scanner。您应该向其传递一个 int 值。

例如:

test.setSalary(s.nextInt());

setRate 也是如此。

除此之外,没有理由创建两个 Scanner 实例。

public static void main(String[] args) {

    Tax test = new Tax();

    Scanner s = new Scanner(System.in);

    test.setSalary(s.nextInt());
    test.setRate(s.nextDouble());
}

关于java - 使用 getmethods 和 setmethods 输入作为扫描仪变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31130955/

相关文章:

java - 如何使用 Scanner (Java) 只读取一个值?

java - 扫描仪添加和删除项目

java - 发送视频作为对用户的响应

java - 数据结构与算法实现-字典

java - 如何使用扫描仪检查行尾?

ios - 如何符合协议(protocol)变量的设置和获取?

Java:setter 应该生成 `Clone` 还是由调用者传递 `new` 副本?

c++ - 计算器类函数

java - 当我们更新操作系统时,Android 的 Build 类会受到影响吗?

java - 带子串的for循环