20145228 《Java程序設計》實驗報告一:Java開發環境的熟悉(Windows+IDEA)

實驗要求

•使用JDK編譯、運行簡單的Java程序;html

•使用IDEA 編輯、編譯、運行、調試Java程序。java

實驗內容

•命令行下Java程序開發小程序

•IDEA下Java程序開發、調試ide

•練習(經過命令行和IDEA兩種方式實現,在IDEA下練習調試程序)函數

•製做學生成績管理系統,並進行測試學習

實驗步驟

前期準備

1.預先安裝好JDK,並配置好環境變量。測試

2.下載idealC-2016.1.1,安裝完畢後在IDEA界面中配置JDK,爲後期運行IDEA調試程序作準備。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%

參考資料

相關文章
相關標籤/搜索