Java 投票系统

/*
定义一个候选人类Candidate,添加该类的姓名属性和票数属性,
添加重载构造方法;
 */
public class Candidate {
    private String name;
    private int voteNum;

    public Candidate() {
    }

    public Candidate(String name, int voteNum) {
        this.name = name;
        this.voteNum = voteNum;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getVoteNum() {
        return voteNum;
    }

    public void setVoteNum(int voteNum) {
        this.voteNum = voteNum;
    }
}
/*

定义一个参与投票的类Vote类,
添加一个候选人Candidate类型数组属性,添加重载的构造方法,
添加一个选举方法voting(),完成选举过程,同时统计每个候选的得票,
添加statistical_number()输出候选人得票,

 */

import java.util.Scanner;

public class Vote {
    private Candidate []arr=new Candidate[3];

    public Vote() {
    }

    public Vote(Candidate[] arr) {
        this.arr = arr;
    }

    public Candidate[] getArr() {

        return arr;
    }

    public void setArr(Candidate[] arr) {
        this.arr = arr;

    }

    public void voting(){
        System.out.println();
        System.out.println("开始投票。。。。。。。。。。。输入quit结束");
        System.out.print("请输入要选举的候选人:");
        Scanner sc=new Scanner(System.in);
        String input=sc.next();
        while(!input.equals("quit")){
            for (int i = 0; i < arr.length; i++) {
                if(input.equals(arr[i].getName())){
                    arr[i].setVoteNum(arr[i].getVoteNum()+1);
                }

            }
            System.out.print("请输入要选举的候选人:");
           input=sc.next();
        }
    }
    public void statistical_number(){
        System.out.println("输出每一个候选人的票数:");
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i].getName()+"得票数为:"+arr[i].getVoteNum());
        }
    }

}
/*
定义测试类,在测试类中创建,
初始化候选人类数组,用该数组做实参实例化Vote类对象,Vote类对象调用voting(),
调用statistical_number()输出候选人得票,
 */
import java.util.Scanner;
public class Test02 {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Candidate []arr=new Candidate[3];
        for(int i=0;i< arr.length;i++){
            System.out.println("请输入第"+(i+1)+"位候选人:");
            arr[i]=new Candidate(sc.next(),0);
        }
        System.out.print("候选人列表:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i].getName()+" ");
        }
        Vote vote=new Vote(arr);
        vote.voting();
        vote.statistical_number();
    }

}

结果展示:

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
投票系统是一个用于收集和统计投票信息的应用程序。它可以应用于各种场景,如选举、调查、评选等。 以下是一个简化的Java投票系统的源代码示例: ```java import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class VotingSystem { private static Map<String, Integer> candidates = new HashMap<>(); public static void main(String[] args) { Scanner scanner = new Scanner(System.in); // 添加候选人 System.out.print("请输入候选人姓名:"); String candidateName = scanner.nextLine(); while (!candidateName.equals("结束")) { candidates.put(candidateName, 0); System.out.print("请输入候选人姓名(输入“结束”以结束添加):"); candidateName = scanner.nextLine(); } // 投票 System.out.print("请输入要投票的候选人姓名:"); String voteCandidateName = scanner.nextLine(); while (!voteCandidateName.equals("结束")) { if (candidates.containsKey(voteCandidateName)) { candidates.put(voteCandidateName, candidates.get(voteCandidateName) + 1); } else { System.out.println("没有找到该候选人!"); } System.out.print("请输入要投票的候选人姓名(输入“结束”以结束投票):"); voteCandidateName = scanner.nextLine(); } // 统计投票结果 System.out.println("投票结果:"); for (Map.Entry<String, Integer> entry : candidates.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue() + " 票"); } scanner.close(); } } ``` 这个简单的投票系统首先会要求用户输入候选人的姓名,直到输入"结束"为止。然后用户可以输入要投票的候选人姓名,直到输入"结束"为止。系统会统计每个候选人的票数,并最终输出投票结果。 这个示例只涵盖了基本的投票功能,实际的投票系统可能包含更多功能,如验证投票资格、计票过程的并发处理、生成统计报告等。 这只是一个示例,实际的投票系统需要根据具体需求进行设计和实现。同时,为了确保投票的公正性和安全性,还需要考虑一些额外的安全措施,如身份验证、防止重复投票等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值