java实训步骤和方法 java实训描述及步骤
最编程
2024-08-05 18:36:15
...
2018-2019-2-20175225 实验一 《Java开发环境的熟悉》实验报告
一、实验内容及知识点
- 实验内容
1.使用JDK编译、运行简单的Java程序;
2.使用IDEA编辑、编译、运行、调试Java程序。 - 实验知识点
- JVM、JRE、JDK的安装位置与区别;
- 命令行运行javac;java;javac -cp; java -cp;
- PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
- 包管理:package;import;javac -d ;
- IDEA管理Java项目,调试:断点、单步执行等;
- Java基础语法:类型与类型转换;变量;运算符;流程控制等;
- JDK帮助文档的使用。
二、实验步骤
(一)命令行下Java程序开发
- 根据要求建立
2175214/exp1
的目录 - 在
20175214/exp1
目录下建立src
,bin
等目录 - 在
src
目录输入vim Hello.java
进入编译界面,输入如下程序:
- 使用
cd ..
返回到exp
目录下,输入javac -d bin src/Hello.java
将源代码编译到bin
目录下; - 输入
java -cp bin Hello
运行程序,输入名字,得到结果。
(二)IDEA下Java程序开发、调试
- 1、创建
HelloJDB
项目,在该项目下创建HelloJDB
类,并输入代码: - 2、点击
run
运行代码(或快捷键Alt+Shift+F10
): - 3、在要求的行数左边点击一下,设置断点(
Ctrl+F8
),然后点击Debug(Alt+Shift+F9
),得到如下结果: - 4、然后单击菜单
「Run」->「Debug...」
(Alt+Shift+F9
)开始调试Java程序,得到如下结果: - 5、点击
Step into
(F7
)或者StepOver
(F8
)来使程序运行到下一步;
- PS:
Step into
可以进入方法运行下一步,而Step Over
是直接运行完方法.
- 6、设置条件断点,将程序里i的值设置为50:
- 7、点击Resume(或快捷键F9)直接运行程序到下一个断点,也就是上一步设置的条件断点:
(三)练习
- 1、题目选择:学号20175214,做第六题:
第六题: 实现求排列数P(n,m)的功能,m,n从命令行输入,并进行测试(正常情况,异常情况,边界情况)。
- 2、设计分析:排列式公式
P(n,m)=n!/(n-m)!
,0<m<=n
,m可以等于0,n不能等于0,P(n,0)=1
。 - 3、编程实现:
import java.util.*;
public class Permutation {
public static void main(String args[]) {
Calculate Calculate = new Calculate();
System.out.println("Please input n:");
Scanner reader1 = new Scanner(System.in); //输入n
int n = reader1.nextInt();
System.out.println("Please input m:");
Scanner reader2 = new Scanner(System.in); //输入m
int m = reader2.nextInt();
if (n <= 0 || m < 0 || n < m) { //排除异常情况
System.out.println("Input error:!");
System.exit(1);
}
int Result = Calculate.result(n, m);
System.out.println("The result is: " + Result); //输出结果
}
}
class Calculate { //计算排列数
int x, p, q;
public int result(int n, int m) { //计算结果并返回
p = Factorial(n); //调用阶乘方法
q = Factorial(n - m);
return (p / q); //返回结果
}
public int Factorial(int a) { //计算阶乘
if (a > 0) {
x = 1;
for (int i = 1; i <= a; i++) {
x = x * i;
}
return x;
} else return 1;
}
}
- 4、程序测试
- 正常情况
- 异常情况
- 边界情况
- 5、遇到的问题
- 1、运行输入3 3出现如下报错:
- 解决:通过调试,以及测试其他数据,发现是阶乘方法未考虑参数为零的情况,修改成如下后解决:
三、实验体会与总结
- 这次是第一次用IDEA进行调试,比JDB好用,快捷得多,界面也更加友好,快捷键不够熟练,平时用多试试。
- 平时在学习Java的过程中,我大多都是在原样敲书里的代码,没有自己的思考,这次实验是真正自己设计并测试的程序,但是出现了很多我以前以为不会出现的愚蠢的错误,比如scanner的大小写之类的,给我提了个醒,以后要多加练习。