20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 《Java程序设计》实验一报告
实验名称
Java开发环境的熟悉
实验内容
- 使用JDK编译、运行简单的Java程序
2.使用Eclipse 编辑、编译、运行、调试Java程序
统计的PSP(Personal Software Process)时间
| 步骤 | 耗时(min) | 百分比 |
|---|---|---|
| 需求分析 | 5~10 | 7% |
| 设计 | 10~20 | 15% |
| 代码实现 | 40~50 | 36% |
| 测试 | 20~30 | 21% |
| 分析总结 | 20~30 | 21% |
实验步骤
- 编写代码
- 首先思考程序要实现什么功能,我设计程序实现对输入的学生成绩评级和打印输入的学生信息
- 将学生信息封装到一个
student对象中,进行操作时再建立实例进行操作- 代码
public class Student {
String number;
String name;
int mark;
public Student(String number,String name,int mark){
this.number = number;
this.name = name;
this.mark = mark;
}
public Student(){
}
}
- 主要功能的实现主要是靠
level和print两个方法实现, 并设计菜单使程序能够调用两个方法- 代码
import java.util.Scanner;
public class ex1 {
public static void main(String[] args){
Scanner s = new Scanner(System.in);
Scanner n = new Scanner(System.in);
Scanner u = new Scanner(System.in);
Scanner c = new Scanner(System.in);
Student student = new Student();
System.out.println("请输入要处理的学生学号");
student.number = u.next();
System.out.println("请输入要处理的学生姓名");
student.name = n.next();
System.out.println("请输入要处理的学生分数");
student.mark = s.nextInt();
System.out.println("请选择要对该学生成绩进行的操作");
System.out.printf("1.对成绩评级\n2.打印学生信息\n");
int ch = c.nextInt();
ex1 ex = new ex1();
switch(ch){
case(1):
ex.level(student.mark);
break;
case(2):
ex.print(student.number,student.name,student.mark);
}
}
public void level(int score) {
char level;
if (score >= 90) {
level = 'A';
} else if (score >= 80 && score < 90) {
level = 'B';
} else if (score >= 70 && score < 80) {
level = 'C';
} else if (score >= 60 && score < 70) {
level = 'D';
} else {
level = 'E';
}
System.out.printf("得分等级:%c\n", level);
}
public void print(String num,String nam,int Mark){
System.out.printf("该学生学号:%s 姓名:%s 成绩%d",num,nam,Mark);
}
}
- 测试并调试代码
使用命令行进行编译

使用IDEA进行编译调试
设置断点,可以设置条件

打开Debug运行,输入数据

设置两个断点,点击
Resume让程序直接运行到第二个断点下一行

点击单步执行(
Step Into或Step Over),最后得出结果

单步执行效率低,调试大循环用条件断点比较方便,我的代码里没有循环,要体现条件断点在循环中的作用,用老师给的带循环的代码试了一下
设置条件断点,"i==50"

单击
Resume,可以查看循环运行中各个值变化

问题及解决过程
问题:
student对象中有name和number两个String型变量,不知道怎么输入解决过程:书本上的
Scanner方法中只讲解了输入int、long等类型变量,并没有讲解输入String或char变量,上网查资料,直接用next()方法就可以取到字符串问题:使用IDEA运行成功,使用命令行编译会显示输出部分有错

解决过程:本来以为是
printf、prinntln以及输出内容格式上的问题,修改了格式发现还是会出问题,后来发现是编码的问题,IDEA与命令行所用编码不同,就将编码改为了UTF-8,运行成功

总结体会
- 第一次实验将之前对着书敲代码的过程转换成了写程序的能力,实验过程中不仅更加熟悉了命令行和IDEA,还学习了IDEA环境下的Debug调试,还联系了自己编程的能力
20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告的更多相关文章
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...
- 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...
- 20165205 实验一 java开发环境的熟悉 实验报告
20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...
- 实验一《开发环境的熟悉》&实验二《固件设计》
20145312&20145338 实验一<开发环境的熟悉>&实验二<固件设计> 合作博客链接:http://www.cnblogs.com/yx2014531 ...
- 20162327实验一Java开发环境的熟悉实验报告
20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...
- 20145233韩昊辰 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
20145233 <Java程序设计>实验报告一:Java开发环境的熟悉 实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验内容 ...
- 20175236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:温丰帆 学号:20175236 指导教师:娄嘉鹏 实验日期:2019年4月2日 实验时间:13:45 - 15:25 实验序号:实验一 ...
- 20165234 《Java程序设计》实验一 Java开发环境的熟悉
一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘津甫 学号:20165234 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验时间:15:35 - 17:15 实验序 ...
- 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉
2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...
随机推荐
- mysql常用表/视图管理语句
查看所有表 show tables; 查看表/视图结构 desc 表名/视图名: 查看建表过程 show create table 表名: 查看建视图过程 show create view 视图名 ...
- javascript事件与event对象的属性
javascript事件列表解说 事件 浏览器支持 解说 一般事件 onclick IE3.N2 鼠标点击时触发此事件 ondblclick IE4.N4 鼠标双击时触发此事件 onmousedown ...
- 【JAVA反射机制】
一.Class类 Java.lang.Object |-java.lang.Class<T> 构造方法:无. 常用方法: static Class<?> forName(Str ...
- poj 3278:Catch That Cow(简单一维广搜)
Catch That Cow Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 45648 Accepted: 14310 ...
- golang heap container balance request
package mainimport ( "container/heap" "fmt" "log" "math/rand" ...
- Matlab中如何将(自定义)函数作为参数传递给另一个函数
假如我们编写了一个积分通用程序,想使它更具有通用性,那么可以把被积函数也作为一个参数.在c/c++中,可以使用函数指针来实现上边的功能,在matlab中如何实现呢?使用函数句柄--这时类似于函数指针的 ...
- tcflush 功能(转)
tcflush() 丢弃要写入引用的对象,但是尚未传输的数据,或者收到但是尚未读取的数据,取决于 queue_selector 的值: TCIFLUSH 刷新收到的数据但是不读 TCOFLUSH 刷新 ...
- oracle本机登录不上dba的权限不足错误
说明:因遇到“sqlplus / as sysdba”登录oracle时遇到权限不足(ora-01031)错误:百度到以下资料,原文链接: http://www.xifenfei.com/2011/1 ...
- RobotFramework自动化测试之环境搭建安装教程(一)
RobotFramework是基于Python语言的工具,所以装RF之前要先安装Python: Python现在有2.7跟3.5两个版本,如果是先装了3.5的话,是装不了2.7的.只有先装2.7的 才 ...
- Android开发之ViewPager+ActionBar+Fragment实现响应式可滑动Tab
今天我们要实现的这个效果呢,在Android的应用中十分地常见,我们可以看到下面两张图,无论是系统内置的联系人应用,还是AnyView的阅读器应用,我们总能找到这样的影子,当我们滑动屏幕时,Tab可 ...