20145228 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

实验要求

•使用JDK编译、运行简单的Java程序;

•使用IDEA 编辑、编译、运行、调试Java程序。

实验内容

•命令行下Java程序开发

•IDEA下Java程序开发、调试

•练习(通过命令行和IDEA两种方式实现,在IDEA下练习调试程序)

•制作学生成绩管理系统,并进行测试

实验步骤

前期准备

1.预先安装好JDK,并配置好环境变量。

2.下载idealC-2016.1.1,安装完毕后在IDEA界面中配置JDK,为后期运行IDEA调试程序做准备。

需求分析

完成一个成绩管理系统,需要有几项功能:姓名、成绩的录入和查询,学生成绩的列表。

代码实现


import java.util.Scanner;
//import java.util.Arrays;
public class S
{
    //输入方法
    public static int scanner()
    {
        //初始化输入
        Scanner scanner=new Scanner(System.in);
        int us_str_int=0;
        try
        {
            us_str_int =scanner.nextInt();
        }
        catch(Exception e)
        {
            System.out.println("Error:请确保您输入的是1~5之间的数字," +
                    "并且没有特殊字符!");
            return 0;
        }
        if(us_str_int>0&&us_str_int<=5)
        {
            return us_str_int;
        }
        else
        {
            System.out.print("Error:超出命令范围!1~5");
            return 0;
        }

    }
    //输出方法
    public static void println(String str)
    {

        System.out.println(str);
    }

    public static void main(String[]Args)
    {
        //System.out.println( scanner());//测试
        //println("i");//测试

        Scanner scanner=new Scanner(System.in);
        boolean bool=true;
        boolean leb1=false;
        boolean leb2=false;
        int max=0;
        String[] students_name={};
        int[] students_cj={};
        do{


            println("********欢迎进入成绩管理系统********");
            println("请选择功能:1-姓名录入 2-成绩录入" +
                    " 3-成绩列表 4-成绩查询 " +
                    " 5-退出系统");
            int us_ml = scanner();//调用事先写好错误处理的输入函数

            switch(us_ml)
            {
                //功能1:
                case 1:

                    println("**********开始录入姓名**********");
                    println("请输入班级的人数");

                    try
                    {
                        max = scanner.nextInt();
                        students_name=new String[max];

                        for(int i=0;i<=students_name.length-1;i++)
                        {
                            println("请输入第"+(i+1)+"个人的姓名:");
                            students_name[i]=scanner.next();

                        }
                        println("**********录入已完成**********");
                        bool=true;
                        leb1=true;

                    }
                    catch(Exception e)
                    {
                        println("Error:输入有误!");
                        bool=true;
                        leb1=false;
                    }
                    break;
                //功能2
                case 2:
                    //println(Arrays.toString(students_name));//用于测试
                    if(leb1==true)
                    {
                        students_cj= new int[students_name.length];
                        println("********开始录入成绩********");
                        for(int i=0;i<=students_name.length-1;i++)
                        {
                            println("学生姓名:"+students_name[i]+",成绩:?");
                            students_cj[i]=scanner.nextInt();
                            leb2=true;
                        }
                        println("********成绩录入完成********");
                        bool=true;
                        leb2=true;
                    }
                    else
                    {
                        println("Erorr:您还没有输入班级人数或学生姓名!");
                        bool=true;
                        leb2=false;
                    }
                    break;
                case 3:
                    if(leb1==true&&leb2==true)
                    {
                        println("********成绩列表********");
                        for(int i=0;i<=students_name.length-1;i++)
                        {
                            System.out.println((i+1)+". "+students_name[i]+"学生的成绩:"
                                    +students_cj[i]+"分");
                        }
                        println("********成绩列表********");
                    }
                    else
                    {
                        println("Error:请检查你是否录入姓名和成绩?");
                    }

                    bool=true;
                    break;
                case 4:
                    if(leb1==true&&leb2==true)
                    {
                        println("********开始查询********");
                        println("请输入要查找的学生姓名");
                        String st_name=scanner.next();
                        int i=0;
                        for(i=0;i<=students_name.length-1;i++)
                        {
                            if(st_name.equalsIgnoreCase(students_name[i]))
                            {
                                break;
                            }
                        }
                        if(i<=students_name.length-1)
                        {
                            System.out.println("学生"+students_name[i]+"的分数为:"
                                    +students_cj[i]+"分");
                        }
                        else
                        {
                            println("Error:请检查你是否录入该姓名和成绩?");
                        }
                        println("********结束查询********");
                    }
                    else
                    {
                        println("Error:请检查你是否录入姓名和成绩?");
                    }
                    bool=true;
                    break;
                case 5:
                    bool=false;
                    break;
            }
        }while(bool);

}}

分析总结

在这次实验中,出现了许多问题,许多语法知识还不够熟练,只能从网上查找相关资料,借鉴并加以改动,再应用到自己的代码中。另外,刚开始编写代码时,没有初始化输入,导致运行错误,经过多次改进,才得以成功运行。

感悟

第一次JAVA实验,应用平时学到的知识来完成一个小程序,这时一些问题就出来了,解决这些问题的过程也就是我们成长、进步的过程,才能在未来的JAVA学习中提高更多。

PSP(Personal Software Process)时间

步骤 耗时 百分比
需求分析 10min 10%
设计 20min 20%
代码实现 40min 40%
测试 15min 15%
分析总结 15min 15%

参考资料

posted @ 2016-04-10 17:55  20145228江苒  阅读(389)  评论(0编辑  收藏  举报