一、实验内容及步骤

(一)使用JDk编译、运行简单的Java程序

(一)使用JDk编译、运行简单的Java程序

输入cd Code命令进入Code目录

输入mkdir 20175308建立实验目录

ls查看当前工作目录

cd 20175308进入实验目录,mkdir exp1建立第一个实验目录

cd exp1进入第一个实验目录,pwd查看当前工作路径

vim Hello.java编辑Hello.java

javac -d . Hello.java编译代码

java Hello运行代码

java程序实验报告实验用设备软件环境 java运行环境实验报告_c/c++

(二)使用IDEA调试Java

判断循环内部是否有问题。添加条件断点:在for循环中添加i为50的断点程序

 

java程序实验报告实验用设备软件环境 java运行环境实验报告_开发工具_02

  • 在某一行添加断点
  • rundebug调试当前代码
  • Step Over向下执行一行
  • sum=11

java程序实验报告实验用设备软件环境 java运行环境实验报告_开发工具_03

 

(三)练习

学生成绩管理系统

代码

Test.java

import java.util.Scanner;
public class Test {
    public static void main(String[] args) {
        Scanner input = new Scanner((System.in));
        String choice = "1";
        ScoreList studentScoreList = new ScoreList();
        System.out.println("**********学生成绩管理系统********");
        while(choice.equals("0") == false){
            System.out.println("1.查看学生成绩单");
            System.out.println("2.添加学生成绩记录");
            System.out.println("3.修改学生成绩记录");
            System.out.println("4.删除学生成绩记录");
            System.out.println("5.查看某位学生成绩记录");
            System.out.println("6.统计这门课平均分、最高分和最低分");
            System.out.println("7.按成绩从高往低排序,并输出");
            System.out.println("0.退出程序");
            System.out.print("Enter your choice: ");
            choice = input.next();

            switch (choice){
                case"0":
                    System.out.println("谢谢您的使用,欢迎下次光临!");
                    break;
                case"1":
                    studentScoreList.trascript();
                    System.out.println("请问您还需要什么服务?\n");
                    break;
                case"2":
                    int i = 1;
                    do {
                        studentScoreList.add();
                        System.out.println("\n是否继续添加?"+"\n"+"0.否"+"1.是");
                        i=input.nextInt();
                    }while (i ==1);
                    System.out.println("请问您还需要什么服务?\n");
                    break;
                case "3":
                    studentScoreList.recompose();
                    System.out.println("请问您还需要什么服务?\n");
                    break;
                case "4":
                    studentScoreList.delete();
                    System.out.println("请问您还需要什么服务?\n");
                    break;
                case"5":
                    studentScoreList.inquire();
                    System.out.println("请问您还需要什么服务?\n");
                    break;
                case "6":

                    System.out.println("请问您还需要什么服务?\n");
                    break;
                case "7":
                    studentScoreList.sort();
                    studentScoreList.trascript();
                    System.out.println("请问您还需要什么服务?\n");
                    break;
                default:
                    System.out.println("Invalid input! Please enter again.");
                    break;

            }

        }
    }
}
public class ScoreList {
    int maxLength = 100;
    int length = 0;
   Score[] data = new Score[maxLength];
    Scanner input = new Scanner(System.in);
    public ScoreList(){

    }

    public void add(){
        if(length<maxLength){
            data[length] = new Score();
            System.out.print("请输入学生的学号:");
            data[length].setNum(input.next());
            System.out.println("请输入学生的姓名:");
            data[length].setName(input.next());
            System.out.println("请输入学生的成绩");
            data[length].setScore(input.nextDouble());
            length++;
            System.out.println("添加成功!");
        }
        else {
            System.out.println("添加失败!");
        }
    }

    public void trascript(){
        System.out.println("==================================================");
        System.out.println("学号                姓名                 成绩    ");
        for (int i=0;i<length;i++){
            System.out.println(data[i].num+"\t"+data[i].name+"\t"+data[i].score);
        }
        System.out.println("==================================================\n");
    }

    public void sort(){
        Score temp = new Score();
        for(int i = 1;i<length;i++){
            for(int j=0;j<length-i;j++){
                if(data[j].score<data[j+1].score){
                    temp = data[j];
                    data[j]=data[j+1];
                    data[j+1]=temp;
                }
            }
        }    
}
SocerLIst.java    
public void delete(){
        System.out.println("请输入你要删除的学号:");
        String number1 = input.next();
        int i,flag=length;
        for(i = 0;i<length;i++){
            if(number1.equals(data[i].num)){
                flag=i;break;
            }
        }
        if(i == length){
            System.out.println("查无此人!请核对后重新输入\n");
            delete();
        }
        else{
            for(int j = flag;j < length;j++){
                data[j] = data[j+1];
            }
            System.out.println("删除成功!\n");
            length -=1;
        }
    }
    public void insert(){
        length +=1;
        if(length<=maxLength) {
            System.out.println("请输入您要添加的学生信息");
            System.out.print("请输入学生的学号:");
            data[length].setNum(input.next());
            System.out.println("请输入学生的姓名:");
            data[length].setName(input.next());
            System.out.println("请输入学生的成绩");
            data[length].setScore(input.nextDouble());
            System.out.println("添加成功!");
        }
        else {
            length -=1;
            System.out.println("人数已满");
        }
    }
    public void inquire(){
        System.out.println("请输入你要查询的学生的学号");
        String number2 = input.next();
        int i;
        for(i = 0;i < length;i++){
            if(number2.equals(data[i].num)){
                System.out.println("==================================================");
                System.out.println("学号                姓名                 成绩    ");
                    System.out.println(data[i].num+"\t"+data[i].name+"\t"+data[i].score);
                System.out.println("==================================================\n");
                break;
            }
        }
        if(i == length){
            System.out.println("查无此人!请核对后重新输入\n");
            inquire();
        }
    }
    public void recompose(){
        System.out.println("请输入要修改的学生的学号:");
        String number3 = input.next();
        int i;
        for(i = 0; i < length; i++) {
            if(number3.equals(data[i].num)) {
                System.out.println("请输入该学生新的学号,姓名和成绩:");
                data[i].setNum(input.next());
                data[i].setName(input.next());
                data[i].setScore(input.nextDouble());
                System.out.println("修改成功!\n");
                break;
            }
        }
        if(i == length) {
            System.out.println("查无此人!请核对后重新输入学号\n");
            recompose();
        }
    }
}
Score,java
public class Score {



String num;
    String name;
    double score;

    public class Scor {

    }
        public void setNum(String num) {
            this.num = num;
        }

        public void setName(String name) {
            this.name = name;
        }

        public void setScore(double score) {
            this.score = score;
        }
    }


运行截图

java程序实验报告实验用设备软件环境 java运行环境实验报告_java_04

java程序实验报告实验用设备软件环境 java运行环境实验报告_java_05

java程序实验报告实验用设备软件环境 java运行环境实验报告_java程序实验报告实验用设备软件环境_06

java程序实验报告实验用设备软件环境 java运行环境实验报告_java_07

三。设计思路

通过将问题从大化小来完成,大问题化为录入,排序,增添,删改,输出,来完成。将去年C语言的学生成绩管理系统看了一遍之后根据C语言的思路来写了java

四、实验总结与体会

1.做实验的时候,学生管理系统在C语言上也有涉及,但是我在java上感受到了不一样的实现方法,相比于C语言来说java更加灵活,可以实现的方式更加的多元化,录入,输出,排序,删除,通过各种方法来完成这一项项的任务,最后将这些功能全部加到Test里来完成实验,本次实验让我复习掌握了以前所学的知识,获益良多。