JAVA 的问题,我编写的程序运行时显示结果的窗口出不来,大家能帮我找到问题在哪里吗?

题目:有一个卡拉OK比赛,共有10个评委打分,得分规则为去掉一个最高分和一个最低分剩余分数的平均分即为选手得分,编写一个Java程序让用户输入10个评委的打分,计算选手的... 题目:
有一个卡拉OK比赛,共有10个评委打分,得分规则为去掉一个最高分和一个最低分剩余分数的平均分即为选手得分,编写一个Java程序让用户输入10个评委的打分,计算选手的得分
我的程序:
public class GetScore {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int i;
float a[]=new float[10],aver=0,max=0,min=a[0],s=0;
for(i=0;i<10;i++){
a[i]=sc.nextFloat();
if(a[i]>max) max=a[i];
if(a[i]<min) min=a[i];
s=s+a[i];
}
aver=(s-min-max)/8;
System.out.println("该选手的得分是:"+aver);
}
}
展开
 我来答
山野风景
2011-10-17 · TA获得超过8331个赞
知道小有建树答主
回答量:1028
采纳率:0%
帮助的人:483万
展开全部

原因:1、类头前少加一行:import java.util.*;

           2、输入选手得分时,每输入一个数,要按一次回车。共输入10个数,需相应按10次回车。附图为在NETBEANS6.8中运行的截图。 如果想界面友好些,可以稍修改代码为:

import java.util.*;

public class GetScore {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

int i;

float a[]=new float[10],aver=0,max=0,min=a[0],s=0;

for(i=0;i<10;i++){

                    System.out.println("请第"+Integer.toString(i+1)+"个评委亮分:");

a[i]=sc.nextFloat();

if(a[i]>max) max=a[i];

         if(a[i]<min) min=a[i];

         s=s+a[i];

}

        aver=(s-min-max)/8;

        System.out.println("该选手的得分是:"+aver);

}

}

弘菀柳XI
2011-10-17 · TA获得超过1052个赞
知道小有建树答主
回答量:238
采纳率:0%
帮助的人:90.3万
展开全部
你程序没什么大的问题,你只需
for(i=0;i<10;i++)
{ System.out.println("请评委亮分:");//这里增加一个输出即可
a[i]=sc.nextFloat();
if(a[i]>max) max=a[i];

前面没注意看你的算法,这个最高分最低分一般直接在循环里这样设置:
max=min=a[0];
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
马_卓
2011-10-17 · 超过14用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:37.2万
展开全部
你这个程序运行时没问题的,但是你的逻辑有点小问题,你的运行结果和预期的不太一样,min那个值一直是0,你取不到值。在for 里面家个判断,if(min==0) min=a[i]/
程序完全没问题了,祝你好运,。
还有你说的出不来的问题,应该是你没看到结果而已,你先要输入十个数字,才可以,、
或者像楼上所说,添加一条输出信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式