请教下高手,这个报错The constructor worker(int, String, float) is undefined是怎么回事啊

packagearraylist;importjava.util.*;publicclassarraylist2{publicstaticvoidmain(String[... package arraylist;
import java.util.*;
public class arraylist2
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("输入号码");
int num=sc.nextInt();
System.out.println("输入姓名");
String name=sc.next();
System.out.println("输入薪水");
float sal=sc.nextFloat();
Emp emp=new Emp();
emp.addw(new worker(num,name,sal));
System.out.println(new worker().name);
}

}
class worker
{
int num;
String name;
float sal;
public void worker(int num,String name,float sal)
{
this.name=name;
this.num=num;
this.sal=sal;
}
}
class Emp
{
ArrayList a1=new ArrayList();
public void addw(worker w1)
{
a1.add(w1);
}
}
展开
 我来答
杜忆楣03D
推荐于2016-01-15 · TA获得超过458个赞
知道小有建树答主
回答量:364
采纳率:0%
帮助的人:392万
展开全部
import java.util.*;
public class Arraylist2 //注意java编程规范,谈旅扰类名一般是首字母大写,
{
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
System.out.println("输入号码");
int num=sc.nextInt();
System.out.println("输入姓名");
String name=sc.next();
System.out.println("输入薪水");
float sal=sc.nextFloat();
Emp emp=new Emp();
Worker w=new Worker(num,name,sal);
emp.addw(w); //镇瞎这里进行了修改
System.out.println(w.name);/含旦/应为这里需要用到w.name
}

}
class Worker
{
int num;
String name;
float sal;
public Worker(int num,String name,float sal) //这里你写成了方法把void 去掉
{
this.name=name;
this.num=num;
this.sal=sal;
}
}
class Emp
{
ArrayList a1=new ArrayList();
public void addw(Worker w1)
{
a1.add(w1);
}
}
genghaweb
推荐于2018-03-28 · TA获得超过105个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:119万
展开全部
构造函数不需要加void,直接定义成
public worker(int num,String name,float sal)
{
this.name=name;
this.num=num;
this.sal=sal;
}
就可以了,如果加上返回类型,就成为明棚普通函数而不是构造方配尺法培槐高了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式