2018-2019-2 20175313 实验一《Java开发环境的熟悉》实验报告
一、实验内容及步骤
- 使用JDK编译、运行简单的Java程序
cd code
进入code文件夹mkdir 20175313
创建20175313文件夹ls
查看当前目录cd 20175313
,mkdir exp1
,cd exp1
,用pwd
查看当前工作路径vim Hello.java
编辑Hello.javajavac -d . Hello.java
编译代码java zlx.Hello
运行代码
实验截图如下:
- 使用IDEA调试Java程序
- 设置断点
- 单步运行
- step into(快捷键F5)
- step over(快捷键F6)
- 两个断点之间的跳跃Resume(快捷键F8)
- 设置条件断点
实验截图如下:
二、练习
题目5:实现求正整数1-N之间所有质数的功能,并进行测试(正常情况,异常情况,边界情况)。
代码为:
import java.util.*;
public class primeNumber2 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int flag=0;
System.out.println("请输入一个数:");
int number = scanner.nextInt();
//while(scanner.hasNextInt()){
System.out.println(number);
if(number<0){
System.out.println("负数没有素数与合数之分");
}
else if(number==1||number==0){
System.out.println(number+"既不是素数也不是合数");
}
else {
for(int j=2;j<number;j++){
flag=0;
for (int i = 2; i < j; i++) {
if (j % i == 0) {
flag = 1;
break;
}
}
if(flag==0){
System.out.println(number+"是素数");
}
}
}
}
}
运行结果截图:
三、实验过程的理解
javac -d . Hello.java
-d参数的作用- 是指定生成java包的根目录,
-d .
是在当前目录上编译生成java包。 - 如果省略了-d,则仅仅是在当前目录生成的class文件。
- 是指定生成java包的根目录,
- JVM、JRE、JDK的安装位置与区别:
- JVM:只认识*.class文件,能够将class文件中的字节码指令进行识别并调用操作 系统上的API完成动作。
- JRE:JRE = JVM+Java类库
- JDK:JDK = JRE+小工具
四、实验过程中遇到的问题以及解决方案
带有package的编译运行问题及解决方案
- 问题:在编辑*.java源文件中含有包名为zlx时,我首先在当前目录建立了一个名为zlx的文件夹,然后进入该文件夹,进行
vim Hello.java
,javac -d . Hello.java
,java zlx.Hello
,我cd一下发现,在zlx文件夹下又建了一个文件夹名为zlx。
- 解决方案:通过各种途径了解到javac -d . Hello.java 中-d参数表达的意义,从而明白的出现该现象的原因。
- 分析:
javac -d . Hello.java
-d参数的作用是指定生成java包的根目录,该程序中有zlx这个包,-d后会在当前目录下生成zlx这个包,因此,不需要我们自己去创建zlx这个文件夹然后再将源文件写入zlx目录下。 - 启示:这使我联想到了教材中tom.jiafei的那个例子,它是在源程序中定义了package tom.jiafei这个包名,我当初的解决方法
(https://www.cnblogs.com/xiannvyeye/p/10544611.html)
了解的-d的用法之后,我的解决方法是:
- 问题:在编辑*.java源文件中含有包名为zlx时,我首先在当前目录建立了一个名为zlx的文件夹,然后进入该文件夹,进行
程序运行结果与预期不符问题及解决方案
- 问题:运行结果本应该输出1-100的所有素数,但是却什么也没有输出。
- 解决方案:通过IDEA调试查看问题出现在哪里。
- 更改后运行结果截图:
五、实验体会与总结
一个程序是由很多模块构成的,也就是所谓的类,虽然我这个实验比较简单不需要多个类,但是很多内容是共通的,比如一个带包源文件的编译,在我们解决了一个问题之后,相应的一类的问题就都解决了。例如:编译带包源文件Hello.java就联想到了tom.jiafei那个例子的编译。
当程序运行结果与自己意料中的不一样时,可以使用调试工具,IDEA可以很清楚的查看到每一步每一个变量的变化。
像这类的实验我觉得如果能够通过结对来完成,应该能够达到较好的效果。就像我的System.out.println()放错了位置,如果是结对一起写的话,这个问题应该在当场就会被发现,这样就能节省调试的时间,提高效率。而且两个人结对还能够提高代码的质量,设计出一个更好的实现该功能的程序。
步骤 耗时 百分比 需求分析 10min 10% 设计 10min 10% 代码实现 45min 45% 测试 25min 25% 分析总结 10min 10%
2018-2019-2 20175313 实验一《Java开发环境的熟悉》实验报告的更多相关文章
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 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日 实验 ...
- 20162327实验一Java开发环境的熟悉实验报告
20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20175316 盛茂淞 实验一 Java开发环境的熟悉
20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...
- 20155327实验一 Java开发环境的熟悉
20155327实验一 Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序 2.使用IDEA编辑.编译.运行.调试java程序 实验步骤 1.使用JDK编译.运行简单的jav ...
- 20165233 实验一 Java开发环境的熟悉
20165233 实验一 Java开发环境的熟悉 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验 ...
- 20155231 java实验一 Java开发环境的熟悉
20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...
随机推荐
- Xcode No account for team "". Add a new account in the Accounts preference pane or verify that your accounts have valid credentials.
问题背景 Xcode报错误信息:No account for team "QMP96B5DPW". Add a new account in the Accounts prefer ...
- 【Java】的四种引用的区别
强引用:如果一个对象具有强引用,它就不会被垃圾回收器回收.即使当前内存空间不足,JVM 也不会回收它,而是抛出 OutOfMemoryError 错误,使程序异常终止.如果想中断强引用和某个对象之间的 ...
- 如何查看.Net Framework版本
地址栏输入 %systemroot%\Microsoft.NET\Framework,或win+R快捷方式打开“运行”窗口,输入%systemroot%\Microsoft.NET\Framework ...
- XMind8 破解激活教程(最详细,一定是有效的!!!)
下载安装包 首先去xmind国外官网下载对应操作系统的安装包,国内官网的那个是有残缺的,不支持破解. 点击链接进行下载安装包:https://pan.baidu.com/s/1VITXSEQvwGDi ...
- input 呼起数字键盘
1. Android,定义 type="number" 2. iOS,定义 style="ime-mode: disabled;" 注,呼起数字键盘后,用户输入 ...
- HTML 01 请求过程
与 HTTP 关系密切的协议, IP, TCP, DNS IP协议的作用是把各种数据包传送给对方, 而要保证确实传送到对方那里, 需要满足各种条件. 其中两个最重要的条件是 IP地址 和 MAC 地址 ...
- python -- ajax数组传递和后台接收
phper转pythoner 在当初使用php做网站开发的时候,前端ajax传递数据的时候,就是直接将一个数组传递过去,后台用$_POST['key']接收即可,没有考虑那么细,想来这不都是理所当然的 ...
- [原创]Modbus协议学习笔记
一.参考资料 1.老罗传奇的2篇博文,写的不错,通俗易懂.链接地址为:http://www.cnblogs.com/luomingui/tag/Modbus/ 2.阿莫论坛精华资料:http://ww ...
- windows 安装python pip Could not install packages due to anEnvironmentError: [WinError 5] 拒绝访问
找打 C:\Windows\System32 文件夹下面的cmd.exe点开后运行python -m pip install --upgrade pip 即解决问题了.
- dedecms调用子栏目及文章列表
使用DEDECMS程序建网站时,有些栏目下面有子栏目,我们需要在网站前台调用出子栏目以及子栏目下的文章列表. dedecms调用子栏目及文章列表可以使用以下的代码进行调用: <div class ...