20145208实验一 Java开发环境的熟悉
20145208实验一 Java开发环境的熟悉
使用JDK编译、运行简单的java程序
命令行下程序开发
- 在命令行下建立实验目录,然后创建并进入该目录后的子目录。
- 编译并运行一个代码
使用IDEA 编辑、编译、运行、调试Java程序
- 用IDEA 编辑、编译和运行Java程序很简单,不做赘述。
- 本次试验中我主要接触断点的相关内容。因为老师给的模板里面是用的eclipse软件,而IDEA略有不同,不过IDEA中断点的设置同样很简单。
- 选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。
- 设置好了断点就可以点击图中小甲虫进行调试了
- 程序运行到断点设置的指定位置后中止,下图是两个不同断点的不同结果:
- 图1的断点在输入的后面,所以会先弹出输入对话,在输入之后运行到断点处才进入DEBUG调试窗口。图2的断点在输入之前,所以直接运行到断点处。
- IDEA下方出现Debug视图,区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。
单步调试
- step over:点击红色方框选中的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)
- step into:点击绿色方框选中的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。
- Force step into:点击黄色方框选中的按钮,在调试的时候能进入任何方法。
- step out:点击蓝色方框选中的按钮,如果在调试的时候你进入了一个方法,并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。
- Drop frame:点击紫色圆圈选中的按钮,你将返回到当前方法的调用处重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。
高级调试
- 跨断点调试:想移动到下一个断点,点击红色箭头所指按钮。程序将运行一个断点到下一个断点之间需要执行的代码。如果后面代码没有断点,再次点击该按钮将会执行完程序。
- 查看断点:点击蓝色箭头指向的按钮,可以查看你曾经设置过的断点并可设置断点的一些属性。
练习-4
实验名称:实现学生成绩管理功能,并进行测试
实验内容:
- 使用java语言编写一个学生成绩管理的程序,并进行测试。
实验步骤
一、需求分析
- 首先,我了解我是要做一个学生成绩管理的程序,那么我需要实现哪些功能呢?
- 我要可以添加学生信息
- 我可以查询成绩
- 我要可以录入成绩
- 我可以删除某个学生的信息
- 程序要把学生信息打印出来
- 这样就基本实现了基础的增删查改的功能了,如果可以排序就更好了。
二、设计与代码实现
- 作为一个学生管理程序,我需要有个存储学生信息的表。
- 那么通过如下代码段就可以新建一个指定大小的表。
System.out.println("请定义学生的人数:");
Student[] stuArr = new Student[in.nextInt()];
- 学生的信息包括学号姓名,而且学生的成绩可以有多门,考虑到「S.O.L.I.D」原则,我单独建立了一个学生类。
public class Student {
private int num;
private String name;
private int java;
private int hb;
private int sjjg;
private int mmx;
private int sum;
private int avg;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
..........(略)
- 添加学生基本信息包括姓名和学号:
Student stu = new Student();
stu.setNum(num);
stu.setName(name);
- 查询成绩的方式可以用循环语句遍历整个表来查找:
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("没有找到该学生信息");
}
- 录入成绩与添加基本成绩的方法类似,不做赘述。
- 删除学生与查找类似,就是在查找到之后进行一个删除的步骤,代码段如下:
arr[i] = null;
- 对于成绩排序的方式可以有多种,排序的方法也有不同。我的方法如下:
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].getJava() < arr[j].getJava()) {
Student t = arr[i];
arr[i] = arr[j];
arr[j] = t;
}
}
}
}
- 如果想对不同成绩进行排序只需要修改代码段
arr[i].getJava() < arr[j].getJava()
就可以了。 - 同样的,因为处理数据的方法比较多,我也新建了一个
admin
类。 - 到这里,整个程序的框架就基本完成了。
测试与分析总结
- 测试结果如下
- 虽然基本功能是实现了,但是还有许多细节的地方还需要优化,程序的友好度有待提升,功能还可以更加丰富一点
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 5min | 5% |
设计 | 15min | 15% |
代码实现 | 65min | 65% |
测试 | 10min | 10% |
分析总结 | 5min | 5% |
|步骤| 耗时| 百分比|
|
需求分析 20min 16.7
设计 20min 16.7
代码实现 50min 41.7
测试 15min 12.5
分析总结 15min 12.5
实验中的问题及解决
- 在代码编辑的时候,因为这次实验的代码量很大,我一开始没有分类编写,把所有的代码都写在了一个类里面,写到一半我就觉得很乱,思路也跟着不清晰了,所以我干脆仿照书上RPG那块的代码的撰写方式,把结构拆分开来,分类编写,这样只会就觉得思路很清晰。
感想
- 在本次实验中,我通过实践中操作深刻体会到了分类编写的好处,不仅仅是防止代码重复,而且还有助于我们思路的清晰。
- 因为这次实验有C语言基础,在学习C语言的时候我也写过类似的代码,所以在思路上很清晰,这也让我发现,其实无论是写java还C,只要有一个清晰的思路,有一个明确的逻辑,在掌握了相关算法,实现起来真的不难,通过实验,我学习java的信心更多了。
实验代码
20145208实验一 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 编辑 ...
- 实验一 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 ...
- 20175208 实验一 Java开发环境的熟悉
20175208 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张家华 学号:20175208 指导教师:娄嘉鹏 实验日期:2019年4月2日 实 ...
随机推荐
- [windows]利用IPSec对指定的ip进行访问限制
以win2003系统为例: 操作(看图): 1.任务:现在192.168.2.200可访问;目的;本地禁止对其访问 2.进入:管理工具->本地安全设置->IP安全策略 3.右键创建IP安全 ...
- PL/SQL之--触发器
一.简介 触发器在数据库里以独立的对象进行存储,它与存储过程和函数不同的是,存储过程与函数需要用户显示调用才执行,而触发器是由一个事件来触发运行.oracle事件指的是对数据库的表或视图进行的inse ...
- HDU 4421 Bit Magic (图论-2SAT)
Bit Magic Problem Description Yesterday, my teacher taught me about bit operators: and (&), or ( ...
- nyoj 1029/hdu 3714 Error Curves 三分
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3714 懂了三分思想和F(x)函数的单调性质,这题也就是水题了 #include "stdio ...
- 如何在TFS的过程模板中添加报表
在新建团队项目的过程中,TFS的"新建团队项目向导"会根据用户选择的过程模板类型(CMMI, Scrum,Agile等)自动为团队项目创建一个SSRS(SQL Server Rep ...
- 1.NopCommerce下载与安装
NoCommerce是基于微软ASP.NET MVC + EntityFramework 技术开发的一套开源电子商城系统,其架构与设计非常精妙被誉为.NET商城的经典之作. 作为一个.NET程序爱好者 ...
- NOIP2013普及组 -SilverN
T1 计数问题 题目描述 试计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1 到 11 中,即在 1.2.3.4.5.6.7.8.9.10.11 中, ...
- 【Android Demo】获取指定网页的页面源代码
1.直接上效果图 2.代码 主要就是工具类HtmlService.java: import java.io.ByteArrayOutputStream; import java.io.InputStr ...
- 双向广搜 codevs 3060 抓住那头奶牛
codevs 3060 抓住那头奶牛 USACO 时间限制: 1 s 空间限制: 16000 KB 题目等级 : 黄金 Gold 题目描述 Description 农夫约翰被告知一头逃跑奶牛 ...
- 初始化 Ubuntu Trusty 14.04
1. 软件源 sudo vim /etc/apt/source.list # 将软件源改为 sohu 的 deb http://mirrors.sohu.com/ubuntu/ trusty main ...