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 ...
随机推荐
- Linux系统之路Centos7.2——安装QQ 的一些问题(附VMware的安装)
1.首先安装wine 可以通过源码安装,注意在编译的时候加参数,编译64位(如果你的系统是64位哦!) 但是我建议直接rpm安装. 安装网络源: rpm -ivh epel-release-6-8.n ...
- 时间序列HW
https://www.cnblogs.com/sylvanas2012/p/4328861.html写得特别好,推荐阅读 Holt-Winters: 三阶指数平滑 Holt-Winters的思想是 ...
- python基础之map/reduce/filter/sorted
---map(fun,iterable) 首先来看一看map()函数,map函数接受两个参数,第一个参数是函数的名称,第二个参数一个可迭代对象.即map(fun,iterable) map函数就是将具 ...
- 对硬盘进行分区时,GPT和MBR有什么区别?
在Windows 8或8.1中设置新磁盘时,系统会询问你是想要使用MBR还是GPT分区.GPT是一种新的标准,并在逐渐取代MBR. GPT带来了很多新特性,但MBR仍然拥有最好的兼容性.GPT并不是W ...
- 【数据库-MySql】清空所有表格的所有数据
方式一. drop procedure if exists del_all_tb; delimiter $$ create procedure del_all_tb(db char(20)) begi ...
- 在传统的ADO.NET中使用事务
using (SqlConnection conn = new SqlConnection()) { SqlCommand cmd = conn.CreateCommand(); //启动事务 Sql ...
- Xilinx Altera FPGA中的逻辑资源(Slices VS LE)比较
前言 经常有朋友会问我,“我这个方案是用A家的FPGA还是X家的FPGA呢?他们的容量够不够呢?他们的容量怎么比较呢?”当然,在大部分时候,我在给客户做设计的时候,直接会用到最高容量的产品,因为我们的 ...
- 【BZOJ】2655: calc 动态规划+拉格朗日插值
[题意]一个序列$a_1,...,a_n$合法当且仅当它们都是[1,A]中的数字且互不相同,一个序列的价值定义为数字的乘积,求所有序列的价值和.n<=500,A<=10^9,n+1< ...
- 【转】C#中Graphics的画图代码
C#中Graphics的画图代码[转] 架上图片了你就可以在画板上涂改了啊 我要写多几个字上去string str = "Baidu"; //写什么字?Font font = Fo ...
- 【leetcode 简单】 第八十一题 4的幂
给定一个整数 (32 位有符号整数),请编写一个函数来判断它是否是 4 的幂次方. 示例 1: 输入: 16 输出: true 示例 2: 输入: 5 输出: false 进阶: 你能不使用循环或者递 ...