问题:定义一个实型(double)数组,用来存放学生成绩,提示用户确定成绩的个数,根据个数创建数组。 提示用户输入每个成绩,为每个数组元素赋值,询问用户要查找分数为多少的成绩,找到相应的成绩则显示第几位同学符合查询条件,找不到相应的成绩,则显示没有该成绩,如果超出成绩范围则进行相应提示。
下面是我自己实现的部分功能,还不完善,请大家帮忙看需要怎么修改。感谢ing……我思考了一晚上,都没有结果,问题出在“找不到相应的成绩,则显示没有该成绩”这句,不知道如何再继续判断了……(我没有用函数,这是自己的笨方法。)
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner reader=new Scanner(System.in);//调用Scanner类,用来接收用户输入的数据
double[] score; //创建数组,存放学生成绩
int n; //学生个数
System.out.println("请您输出要存入的学生成绩个数:");
n=reader.nextInt();
if(n<0)
System.out.println("您所输入的学生成绩个数为:"+n+",这是错误的!!!");
else{
score=new double[n];
for(int i=0;i<n;i++) //为学生成绩数组赋值
{
System.out.println("请您输入第"+(i+1)+"个学生的成绩:");
score[i]=reader.nextDouble();
}
System.out.println("您想查找分数为多少的学生成绩?");
int m=reader.nextInt();
if(m<0||m>100)
System.out.print("您所输入的分数值"+m+"超出学生成绩范围!");
else
{
System.out.print("您所查找分数为"+m+"的成绩的学生是:");
for(int j=0;j<score.length;j++)
{
if(m==score[j])
{
System.out.print("第"+(j+1)+"个,");
}
}
}
}
}
}
|