2018-2019-2-20175204 张湲祯 实验一 《Java开发环境的熟悉》实验报告
一、实验内容及步骤
一.使用JDK编译、运行简单的Java程序
1.输入cd zyz
命令进入zyz目录
2.输入mkdir 20175204exp1
建立实验目录
3.输入mkdir src
和mkdir bin
建立目录
4.cd src
进入目录进行编写代码
5.vim Hello.java
编写代码
6.javac -d . Hello.java
进行编译
7.java zyz.Hello
运行代码
实验截图:
二.使用IDEA调试Java程序
根据intellj IDEA简易教程进行调试程序示例
三.练习
实现求正整数1-N之间所有质数的功能,并进行测试(正常情况,异常情况,边界情况)。
实验代码
import java.util.Scanner;
public class sushu1 {
public static void main(String[] args) {
System.out.println("请输入一个整数(1-n): ");
Scanner shuzi = new Scanner(System.in);
int n = shuzi.nextInt();
if (n < 0){
System.out.println("不能输入负数,请重新输入一个数 ");//判断异常情况
}else
if (n == 0){
System.out.println("0不是素数也不是合数 ");//判断异常情况
}else
if (n == 1) {
System.out.println("1不是素数也不是合数 ");//判断边界情况
} else if (n != 1) {
System.out.println("n以内的素数: ");
for (int i = 2; i <= n; i++) {//正常情况
for (int j = 2; j <= n; j++) {
if (i % j == 0) {
if (j < i)
break;
if (j == i)
System.out.println(i + " ");//i==2开始一直被从2到n的数能否整除,判断是否为素数
}
else continue;
}
}
}
}
}
实验截图
1.正常情况
2.测试异常情况
3.测试边界情况
对代码进行调试
实验中遇到问题
1.问题:在判断当 i%j!=0 的情况时,直接使用else break;发现输入5之后,所求素数为2,并没有全部求出素数。
解决方法:在回头看程序时,发现使用break之后,直接跳出第二个循环,导致 i++,使 i 增加,没有继续判断 j++的情况,导致编译失败;因此将break改为continue,在判断 j不能整除i 之后,结束这次循环,继续执行第二个循环中的下一次循环;运行后发现输出正确。
实验体会
通过这次实验一,再次熟悉了基础代码的编译与运行,和带包代码的编译与运行;在实验中第一次使用IDEA,刚开始时较为生涩,但在使用之后发现比Linux系统下的Java编写简便而且调试方便;因为选到是求素数的实验,根据学过的c语言知识可以较为顺利的编写出程序;在实验中遇到由于break和continue语句使用错误导致的输出错误,让自己更深刻的理解了两个语句之间的不同;最后发现在平时根据课本上对照敲代码远不如自己亲手写代码效果好,自己写代码更能让自己记忆和理解深刻,自己还需要努力学习。