2023-03-24

题目:写一段代码选举候班长或者学委(类的继承)

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循环位置写错了,运行结果不对,改一遍才对,简单小题一道,练一下手。

你可能感兴趣的:(2023-03-24)