学号 20175206 实验一 《Java开发环境的熟悉》实验报告
实验内容
1.使用JDK编译、运行简单的Java程序;
2.使用Eclipse 编辑、编译、运行、调试Java程序。
实验要求
1 建立“自己学号exp1”的目录
2 在“自己学号exp1”目录下建立src,bin等目录
3 javac,java的执行在“自己学号exp1”目录
4 提交 Linux或Window或macOS中命令行下运行Java的全屏截图, 运行结果包含自己学号等证明自己身份的信息
5 代码提交码云
6 参考http://www.cnblogs.com/rocedu/p/6371315.html,提交 Linux或Window或macOS环境中 IDEA中调试设置条件断点的全屏截图,截图打上自己学号的水印。其他内容包括截图在实验报告中体现
7 参考实验一 Java开发环境的熟悉(Linux + Eclipse)http://www.cnblogs.com/rocedu/p/4421202.html (三)练习。提交自己练习项目的码云链接和运行结果的截图。
实验知识点
1. JVM、JRE、JDK的安装位置与区别;
2. 命令行运行javac;java;javac -cp; java -cp;
3. PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
4. 包管理:package;import;javac -d ;
5. Eclipse(Netbeans)管理Java项目,调试:断点、单步执行等;
6. Java基础语法:类型与类型转换;变量;运算符;流程控制等;
7. JDK帮助文档的使用。
实验步骤:
示例:
1.在IDEA中运行示例程序
2.Debug 该程序,进行断点的调试
以下是步骤:
练习实验题
实现求两个数的最大公约数和最小公倍数的功能,数从命令行输入,并进行测试(正常情况,异常情况,边界情况)。
这道题目较为简单,有着C语言的基础下,很容易就设计出来了。
最大公约数采取辗转相除法的思想,最小公倍数即两数之积/最大公约数即可得出
共分三个类,gcd最大公约数,lcm最小公倍数,exp1
代码如下:
import java.util.Scanner;
public class exp1 {
public static int gcd(int a, int b) {
int max, min;
max = (a > b) ? a : b;
min = (a < b) ? a : b;
if (max % min != 0) {
return gcd(min,max % min);
} else
return min;
}// 最大公约数(辗转相除法)
public static int lcm(int a, int b) {
return a * b / gcd(a, b);
}// 最小公倍数算法(两个数之积/最大公约数)
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n1 = input.nextInt();
int n2 = input.nextInt();
int gcd = gcd(n1, n2);
int lcm = lcm(n1, n2);
System.out.println("(" + n1 + "," + n2 + ")" + "=" + gcd);
System.out.println("[" + n1 + "," + n2 + "]" + "=" + lcm);
}
}。
程序编完了,我们来开始在IDEA上实验吧
1.在用完多个例子检验完程序后,Debug该程序
2.可以看到最大值和最小值的数值,后面的看不到了,那么我们多次移动断点,step over --- F8
即可得出结果。
边界测试
两者有公因数
两者无公因数
其中一个数值为1
通过此次实验,我对程序在IDEA的调试,IDEA的快捷键有了很大的了解,本次实验较为综合,但实际难度偏低,涉及的知识偏浅,但也考察了输入输出的命令,类的分类以及其他的格式,特别收获是通过这次的博客,我对markdown的格式有了全新的认识,这使我的博客在多方面看起来优于之前的博客,特别是多重排版方式也让我大有进步。对JAVA的理解更深了一步,也认识到了IDEA的方便之处。
以上就是我实验的全部内容,程序很容易实现,这得益于学号,但风水轮流转,总会有题难的时候,戒骄戒躁,不放弃继续奋斗,这才是大学生应有的学习素质与心理素质。
总结分析
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 10min | 12.5% |
设计 | 5min | 6.25% |
代码实现 | 30min | 37.5% |
测试 | 15min | 18.75% |
分析总结 | 20min | 25% |