zoukankan      html  css  js  c++  java
  • 20175330 实验一 《Java开发环境的熟悉》实验报告

    一、实验内容及步骤

    (一)使用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运行代码

    (二)使用IDEA调试Java

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

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

    (三)练习

    学生成绩管理系统

    代码

    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("请问您还需要什么服务? ");
    break;
    case"2":
    int i = 1;
    do {
    studentScoreList.add();
    System.out.println(" 是否继续添加?"+" "+"0.否"+"1.是");
    i=input.nextInt();
    }while (i ==1);
    System.out.println("请问您还需要什么服务? ");
    break;
    case "3":
    studentScoreList.recompose();
    System.out.println("请问您还需要什么服务? ");
    break;
    case "4":
    studentScoreList.delete();
    System.out.println("请问您还需要什么服务? ");
    break;
    case"5":
    studentScoreList.inquire();
    System.out.println("请问您还需要什么服务? ");
    break;
    case "6":

    System.out.println("请问您还需要什么服务? ");
    break;
    case "7":
    studentScoreList.sort();
    studentScoreList.trascript();
    System.out.println("请问您还需要什么服务? ");
    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+" "+data[i].name+" "+data[i].score);
    }
    System.out.println("================================================== ");
    }

    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("查无此人!请核对后重新输入 ");
    delete();
    }
    else{
    for(int j = flag;j < length;j++){
    data[j] = data[j+1];
    }
    System.out.println("删除成功! ");
    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+" "+data[i].name+" "+data[i].score);
    System.out.println("================================================== ");
    break;
    }
    }
    if(i == length){
    System.out.println("查无此人!请核对后重新输入 ");
    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("修改成功! ");
    break;
    }
    }
    if(i == length) {
    System.out.println("查无此人!请核对后重新输入学号 ");
    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;
    }
    }

    运行截图

    三。设计思路

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

    四、实验总结与体会

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

  • 相关阅读:
    makefile简单例子
    js归并排序
    js插入排序
    js堆排序
    js选择排序
    js冒泡算法以及优化
    使用go语言判断不同数据类型
    go使用接口案例排序
    go接口使用案例晓demo
    go面向对象-继承
  • 原文地址:https://www.cnblogs.com/waaaaa/p/10645027.html