【发布时间】:2014-11-30 20:49:15
【问题描述】:
有人可以帮我做这个作业吗?
我尝试了一些方法,但我不确定我的解决方案是否涵盖所有任务。 我必须编写一个 Java 程序,它用 n 个学生(用户应该输入学生的数量)的第 5 学期的分数(如您所知,只有 5 个分数)初始化一个二维数组。
程序应该输出结果:
- 第五学期所有学生的平均成绩;
- 平均成绩最高的学生人数;
- 平均成绩最低的学生人数;
- 平均成绩高于所有学生平均成绩的学生人数;
- 平均成绩低于所有学生平均成绩的学生人数;
程序应按如下方式进行数据验证:学生的分数应在 2 到 6 之间,学生人数不应超过 30 人。
到目前为止,这是我的解决方案:
package ocenki;
public static void main(String[] args) {
Scanner scan = new Scanner (System.in ) ;
System.out.println ("Enter notes here:") ;
double [] marks= new double [5] ;
for ( int i=0; i<=4; i++)
{
System.out.println ("Please, input mark for " + i +(" subject")) ;
marks[i] = scan. nextDouble () ;
while (marks[i]<2 || marks[i]>6)
{
System.out.println ("Please, input marks between 2 and 6:") ;
marks[i] = scan.nextDouble () ;
}
}
double sum=0;
double min=marks[0];
double max=marks[0];
for ( int i=0; i<=4; i++)
{
sum = sum+marks[i] ;
if(marks[i]>max)
{
max=marks[i];
}
if(marks[i]<min)
{
min=marks[i];
}
}
System.out.println("The average is " + sum/5 + ", the minimum is " + min + " and the maximum is " + max);
}
【问题讨论】:
-
它出了什么问题?你期待什么,你看到了什么?
-
当我运行它时,它以“请输入0主题的标记”开头,它应该从1开始。而且我不知道如何编写问题中的第 4 和第 5 个任务。
-
for ( int i=0; i<=4; i++)。该行会将i初始化为0。所以这就是你看到 0 的原因。 -
是的..我修复了它,然后它不能正常工作......我不知道
-
啊,我做到了!谢谢:) 但是如何处理 4. 和 5. 有人知道吗?