黑马程序员技术交流社区
标题:
急!!!求解!希望大家帮忙看看……非常感谢啊!
[打印本页]
作者:
莫若吻
时间:
2014-4-13 23:27
标题:
急!!!求解!希望大家帮忙看看……非常感谢啊!
问题:定义一个实型(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)+"个,");
}
}
}
}
}
}
作者:
Kelvinhu
时间:
2014-4-13 23:42
本帖最后由 Kelvinhu 于 2014-4-13 23:43 编辑
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();
int times = 0;
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)+"个,");
times=times+1;
}
}
}
if (times==0) {
System.out.println("不存在");
}
}
}
}
复制代码
代码虽然改好了。但。。你这这么写太混乱了:L 明显不像有20个技术分的人啊~~~
作者:
t_mac
时间:
2014-4-13 23:58
建议查询 封装 为一个方法, 返回值为int 找到 了 返回对应 的index 找不到 返回-1 通过返回值做if判断 这样会更加清晰~
作者:
路西法
时间:
2014-4-14 00:11
给个技术分
package day02;
import java.util.Scanner;
public class heima01 {
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();
Boolean flag= true;
for(int j=0;j<score.length;j++)
{
if(m==score[j])
{
System.out.print("你要找的成绩是"+"第"+(j+1)+"个,");
flag =false;
}
}
if(flag){
System.out.print("您所输入的分数值"+m+"超出学生成绩范围!");
}
}
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2