java - 为什么我的 String[] 出现错误 "no suitable constructor found"?

标签 java

错误是 TestPayroll 没有“找到合适的构造函数”:
工资表 payroll = new Payroll(name, weeksPay);

构造函数应该是什么?我认为它应该在 Payroll 类中。

我想显示小蒂姆、布拉德皮特和麦当娜本周的工资。

import javax.swing.JOptionPane;

public class TestPayroll {

    private String [] name = {"Tiny Tim", "Brad Pitt", "Madonna"};
    private double [] payRate = {100.25, 150.50, 124.25};
    private double [] hrsWorked = {40, 35, 36};
    private double weeksPay;
    
    //Payroll object
    Payroll payroll = new Payroll(name, weeksPay);
        
        
    public static void main(String[] args) {
                    
    //Display weekly pay
    JOptionPane.showMessageDialog(null, "%s's pay for the week is: $%.2f\n", payroll[0].getName(), payroll[0].getWeeksPay()); 
        
    }   
                    
}

public class Payroll {
        
    public static void main(String[] args) {
        }
        
        private String name;
        private double payRate;
        private double hrsWorked;
        private double weeksPay;
        
        //default constructor
        public Payroll() {
            this.name = name;
            this.payRate = payRate;
            this.hrsWorked = hrsWorked;
            this.weeksPay = weeksPay;
        }
        
        //Payroll constructor
        public Payroll(String name, double weeksPay) {
            this.name = name;
            this.weeksPay = weeksPay;
        }
                
        //return name
        public String getName() {
            return name;
        }
        
        //set name
        public void setName(String name) {
            this.name = name;
        }
        
        //return pay rate
        public double getPayRate() {
            return payRate;
        }
        
        //set pay rate
        public void setPayRate(double payRate) {
            this.payRate = payRate;
        }
        
        //return hours worked for the week
        public double getHrsWorked() {
            return hrsWorked;
        }
        
        //set hours worked for the week
        public void setHrsWorked(double hrsWorked) {
            this.hrsWorked = hrsWorked;
        }
        
        //find week's pay
        public double getWeeksPay(double weeksPay) {
            double weeksPay = payRate * hrsWorked;
            return weeksPay;
        }   
                    
}

最佳答案

Payroll 有以下构造函数

    public Payroll(String name, double weeksPay) {/* some code */}

    public Payroll() {/* some */}

并且您将 String[] 作为第一个参数传递

关于java - 为什么我的 String[] 出现错误 "no suitable constructor found"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17620320/

相关文章:

java - Eclipse 中测试用例的命名约定

java - 从 JTextField 输入并将其与输入的字符串进行比较,然后移至下一个 JFrame

java - 为什么 session 超时后无法访问 servlet?

java - 使用 MongoDB 进行 Hibernate 配置

java - HttpMessageConversionException 中的 UnrecognizedPropertyException 未在 ControllerAdvice 中展开

java - "Required filename-based automodules detected."警告是什么意思?

java - 该算法中使用了什么数据结构?

java - 不初始化局部变量并将属性(整数)初始化为 0 背后的逻辑是什么?

java - 使用 BufferedOutputStream 创建大文件需要很长时间

java - 是否可以将方法引用转换为 MethodHandle?