2018-2019-2 20175234 实验一 Java开发环境的熟悉(Linux + IDEA)
20175234 实验一 Java开发环境的熟悉(Linux + IDEA)
目录
第一部分
代码及运行结果截图
第二部分
要求
在学习娄老师博客后,操作IDEA中调试条件断点
代码及截图
示例程序
public class HelloJDB {
public static void main(String[] args) {
int i = 5;
int j = 6;
int sum = add(i, j);
System.out.println(sum);
sum = 0;
for(i=0; i< 100; i++)
sum += i;
System.out.println(sum);
}
public static int add(int augend, int addend){
int sum = augend + addend;
return sum;
}
}
设置断点
用Step Over
单步运行
单击Resume
直接运行到指定行
在大循环中设置断点
直接运行完整个for循环
第三部分
题目
产生一个随机数,让用户猜测,猜错了告诉用户是大了还是小了,并进行测试(正常情况,异常情况,边界情况)
需求分析
产生[1-100]的随机数,让用户猜大小
设计
① 产生随机数
② 输入猜测值
③ 比较
程序及运行结果
单次猜数
为更好检测可以选择输出随机数,在测试时可以选择增加一条输出语句,查看a的值
import java.util.Random;
import java.util.Scanner;
public class Guess {
public static void main(String[] args) {
Random rand = new Random();
int a = rand.nextInt(99) + 1;
Scanner t = new Scanner(System.in);
int b =0 ;
do {
System.out.println("请输入1-100 之间的数!!!");
b = t.nextInt();
}while(b<1||b>100);
if(b>a)
System.out.println("猜大了哦…");
else if(b<a)
System.out.println("猜小了哦…");
else
System.out.println("猜对了呢,你真棒!");
}
}
同一个随机数
直到猜对为之,只需要做部分修改
while(a!=b) {
do {
System.out.println("请输入1-100 之间的整数!!!");
b = t.nextInt();
} while (b < 1 || b > 100);
……
}
产生不同随机数
直到猜对为之,需要对a赋初值,然后改变部分语句顺序
int a=1;
int b = 0;
while(a!=b) {
Random rand = new Random();
a = rand.nextInt(99) + 1;
Scanner t = new Scanner(System.in);
System.out.println(a);
do {
System.out.println("请输入1-100 之间的整数!!!");
b = t.nextInt();
} while (b < 1 || b > 100);
……
}
问题和解决过程
- 问题:Java中如何产生随机数
- 解决方案:博文所述大致如下
1、通过System.currentTimeMillis()来获取一个当前时间毫秒数的long型数字。
2、通过Math.random()方法返回一个0到1之间的double值。
3、通过Random类来产生一个随机数。
在使用的时候,我选择了Random类的方法,因为操作方便,使用了int a = rand.nextInt(99) + 1
来产生一个1-100的随机整数
在Idea中调试程序(示例程序Guess)
首先可以打开run
查看快捷键
首先在第五行设置了断点,在这里可以看见a的值
然后我选择了快捷键F7,来进入程序,然后在Conscle中输入猜测的数值,然后继续按F7查看程序
因为代码为if-else语句可以清晰地看到,a,b从第一个if语句开始移动到b<a的位置,然后结束程序。
当然也可以选择在程序中增加一条输出语句,查看a的值,方便检测咯……
分析总结
这次的Java实验的难点是产生随机数,剩下的循环主要看设计思路。实验是一个很好的完整的带有目的性的个人程序开发,能够整合学到的知识。
PSP
步骤 | 耗时(分钟) | 百分比 |
---|---|---|
需求分析 | 5 | 2.5 |
设计 | 15 | 7.5 |
代码实现 | 60 | 30 |
测试 | 60 | 30 |
分析总结 | 60 | 30 |