注册 登录
编程论坛 JAVA论坛

求大神告知如何简化这段代码。。。我还没学到函数_(:з」∠)_

a5549877 发布于 2016-10-12 21:43, 1432 次点击
import java.util.*;
public class xuesheng {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int grade[]=new int [10];
        String student[]= new String[10];
        int fail[]=new int[10];

        for(int i=0;i<grade.length;i++){
            System.out.print("请输入学员姓名:");
            student[i]=input.nextLine();
            while(student[i].length()==0){//容错
                System.out.println("姓名不能为空,请重新输入");
                student[i]=input.nextLine();
            }//输入学员名
            
            System.out.print(student[i]+"成绩:");
            grade[i]=input.nextInt();
            while(grade[i]<0||grade[i]>100){//容错
                System.out.println("成绩输入错误,请重新输入");
                grade[i]=input.nextInt();
            
            }//输入学员成绩
        }
            
        int maxstu=grade[0];
        for(int i=1;i<grade.length;i++){
            if(grade[i]>maxstu){
                maxstu = grade[i];
            }
        }
        System.out.println("考试成绩最高为"+maxstu);//判断最高成绩
            
            
        int minstu=0;
        for(int i=1;i<grade.length;i++){
            if(grade[i]<minstu){
                minstu = grade[i];
            }
        }
        System.out.println("考试成绩最低为"+minstu);//判断最低成绩

        
        int num = 0;   
        for(int i=0;i<grade.length;i++){
            if(grade[i]<60){
                fail[num]=i;
                num++;
            }
            
        }
        System.out.println("不及格人数为"+num);//判断不及格人数
        
        for(int i=0;i<num;i++){
            int x= fail[i];
                System.out.println("不及格的学员为"+student[x]);
               
            }
        }//不及格人员名单

[此贴子已经被作者于2016-10-12 21:45编辑过]

1 回复
#2
word1232016-10-12 23:42
感觉没啥可简化啊,都是按照一个流程写下来的,又不能合并
或者你可以把执行的代码用函数封装,用类对象调用执行
1