题目:写一段代码选举候班长或者学委(类的继承)
package exc1;
import java.util.Scanner;
public class Election{
public static void main(String[] args) {
// TODO 自动生成的方法存根
候选人 p1=new 候选人("一号候选人",0);
候选人 p2=new 候选人("二号候选人",0);
候选人 p3=new 候选人("三号候选人",0);
候选人 p4=new 候选人("四号候选人",0);
候选人 p[]= {p1,p2,p3,p4};
int count=0;
System.out.println("1:一号候选人;2:二号候选人;3:三号候选人;4:四号候选人");
Scanner in=new Scanner(System.in);
int bh=0;
while(count++<33) {
System.out.println("请投票");
bh=in.nextInt();
if(bh>=1&&bh<=4) {
p[bh-1].setNum((p[bh-1].getNum()+1));
}
else {
System.out.println("请重新投票");
}
}
for(int i=0;i<4;i++) {
p[i].show();
}
int max=0,f=0;
for(int i=0;i<4;i++) {//判断得票最多者
if(p[i].getNum()>max) {
max=p[i].getNum();
f=i;
}
}
System.out.println(p[f].getName()+"当选为班长!");
}
}
class 候选人{
private Stringname;//私有成员变量,不能被外界修改
public StringgetName() {//获取私有变量的值
return name;
}
public void setName(String name) {//给私有成员变量赋值,无返回值
this.name = name;
}
private int num;//私有
public 候选人(String name,int num) {//有参构造函数
this.name=name;
this.num=num;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public void show() {
System.out.println(name+"票数是"+num);
}
}
刚开始写的时候for循环位置写错了,运行结果不对,改一遍才对,简单小题一道,练一下手。