实验一 Java开发环境的熟悉

实验一 Java开发环境的熟悉

Java开发环境的熟悉(一)——命令行下Java程序开发

实验内容

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

实验步骤

  • 1.首先双击桌面上的终端图标,单击终端图标,打开终端(类似Windows下的cmd),之后会自动运行shell程序

  • 2.输入cd Code命令进入Code(注意C要大写)目录,进入Code目录

  • 3.输入mkdir 20135100 命令建立实验目录,注意目录名一定是自己的学号(学号要体现在实验报告截图中),可以使用ls命令或dir命令查看建立的目录情况;

  • 4.输入cd 20135100命令进入实验目录,再输入类似mkdir exp1建立第一个实验目录,然后输入cd exp1进入实验一目录,可以输入pwd命令查看当前工作路径,如下图所示:

  • 5.输入gedit Hello.java(注意把代码保存到exp1目录中)或vim Hello.java(建议大家花点时间学习一下Vim)编辑Hello.java,并输入以下代码:

package ljp;
import java.util.Scanner;
 public class Hello{
   public static void main(String[] args){
       System.out.println("Input your first name, please:");
       Scanner s = new Scanner(System.in);
       String name = s.next();
       System.out.println("Hello " + name + " !");
    }
 }
  • 6.注意代码第二行,我们使用到Java类库中的类时,要用import导入相关的类(你可以暂时理解为C语言中include的功能),导入路径可以查看JDK帮助文档,比如我们使用到了Scanner类
  • 7.输入javac -d . Hello.java命令编译代码,输入java ljp.Hello命令运行程序。结果如下图所示:

    -注意:代码中有package时,使用javac编译代码时一定要加-d参数,运行代码时一定要加包名前缀。

Java开发环境的熟悉(二)——Java程序开发、调试

实验内容

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

实验步骤

  • 1.在自己的项目中,新建「HelloJDB」类,输入如下代码:
 public class HelloJDB {
   public static void main(String[] args) {
       int i = 5;
       int j = 6;
       int sum = add(i, j);
       System.out.println(sum);
           
       sum = 0;
       for(i=0; i< 100; i++)
          sum += i;
          
      System.out.println(sum);
  }
      
  public static int add(int augend, int addend){
      int sum = augend + addend;
      return sum;
  }
}
  • 2.调试程序首先要会设置断点和单步运行。设置断点比较简单,在要设置断点的行号旁用鼠标单击一下就行了(或使用Ctrl+F8快捷键),我们在第5行设了个断点:

  • 3.然后单击菜单「Run」->「Debug...」(或使用Alt+Shift+F9快捷键)开始调试Java程序,我们可以看到程序停留在了第5行,注意,此时第5行代码并没有执行,我们看到变量sum的值并不是11,我们通过单步运行让程序运行到第6行,单步运行有两种:Step Into(快捷捷F7)和Step Over(快捷捷F8),这两种单步运行功能在运行语句时没有区别,在执行方法调用语句时,Step Into会跳入方法实现,Step Over会直接执行完方法,实际使用中我们优先使用Step Over,只有方法执行出错了,说明程序问题在被调用方法中,这时再回来通过Step Into进入方法进行调试。我们单击一下Step Over图标(或F8),程序停在了第5行,这时查看变量i的值,会看到sum等于11。如下图所示

Java开发环境的熟悉(三)——练习

实验内容

  • 实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况)

实验代码

public class Student {
String name;
String number;
String sex;
int grade;

public Student(String name,String number,String sex,int grade){
this.name= name;
this.number= number;
this.sex = sex;
this.grade = grade;
}
public int getGrade(){
return grade;
}
public String getName(){
return name;
}
public String getSex(){
return sex;
}

public void setGrade(int g){
this.grade = g;
}

public String getnumber(){
return number;
}
}

import java.util.*;
public class StudentSystem {
static List<Student> StudentList = new LinkedList<Student>();
public static void main(String[] agrs){     
    select(StudentList);                    
}
private static void select(List<Student> StudentList ){
        System.out.println("1:增加学生");
    System.out.println("2:删除学生");
    System.out.println("3:修改成绩");
    System.out.println("4:查询成绩");
  
    System.out.println("若要退出系统,请输入1、2、3、4外的其他数字!!!");
    System.out.println("请输入选择的操作序号:");
    Scanner x = new Scanner(System.in);
    int choice = x.nextInt();        
    switch(choice){
    //增加学生
    case 1:
        System.out.print("请输入学生的姓名:");
        Scanner Sname = new Scanner(System.in);
        String name = Sname.nextLine();
        System.out.print("请输入学生的性别:");
        Scanner Ssex = new Scanner(System.in);
        String sex = Ssex.nextLine();
        System.out.print("请输入学生的学号:");
        Scanner SId = new Scanner(System.in);
        String number = SId.nextLine();
        System.out.print("请输入学生的成绩:");
        Scanner Sgrade = new Scanner(System.in);
        int grade = Sgrade.nextInt();
        StudentList.add(new Student(name,number,sex,grade));
        System.out.println("添加成功!!!");
        select(StudentList);
        break;
    //删除学生成绩
    case 2:
        System.out.print("请输入需要删除学生的学号:");
        Scanner Sid = new Scanner(System.in);
        String Snumber = Sid.nextLine();
        boolean isfindDelete = false;
        for (int i = 0; i < StudentList.size(); i++) {
            if(Snumber.equals(StudentList.get(i).getnumber())){
                StudentList.remove(i);
                System.out.println("删除成功!!!");
                isfindDelete =true;
            }
        }
        if(!isfindDelete){
            System.out.println("抱歉,没有找到");
        }
        select(StudentList);
        break;
    //修改学生成绩
    case 3:
        System.out.print("请告诉我需要修改成绩学生的学号:");
        Scanner GId = new Scanner(System.in);
        String Gnumber = GId.nextLine();
        boolean isfindChange = false;
        for (int j = 0; j < StudentList.size(); j++) {
            if(Gnumber.equals(StudentList.get(j).getnumber())){
                System.out.println("学生原成绩为"+StudentList.get(j).getGrade());
                System.out.print("请输入修改后学生的成绩:");
                Scanner Ggrade = new Scanner(System.in);
                int grade2 = Ggrade.nextInt();
                StudentList.get(j).setGrade(grade2);
                System.out.println("修改成功!!!");
                isfindChange =true;
            }else{
                
            }
        }
        if(!isfindChange){
            System.out.println("没有该名学生!");
        }
        select(StudentList);
        break;
    //查看学生成绩
    case 4:
        System.out.print("请告诉我需要查询学生的学号:");
        Scanner CId = new Scanner(System.in);
        String Cnumber = CId.nextLine();
        boolean isfindData = false;
        for (int i = 0; i < StudentList.size(); i++) {
            if(Cnumber.equals(StudentList.get(i).getnumber())){
                System.out.println("名字:"+StudentList.get(i).getName());
                System.out.println("性别:"+StudentList.get(i).getSex());
                System.out.println("学号:"+StudentList.get(i).getnumber());
                System.out.println("成绩:"+StudentList.get(i).getGrade());
                isfindData = true;
            }
        }
        if(!isfindData){
        System.out.println("没有该名学生!");
        }
        select(StudentList);
        break;
    default:
        System.out.println("退出系统!!!");
        break;
    }   
}
}

实验结果


posted @ 2019-04-03 21:36  20175230滕星  阅读(154)  评论(0编辑  收藏  举报