The_dream1121 2024-03-15 19:45 采纳率: 88.2%
浏览 4
已结题

java程序,投票问题

用java编写投票程序,假定a,b,c,d是的候选人,投票时主持人输入#,结束投票,统计四个候选人的得票数,无效票数和各个候选人的得票率

  • 写回答

3条回答 默认 最新

  • 檀越@新空间 2024-03-15 19:46
    关注

    The_dream1121 晚上好🌙🌙🌙
    本答案参考ChatGPT-3.5

    解决方案:

    1. 首先,需要定义四个候选人的初始得票数都为0。

    2. 然后,通过一个循环,让主持人输入投票结果。如果输入的是"#",则结束循环。

    3. 在循环中,接收主持人输入的候选人名字,并判断输入是否为a、b、c或者d。如果是其中之一,则将对应候选人的得票数加一;如果不是,则将无效票数加一。

    4. 循环结束后,计算各个候选人的得票率。得票率可以通过将每个候选人的得票数除以总得票数来计算。

    以下是Java代码示例:

    import java.util.Scanner;
    
    public class VoteProgram {
        public static void main(String[] args) {
            int aVotes = 0;
            int bVotes = 0;
            int cVotes = 0;
            int dVotes = 0;
            int invalidVotes = 0;
            int totalVotes = 0;
    
            Scanner scanner = new Scanner(System.in);
            String vote;
    
            while (true) {
                System.out.println("请输入候选人名字进行投票(输入#结束投票):");
                vote = scanner.nextLine();
    
                if (vote.equals("#")) {
                    break;
                }
    
                switch (vote) {
                    case "a":
                        aVotes++;
                        totalVotes++;
                        break;
                    case "b":
                        bVotes++;
                        totalVotes++;
                        break;
                    case "c":
                        cVotes++;
                        totalVotes++;
                        break;
                    case "d":
                        dVotes++;
                        totalVotes++;
                        break;
                    default:
                        invalidVotes++;
                        totalVotes++;
                        break;
                }
            }
    
            System.out.println("投票结果统计:");
            System.out.println("候选人a的得票数:" + aVotes);
            System.out.println("候选人b的得票数:" + bVotes);
            System.out.println("候选人c的得票数:" + cVotes);
            System.out.println("候选人d的得票数:" + dVotes);
            System.out.println("无效票数:" + invalidVotes);
            System.out.println("总得票数:" + totalVotes);
    
            // 计算得票率
            double aVoteRate = (double) aVotes / totalVotes * 100;
            double bVoteRate = (double) bVotes / totalVotes * 100;
            double cVoteRate = (double) cVotes / totalVotes * 100;
            double dVoteRate = (double) dVotes / totalVotes * 100;
    
            System.out.println("候选人a的得票率:" + aVoteRate + "%");
            System.out.println("候选人b的得票率:" + bVoteRate + "%");
            System.out.println("候选人c的得票率:" + cVoteRate + "%");
            System.out.println("候选人d的得票率:" + dVoteRate + "%");
        }
    }
    

    这段代码实现了投票程序的功能。运行时,主持人可以输入候选人的名字进行投票,以"#"表示结束。程序会统计每个候选人的得票数,无效票数和得票率,并输出结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月23日
  • 已采纳回答 3月15日
  • 创建了问题 3月15日