关于两个类的创建的问题!
    使用JAVA编程语言创建两个类Vote和Candidate。Vote类包括统计选票的数据域count,以及读取和处理选票的getCount、setCount、clear、increment和decrement方法,clear方法将票数count置为0,increment和decrement方法增加和减少票数。Candidate类具有数据域name(代表的姓名)、vote(记录代表接收的选票)和numberOfCandidates(记录代表的总数),以及读取name、vote和numberOfCandidates的getName、getVote和getNumberOfCandidates方法。 
     编写测试程序,统计竞选学生会主席的两个代表的选票。选票从键盘输入,数字1是代表1的选票,数字2代表2的选票。数字-1扣除代表1的一张选票,-2扣除代表2的一张选票,数字0表示统计结束。恳请各位高手建议!谢谢!

解决方案 »

  1.   

    public class Vote {
    private int count;
    public Vote(){
    }
    public int getCount(){
    return count;
    }
    public void setCount(int count){
    this.count=count;
    }
    public void increment(){
    count++;
    }
    public void decrement(){
    count--;
    }
    public void clear(){
    count=0;
    }
    }public class Candidate {
    private String name;
    private Vote vote;
    private int numberOfCandidates;
    public Candidate(String name){
    this.name=name;
    this.vote=new Vote();
    }
    public String getName() {
    return name;
    }
    public int getNumberOfCandidates() {
    return numberOfCandidates;
    }
    public Vote getVote() {
    return vote;
    }
    }import java.io.InputStream;
    import java.util.Scanner;public class Test {
    public static void main(String[] args){
            Candidate candidateA=new Candidate("A");
            Candidate candidateB=new Candidate("B");
            Vote voteA=candidateA.getVote();
            Vote voteB=candidateB.getVote();
            InputStream is=System.in;
            Scanner scanner=new Scanner(is);
            int num=0;
            boolean finished=false;
            while(!finished&&scanner.hasNext()){
             try{
             num=Integer.parseInt(scanner.next().trim());
             }catch(NumberFormatException e){
             System.out.println("只能输入数字\n\r");
             continue;
             }
             switch(num){
             case 0:
             finished=true;
             System.out.println("统计选票完毕:");
             break;
             case 1:
             voteA.increment();
             System.out.println(candidateA.getName()+"增加一票");
             continue;
             case 2:
             voteB.increment();
             System.out.println(candidateB.getName()+"增加一票");
             continue;
             case -1:
             voteA.decrement();
             System.out.println(candidateA.getName()+"减少一票");
             continue;
             case -2:
             voteB.decrement();
             System.out.println(candidateB.getName()+"减少一票");
             continue;
             default:
             System.out.println("输入不合法,请重新输入\n\r");
             continue;
             }
            }
            System.out.println(candidateA.getName()+"得票总数为:"+candidateA.getVote().getCount());
            System.out.println(candidateB.getName()+"得票总数为:"+candidateB.getVote().getCount());
        }
    }