20165203 实验一 Java开发环境的熟悉
实验内容及步骤
实验一 Java开发环境的熟悉-1
- 建立有自己学号的实验目录。
- 通过vim Hello.java编辑代码。
- 编译、运行Hello.java代码。

实验一 Java开发环境的熟悉-2
新建HelloJDB类

单步调试,设置断点



设置条件断点


设置临时断点

实验一 Java开发环境的熟悉-3
实现学生成绩管理功能(增删改,排序,查找),并进行测试(正常情况,异常情况,边界情况)。
1.要实现多功能,我想到建立多个类,一个类存放学生的信息,一个类对学生的信息进行各种操作,一个类为主类
2.设计一个Student类来存放学生的成绩(因为该实验代码较多,所以,我只设计了Java成绩和math成绩两项,复杂的可以后再具体扩展)
package qwe;
public class Student {//存放学生的信息
private int num;
private String name;
private int age;
private int java;
private int math;
private int sum;
private int avg;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getJava() {
return java;
}
public void setJava(int java) {
this.java = java;
省略···
}
3.对于学生信息的操作:
- 先设计一个数组,存放学生的信息
String msg = "\t编号\t姓名\t年龄\tjava\tmath\t总分\t平均分";
- 查询学生的成绩
public void find(int num,Student[] arr){//查询学生的方法
for(int i=0;i<arr.length;i++){//判断学生是否存在
if(this.exist(num,arr[i])==true){
System.out.println(msg);
System.out.println(arr[i]);
return;
}
}
System.out.println("没有这个学生的存在");
}
- 更新学生的信息
public void update(int num,String name,int age,Student[] arr){//更新学生基本信息的方法
for(int i=0;i<arr.length;i++){
if(this.exist(num, arr[i])==true){
arr[i].setName(name);
arr[i].setAge(age);
System.out.println("更新学生信息成功!");
this.print(arr);
return;
}
}
System.out.println("没找到这个学生更新信息失败");
}
- 根据总分排序
public void sumSort(Student[] arr){//根据总分排序的方法
for(int i=0;i<arr.length;i++){
for(int j=i+1;j<arr.length;j++){
if(arr[i]!=null&&arr[j]!=null){
if(arr[i].getSum()<arr[j].getSum()){
Student t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
}
this.print(arr);
}
- 对于,主类,一开始我们可以让用户选择具体的操作
public class Test {//主程序
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("------请定义学生的人数:------");
Student[] stuArr = new Student[in.nextInt()];
Admin adminStu = new Admin();
while(true){
System.out.println("-----请选择你要执行的功能-----");
System.out.println("01:添加一个学生");
System.out.println("02:查找一个学生");
System.out.println("03:根据学生编号更新学生基本信息");
System.out.println("04:根据编号输入学生各门成绩");
System.out.println("05:根据某门成绩进行排序");
System.out.println("06:根据总分进行排序");
System.out.println("07:退出系统");
3.运行结果如图所示
在命令行下




在IDEA下




实验过程中的问题
Q:在第一次调试程序,在代码不出错的情况下,运行错误,我感觉是JDK设置有问题,可是如何重新设置JDK呢?
A:在百度后,我得到了方法:
- 点击
File,选择Project Structure,再点击New,选择自己所下载的JDK即可,如图所示:

实验体会与总结
本次实验虽然是第一次实验,但我所做的题目比其他题目稍微麻烦一点儿,但是之前C语言实验时,曾经尝试过做学生成绩管理系统,所以,这次根据C语言的经验,自己一步一步编程,收获还是蛮大的,并且在IDEA中编写Java程序比在虚拟机里方便了许多。
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 需求分析 | 5 | 10% |
| 设计 | 5 | 10% |
| 代码实现 | 20 | 40% |
| 测试 | 5 | 10% |
| 分析总结 | 15 | 30% |
20165203 实验一 Java开发环境的熟悉的更多相关文章
- 20145205 实验一 Java开发环境的熟悉
实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...
- 实验一 Java开发环境的熟悉
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)
20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...
- 20145208实验一 Java开发环境的熟悉
20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...
- 实验一 Java开发环境的熟悉(Linux + Eclipse)
学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...
- 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然
https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...
- 2018-2019-2 实验一 Java开发环境的熟悉
实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...
随机推荐
- noip2017考前整理(未完)
快考试了,把我以前写过的题回顾一下.Noip2007 树网的核:floyd,推出性质,暴力.Noip2008 笨小猴:模拟Noip2008 火柴棒等式:枚举Noip2008 传纸条:棋盘dpNoip2 ...
- 从新浪JS服务器获得股票和股指深度行情(.NET)
当我们需要通过网络来自动获取股指或股票的深度行情时,一般有以下两种方法可以获得.目前除了使用Python进行爬虫获取(需要解析html获得)外还可以通过新浪提供的JS行情服务器获得,本文采用的是后者( ...
- tp5.1 入口文件即报错
---------------------------------------------------------------[ 2018-10-10T10:51:49+08:00 ] 218.93. ...
- 设置CMD默认路径
用CMD每一次都得切换路径,很麻烦. 所以,需要设置一下CMD默认路径: 1.打开注册表编辑器(WIN+R打开运行.输入regedit) 2.定位到: “HKEY_CURRENT_USER\Softw ...
- NATS_08:NATS客户端Go语言手动编写
NATS客户端 一个NATS客户端是基于NATS服务端来说既可以是一个生产数据的也可以是消费数据的.生产数据的叫生产者英文为 publishers,消费数据的叫消费者英文为 subscriber ...
- JavaScript中的apply()和call()
可以将call()和apply()看做是某个对象的方法,通过调用方法的形式来间接调用函数. call()和apply()的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对 ...
- C# 在程序中控制IIS服务或应用程序池关闭重启
//停止IIS服务 ServiceController sc = new ServiceController("iisadmin"); if(sc.Status=ServiceCo ...
- np.isin判断数组元素在另一数组中是否存在
np.isin用法 觉得有用的话,欢迎一起讨论相互学习~Follow Me np.isin(a,b) 用于判定a中的元素在b中是否出现过,如果出现过返回True,否则返回False,最终结果为一个形状 ...
- 2017 清北济南考前刷题Day 1 afternoon
期望得分:80+30+70=180 实际得分:10+30+70=110 T1 水题(water) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK出了道水 ...
- highCharts使用记录
公司的架构师让我做一个mockup,要用到highCharts,,以前想接触的,没时间学习,也没有用过,正好工作可以用上了,可以边学边做了. 环境 <script src="./js/ ...