Java基础案例3-4:学生投票系统

【案例3-4】学生投票系统

【案例介绍】

某班级投票竞选班干部,班级学生人数为100人,每个学生只能投一票。
本任务要求,编程实现一个投票程序,每个学生只能投一次票,投票成功提示“感谢你的投票”,若重复投票,提示“请勿重复投票”。当投票总数达到100时或者主观结束投票时,同时统计投票学生人数和投票结果。

【代码】

package com.j2se.myInstances.example3_4;

import java.util.HashSet;
import java.util.Set;

public class Voter {
    private static int MAX_VOTERS = 100;
    private static int count;  // 投票次数
    private static Set<Voter> voterSet = new HashSet<Voter>();  // 存放已投过的学生
    private String name;
    private String advice;  // 投票意见

    public Voter(String name) {
        this.name = name;
    }

    // 投票
    public void vote(String advice) {
        if (count == MAX_VOTERS) {
            System.out.println("投票结束。");
            return;
        }

        if (!voterSet.contains(this)) {
            this.advice = advice;
            count++;
            voterSet.add(this);
            System.out.println(name + "已完成投票");
        } else {
            System.out.println(name + ", 一人仅能投票一次哦~");
        }
    }

    public static void show() {
        System.out.println("当前投票数:" + count);
        System.out.println("本次投票结果为:");
        for (Voter voter : voterSet) {
            System.out.println(voter.name + ", 意见:" + voter.advice);
        }
    }

    public static void main(String[] a) {
        Voter james = new Voter("James");
        Voter durant = new Voter("Durant");
        Voter curry = new Voter("Curry");

        james.vote("是");
        durant.vote("否");
        durant.vote("否");
        curry.vote("是");

        Voter.show();
    }
}

  • 40
    点赞
  • 254
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jayvee_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值