这是一个用Java编译的求学生平均成绩的代码:
import java.util.Scanner;
public class student
{
public static void main(String [] args)
{
System.out.println("请输入学生的考试分数,每输入一个按回车确认。");
System.out.println("最后,输入任一个非数字字符表示结束。");
double sum=0;
float sum1=0;
double x=0;
int m=0;
Scanner reader=new Scanner(System.in);
while(reader.hasNextDouble())
{
m++;
sum+=reader.nextDouble();
}
sum1=(float)(sum/m);
//System.out.printf("%d 个学生的总分数为:%f",m,sum);
System.out.println("");
System.out.println("★共输入"+m+"个学生。");
System.out.println("★"+m+"个学生的总分为:"+sum);
System.out.println("★"+m+"个学生的平均分为:"+sum1);
System.out.println();
}
}
上面的代码可以运行通过;
但是我想求出输入成绩的最大值和最小值;
要想比较大小,必须把所输入的数保存;
可是想到了把输入的数保存到一个数组里面;
于是就写了下面的代码:
import java.util.Scanner;
public class student1
{
public static void main(String [] args)
{
System.out.println("请输入学生的考试分数,每输入一个按回车确认。");
System.out.println("最后,输入任一个非数字字符表示结束。");
double sum=0;
float sum1=0;
double x=0;
int m=0;
double [] sum2={};
Scanner reader=new Scanner(System.in);
while(reader.hasNextDouble())
{
m++;
sum2[m]=reader.nextDouble();
sum+=reader.nextDouble();
}
sum1=(float)(sum/m);
//System.out.printf("%d 个学生的总分数为:%f",m,sum);
System.out.println("");
System.out.println("★共输入"+m+"个学生。");
System.out.println("★"+m+"个学生的总分为:"+sum);
System.out.println("★"+m+"个学生的平均分为:"+sum1);
}
}
这个代码编译能通过,但是输入数据的时候就会出错;
你们可以试试;
请大家帮帮忙
谢谢!