永发信息网

java程序运行结果怎么是这样呢?

答案:6  悬赏:0  手机版
解决时间 2021-04-30 05:27

// 类名,方法名,属性名 都是拼音;
public class Person
{
//属性
protected String xingming;
protected int gongling;
protected int kuanggong;
protected int qingjia;
protected float xiaoshoue;

//方法
public Person(String xingming, int gongling, int kuanggong, int qingjia, float xiaoshoue)
{
this.xingming = xingming;
this.gongling = gongling;
this.kuanggong = kuanggong;
this.qingjia = qingjia;
this.xiaoshoue = xiaoshoue;
}
public Person()
{

}

public void setXingming(String xingming)
{
this.xingming = xingming;
}
public void setGongling(int gongling)
{
this.gongling = gongling;
}
public void setKuanggong(int kuanggong)
{
this.kuanggong = kuanggong;
}
public void setQingjia(int qingjia)
{
this.qingjia = qingjia;
}
public void setXiaoshoue (float xiaoshoue)
{
this.xiaoshoue = xiaoshoue;
}
public String getXingming()
{
return this.xingming;
}
public int getKuanggong()
{
return this.kuanggong;
}
public int getQingjia()
{
return this.qingjia;
}
public float getXiaoshoue()
{
return this.xiaoshoue;
}
public int getGongling()
{
return this.gongling;
}



public String tostring()
{
return ("---------------"+"\n"+
"姓名:" +this.xingming+"\n"+
"工龄:" +this.gongling+"\n"+
"旷工:" +this.kuanggong+"\n"+
"请假:" + this.qingjia+"\n"+
"销售额: " + this.xiaoshoue+"\n"+
"月薪:"+ Yuexin()+"\n"+
"--------------"+"\n");
}

public float Yuexin()
{
return (float)(700+gongling*100+xiaoshoue*0.05-kuanggong*50-qingjia*30);
}

}

public class Jingli extends Person
{
public Jingli(String xingming,int gongling,int kuanggong,int qingjia,float xiaoshoue)
{
super(xingming,gongling,kuanggong,qingjia,xiaoshoue);
}
public String tostring()
{
return ("---------------"+"\n"+
"姓名:" +this.xingming+"\n"+
"工龄:" +this.gongling+"\n"+
"旷工:" +this.kuanggong+"\n"+
"请假:" + this.qingjia+"\n"+
"销售额: " + this.xiaoshoue+"\n"+
"月薪:"+ Yuexin()+"\n"+
"--------------"+"\n");
}


public float Yunxin()
{
return (float)(1000+gongling*100+xiaoshoue*0.05-kuanggong*50-qingjia*30);
}

}

public class Zhiyuan3 extends Person
{
public Zhiyuan3 (String xingming,int gongling,int kuanggong,int qingjia,float xiaoshoue)
{
super(xingming,gongling,kuanggong,qingjia,xiaoshoue);
}
public String tostring()
{

return ("---------------"+"\n"+
"姓名:" +this.xingming+"\n"+
"工龄:" +this.gongling+"\n"+
"旷工:" +this.kuanggong+"\n"+
"请假:" + this.qingjia+"\n"+
"销售额: " + this.xiaoshoue+"\n"+
"月薪:"+ Yuexin()+"\n"+
"--------------"+"\n");
}


public float Yuexin()
{
return (float)(700+gongling*100+xiaoshoue*0.05-kuanggong*50-qingjia*30);
}
}

public class T
{
public static void main(String[] args)
{
Zhiyuan3 z = new Zhiyuan3 ("小俐",2,3,3,3958.4f);
Jingli j = new Jingli("小苗",4,5,6,98763.4f);


Person p1 = (Person) z;
Person p2 = (Person) j;


System.out.println(p1.toString());
System.out.println(p2.toString());


}
}

最佳答案

你太大意了,既然定义的是public String tostring()那么为什么又要调用P1.toString();


toString()默认是打印对象的字符串,如果想重载这个方法那么就把tostring给成toString,注意大小写。


-----


修改方法,把你的tostring()方法改为toString()


写该前输出如下:


Zhiyuan3@61de33
Jingli@14318bb


修改后输出如下:


---------------
姓名:小俐
工龄:2
旷工:3
请假:3
销售额: 3958.4
月薪:857.92
--------------


---------------
姓名:小苗
工龄:4
旷工:5
请假:6
销售额: 98763.4
月薪:5608.17
--------------




全部回答
楼主就是大意了。 在你的main方法中你调用的是.toSting() toString()是系统自带的,将一个对象转换成string类型。 而在你的代码中有一个叫tostring()的方法。这个时候你要运行的是你自己的tostring()而不是系统的toString()。 只需改一下main方法中System.out.println(p1.tostring()); System.out.println(p2.tostring());即可得到一下结果。 --------------- 姓名:小俐 工龄:2 旷工:3 请假:3 销售额: 3958.4 月薪:857.92 -------------- --------------- 姓名:小苗 工龄:4 旷工:5 请假:6 销售额: 98763.4 月薪:5608.17 --------------
父类中的计算工资方法也不是空的啊,我怎么看也没觉的用到了方法重写!
public static void main(String[] args) { Person z = new Zhiyuan3 ("小俐",2,3,3,3958.4f); Person j = new Jingli("小苗",4,5,6,98763.4f);

System.out.println(z.toString()); System.out.println(j.toString());

}

这样就行了!

如下是运行结果截图

把main方法里的

Person p1 = (Person) z; Person p2 = (Person) j;

System.out.println(p1.toString()); System.out.println(p2.toString());

修改成

System.out.println(z.toString());

System.out.println(j.toString());

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2009年10月29日(农历九月十二日)下午16:04
今天的3D和双色求大概会出什么?参考一下
什么你的美是什么歌曲,天灰灰,会不会,让我
我电脑网页上的字怎么变小了
忆·咖啡我想知道这个在什么地方
QQ旋风下不了东西
屠龙刀倚天剑吴启华版
为什么我上dnf老是连接失败都3天了
夸美女漂亮的句子搞笑,夸女生的俏皮话
谁知道【普通】手机QQ如何打出漂亮字符?…
今晚有没有宫心计看?
友情要怎样才能维持的久?
真有味火锅我想知道这个在什么地方
步入社会三年能创业吗?成功率有多少?
乐随享下载怎么要钱了
推荐资讯
cf30点荣誉怎么还点不亮?
猎狐者和斯沃特拿M4远距离射击目标哪个更精确
曾经拥有,不要忘记;已经得到,更要珍惜,属
鬼屋是怎样的
关于问问等级下的综合声望
手机不小心掉下来,然后开不了机了。这是什么
讽刺人情世故的诗词,形容遭遇坎坷,人情世故的
怀孕37天有呕吐反应吗
不走程序如何办理信用卡
草龟一个鼻孔堵住了,怎么办?
养蟹爪兰用什么土最好,蟹爪兰花期需要上肥料
关于内存帮帮忙
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?