歌手评分系统java代码 歌手打分系统

求JAVA评委打分代码正好我闲着,给你写一个吧 。
我写的这个评委分数是在代码里固定到数组里了,如果你需要运行时手动输入评分,可以将oldScores里的数据改成手动输入就行了(这个不用我再写了吧,如果不会再追问,再告诉你) 。
你先新建一个类,将下面的main方法全部复制进去就能运行了,自己看一下吧 。
/** 主方法 */
public static void main(String[] args)
{
/** 保存原始评分的数组(如果你需要运行时手动输入分数,将 oldScores中的数据改成手动输入就行了 */
double[] oldScores = {15, 77, 55, 88, 79, 98, 67, 89, 68, 88};
/** 最终将用来保存排序后的数组 */
double[] scores = new double[oldScores.length];
double temp;
/** 平均分 */
double avg = 0;
int k;
/** 将原始评分放入最终排序数组 */
for (int i = 0; ioldScores.length; i)
{
scores[i] = oldScores[i];
}
/** 开始排序 */
for (int i = 0; iscores.length - 1; i)
{
k = i;
for (int j = i1; jscores.length; j)
{
if (scores[k]scores[j])
{
k = j;
}
}
if (i != k)
{
temp = scores[k];
scores[k] = scores[i];
scores[i] = temp;
}
}
/** 计算去掉最高分和最低分之后的和 */
double sum = 0;
/** 记录计算平均分的分数个数 */
double num = 0;
for (int i = 1; iscores.length - 1; i)
{
num;
sum= scores[i];
}
/** 计算平均分 */
avg = sum / num;
/** 最公平的肯定不是在scores数组两端 */
double zgp = 0;
double cha = 0;
/** 标记与平均值差值最小的分数位置 */
int flag = 0;
/** 开始寻找最公平评分 */
for (int i = 1; iscores.length - 1; i)
{
/** 为cha赋初始值,注意比较差值要使用绝对值比较 */
if (i == 1)
{
cha = Math.abs(scores[i] - avg);
}
double cha1 = Math.abs(scores[i] - avg);
if (cha1cha)
{
cha = cha1;
flag = i;
}
}
zgp = scores[flag];
/** 由于最不公平的分数肯定在scores数组的第一个或者是最后一个 */
double bgp = 0;
if (Math.abs(scores[0] - avg)Math.abs(scores[scores.length - 1] - avg))
{
bgp = scores[0];
}
else
{
bgp = scores[scores.length - 1];
}
/** 全部计算完成 , 下面开始输出结果 */
System.out.println("原始评委分数如下:");
for (int i = 0; ioldScores.length; i)
{
System.out.print(oldScores[i]", ");
}
System.out.println();
System.out.println("排序后分数如下:");
for (int i = 0; iscores.length; i)
{
System.out.print(scores[i]", ");
}
System.out.println();
System.out.println("去掉最高分和最低分后平均分:"avg);
System.out.println("最公平分数:"zgp);
System.out.println("最不公平分数:"bgp);
}
用JAVA编写 “十个评委给一个歌手打分,求出打分的平均值,(去掉最高分和最低分)”怎么编写class Test
{
public static void main(String []args)
{
int a[]={4,458,53,44,84,22,86,114,98,41};
int q=0;
for(int i=0;i10;i)
{
for(int j=0;j10;j)
{
int temp=0;
if(a[i]a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
break;
}
}
}
a[0]=0;
a[9]=0;
for(int x=0;x10;x)
{
q=a[x] q;
}
q=q/8;
System.out.println("平均分是" q);
}
}
一个java歌唱比赛评分应用程序,急需,明晚上10点截至每个歌手可以看成一个对象,这样就可以建一个歌手的类,添加一些属性和get , set方法 , 主程序可以将路人的对象保存起来,评委打分可以通过循环来对每个歌手进行打分 , 将打好的分保存起来 , 进行数据处理,存到一个数组或者链表中,查找时可以通过输入编号得到对应的选手,再通过选手得到对应的分数;排序得分就更简单了,使用排序算法就可以解决,什么冒泡,快速排序都行的 。。。楼主代码还得自己敲
请高手帮忙调试java程序,谢谢 。楼主,稍微优化了一下代码,你自己调试一下 。
输出结果:
编号:1姓名:mm最后得分:48.0平均分:3.2名次:1
编号:1姓名:kk最后得分:47.0平均分:3.1333334名次:2
编号:1姓名:gg最后得分:36.0平均分:2.4名次:3
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;
import java.util.StringTokenizer;
public class SingleDemo {
public static void main(String[] args) {
showAll(sortAll(readAll("C:\\Documents and Settings\\xxx\\桌面\\tt.txt")));
}
// 读入文件中所有歌手的信息
private static ArrayListSinger readAll(String path) {
BufferedReader reader = null;
ArrayListSinger list = new ArrayListSinger();
try {
File file = new File(path);
reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
StringTokenizer tokenizer = new StringTokenizer(line, "|**|");
int count = 1;
Singer singer = new Singer();
while (tokenizer.hasMoreTokens()) {
String tempValue = https://www.04ip.com/post/tokenizer.nextToken();
if (count == 1) singer.setId(Integer.parseInt(tempValue));
if (count == 2) singer.setName(tempValue);
if (count == 3) {
String[] tempScore = tempValue.split(",");
float[] scores = new float[15];
for (int i = 0; itempScore.length; i) {
scores[i] = Float.valueOf(tempScore[i]);
}
singer.setScore(scores);
}
count;
}
list.add(singer);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (reader != null) reader.close();
reader = null;
} catch (IOException e) {
e.printStackTrace();
}
}
return list;
}
// 实现对所有歌手按平均分降序排序
private static ArrayListSinger sortAll(ArrayListSinger list) {
Collections.sort(list);
return list;
}
// 输出所有选手信息(包括编号、姓名、最后得分、名次)
private static void showAll(ArrayListSinger list) {
IteratorSinger it = list.iterator();
int n = 1;
while (it.hasNext()) {
Singer singer = it.next();
System.out.println("编号:"singer.getId()"\t姓名:"singer.getName()"\t最后得分:"singer.getLastScore()
"\t平均分:"singer.getAverage()"\t名次:"n);
n;
}
}
}
class Singer implements ComparableSinger {
private int id;
private String name;
private float[] score;
// 求总成绩
public float getLastScore() {
float count = 0;
for (float i : score) {
count= i;
}
return count;
}
// 求平均值
public float getAverage() {
return getLastScore() / score.length;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public float[] getScore() {
return score;
}
public void setScore(float[] score) {
this.score = score;
}
@Override
public int compareTo(Singer s) {
return this.getLastScore()s.getLastScore() ? -1 : this.getLastScore() == s.getLastScore() ? 0 : 1;
}
}
【歌手评分系统java代码 歌手打分系统】关于歌手评分系统java代码和歌手打分系统的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读