简单的KTV点歌系统

news/2024/11/8 2:50:29/

import java.util.Scanner;
public class markSystem {
 public static void main(String[] args) {
  int choose;
  Singer singer=new Singer();
  Scanner input=new Scanner(System.in);
  System.out.println("=======================================");
  System.out.println("          欢迎使用歌手打分系统                       ");
  System.out.println("=======================================");
   while(true){
   System.out.println("1、歌手打分   2、歌手排名   3、查看得分明细");
   System.out.print("请选择>>");
   choose=input.nextInt();
    if(choose==1){
     
     singer.grade(singer.SingerNumber, singer.SingerName, singer.score);
    }
    if(choose==2){
     singer.ranking(singer.SingerNumber, singer.SingerName,singer.score);
    }
    if(choose==3){
     singer.getinfo(singer.SingerNumber, singer.SingerName, singer.score);
    }
    if(choose<=0){
     continue;
    }
   }
 }
 

 

 
 
//Singer类是给歌手打分的
class Singer{
 
 int[] SingerNumber=new int[4] ;
 String[] SingerName=new String[4];
 float[][] score=new float[4][4];
 java.util.Scanner input=new java.util.Scanner(System.in);
 //实现歌手信息及评委打分的录入
 void grade(int[] SingerNumber,String[] SingerName,float[][] score){
  for(int i=0;i<4;i++){
   System.out.print("输入歌手编号>>");
   SingerNumber[i]=input.nextInt();
   System.out.print("输入歌手姓名>>");
   SingerName[i]=input.next();
   for(int j=0;j<4;j++){
    System.out.print("第"+(j+1)+"个评委打分>>");
    score[i][j]=input.nextFloat();
   }
  }
 }
 //获取所有歌手的信息
 void getinfo(int[] SingerNumber,String[] SingerName,float[][] score){
  System.out.println("=======================歌手详细信息======================");
  System.out.println("编号  姓名  评委1 评委2 评委3 评委4");
  for(int i=0;i<4;i++){
   System.out.print(SingerNumber[i]+"  "+SingerName[i]+"  ");
   for(int j=0;j<4;j++){
    System.out.print(score[i][j]+" ");
   }
   System.out.println();
  }
 }
 //这是实现歌手按平均成绩的排名函数
  void ranking(int[] SingerNumber,String[] SingerName,float[][] score){
  /* float max=0;
   float min=0;
   //找出评委的最高分和最低分
   for(int i=0;i<4;i++){
    for(int j=0;j<4;j++){
      max=score[i][0];
      min=score[i][0];
     if(max<score[i][j]){
      max=score[i][j];
     }
     if(min>score[i][j]){
      min=score[i][j];
     }
    }
   }*/
   //求歌手去掉最高分和最低分后的平均分
   float[] sum={0,0,0,0};
   float[] avg={0,0,0,0};
   for(int k=0;k<4;k++){
    for(int l=0;l<4;l++){
     /*if(score[k][l]>=min&&score[k][l]<=max){*/
      sum[k]=sum[k]+score[k][l];
    
     avg[k]=sum[k]/4;//求出4个选手的平均分
    }
   
   }
   //对平均分排序
  
  float temp;
  float[] last={avg[0],avg[1],avg[2],avg[3]};
  int[]num={0,0,0,0};
  for(int i=0;i<3;i++){
   for(int j=0;j<3-i;j++){
    if(avg[j]<avg[j+1]){
     temp=avg[j];
     avg[j]=avg[j+1];
     avg[j+1]=temp;
    }
   }
  }
  for(int k=0;k<4;k++){
   for(int l=0;l<4;l++){
    if(avg[k]==last[l]){
     num[k]=l;
    }
   }
  }
   System.out.println("================歌手排名===============");
   System.out.println("编号  姓名  平均成绩");
   for(int i=0;i<4;i++){
    System.out.print(SingerNumber[num[i]]+"  "+SingerName[num[i]]+"  "+avg[i]);
    System.out.println();
   }
  } 
 

}

 


http://www.ppmy.cn/news/345456.html

相关文章

KTV点歌系统数字点歌功能

大家好&#xff01;初来乍到&#xff0c;这是我在CSDN的第一篇文章&#xff0c;有写的不好的地方请大家及时指出&#xff0c;我会听取大家的建议&#xff0c;积极改正&#xff01; 最近在用winform学习的知识做KTV项目&#xff0c;要求有前台和后台管理系统&#xff0c;在做的…

如何用笔记本组建家庭点歌系统

有很多朋友希望用笔记本组建家庭点歌系统&#xff0c;具体方法是怎样的呢&#xff1f;下面&#xff0c;笔者手把手教你用笔记本组建家庭卡拉OK点歌系统。 一、安装点歌软件 二、接线 1&#xff09;视频线的连接 视频信号通过笔记本的“外接显示设备”接口输出到电视机。 笔记…

教你如何组建家庭卡拉OK系统

教你如何组建家庭卡拉 OK系统&#xff08;原创&#xff1a;K歌之王 &#xff09; 人们生活水平不断提高&#xff0c;工作之余休闲的项目也变得越来越丰富&#xff0c; 喜欢卡拉OK的朋友以前只有去歌厅消费&#xff0c;歌厅气氛虽然好&#xff0c;但毕竟卫生及安全方面还不是令…

【每日一题Day232】LC2699修改图中的边权 |最短路径

修改图中的边权【LC2699】 给你一个 n 个节点的 无向带权连通 图&#xff0c;节点编号为 0 到 n - 1 &#xff0c;再给你一个整数数组 edges &#xff0c;其中 edges[i] [ai, bi, wi] 表示节点 ai 和 bi 之间有一条边权为 wi 的边。 部分边的边权为 -1&#xff08;wi -1&…

(数组) 922. 按奇偶排序数组 II ——【Leetcode每日一题】

❓922. 按奇偶排序数组 II 难度&#xff1a;简单 给定一个非负整数数组 nums&#xff0c; nums 中一半整数是 奇数 &#xff0c;一半整数是 偶数 。 对数组进行排序&#xff0c;以便当 nums[i] 为奇数时&#xff0c;i 也是 奇数 &#xff1b;当 nums[i] 为偶数时&#xff0c…

【Selenium2+python】自动化unittest生成测试报告

前言 批量执行完用例后&#xff0c;生成的测试报告是文本形式的&#xff0c;不够直观&#xff0c;为了更好的展示测试报告&#xff0c;最好是生成HTML格式的。 unittest里面是不能生成html格式报告的&#xff0c;需要导入一个第三方的模块&#xff1a;HTMLTestRunner 一、导…

python_概率密度图

amtpd.read_excel(ramt.xlsx)import seaborn as sns sns.kdeplot(amt.limit_final_yxh)

HP DA1023电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件配置 硬件型号驱动情况 主板HP DA1023 处理器Intel(R) Core(TM) i5-8265U已驱动 内存8 GB 2400 MHz DDR4.已驱动 硬盘Samsung SSD 980 250GB(macOS)已驱动 显卡I…