有一个班采用民主投票方法推选班长,班长候选人共4位,每个人姓名及代号分别为“张三1;李四2;王五3;赵六4”。程序操作员将每张选票上所填的代号(1、2、3或4)循环输入电脑,输入数字0结束输入,然后将所有候选人的得票情况显示出来,并显示最终当选者的信息,具体要求如下:
a、要求用面向对象方法,编写学生类student,将候选人姓名、代号和票数保存到类student中,并实现相应的getxxx 和 setxxx方法。
b、输入数据前,显示出各位候选人的代号及姓名(提示,建立一个候选人类型数组)。
c、循环执行接收键盘输入的班长候选人代号,直到输入的数字为0,结束选票的输入工作。
d、在接收每次输入的选票后要求验证该选票是否有效,即如果输入的数不是0、1、2、3、4这5个数字之一,或者输入的是一串字母,应显示出错误提示信息“此选票无效,请输入正确的候选人代号!”,并继续等待输入。
e、输入结束后显示所有候选人的得票情况,如参考样例所示。
f、输出最终当选者的相关信息,如参考样例所示。
1:张三【0票】
2:李四【0票】
3:王五【0票】
4:赵六【0票】
请输入班长候选人代号(数字0结束):1
请输入班长候选人代号(数字0结束):1
请输入班长候选人代号(数字0结束):1
请输入班长候选人代号(数字0结束):2
请输入班长候选人代号(数字0结束):3
请输入班长候选人代号(数字0结束):4
请输入班长候选人代号(数字0结束):5
此选票无效,请输入正确的候选人代号!
请输入班长候选人代号(数字0结束):hello
此选票无效,请输入正确的候选人代号!
请输入班长候选人代号(数字0结束):0
1:张三【4票】
2:李四【1票】
3:王五【1票】
4:赵六【1票】
投票最终结果:张三同学,最后以4票当选班长!
1、建立学生类,这个类里面需要保存有编号、姓名、票数。
1 package com.baidu.demo.vote;
2
3 public class student implements comparable{
4 private long sid;
5 private string name;
6 private int vote;
7 public student(long sid,string name,int v