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 |
参考资料
2018-2019-2 20175234 实验一 Java开发环境的熟悉(Linux + IDEA)的更多相关文章
- 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)
20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...
- 实验一 Java开发环境的熟悉(Linux + Eclipse)
学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...
- 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然
https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...
- 20145203盖泽双实验一 Java开发环境的熟悉(Linux + Eclipse)
实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...
- 《JAVA程序设计》20155214 实验一 Java开发环境的熟悉(Linux + IDEA)
<JAVA程序设计> 实验一 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Ja ...
- 20155233 实验一 Java开发环境的熟悉(Linux + IDEA)
20155233 实验一 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序. 实验步骤 ( ...
- 20155235 《Java程序设计》 实验一 Java开发环境的熟悉(Linux + Eclipse)
20155235 <Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编 ...
- 20145303 实验一 Java开发环境的熟悉(Linux + Eclipse)
20145303 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验题目(4):实现学生成绩管理功能,并进行测试 思路: 对于实现学生成绩管理(student performanc ...
- 20162303 实验一 Java开发环境的熟悉(Linux + Eclipse)
北京电子科技学院(BESTI) 实 验 报 告 课程:程序设计与数据结构 班级: 1623 姓名: 石亚鑫 学号:20162303 成绩: 2分 指导教师:娄嘉鹏 王志强 实验日期:3月17日 实验密 ...
随机推荐
- c# 数据存储过程
什么是存储过程? 用某百科的话来说就是一堆为了完成某一功能或者某些功能的SQL语句的集合,而数据库则会将这些存储过程的方法存储到数据库中去. 优点: 1.可重用并且效率高:存储过程经过一次编译后不需要 ...
- Matlab中调用VS编译的exe文件并传递变量 的方法
经历::在网上找了很多方法,都没有实现在matlab中调用vs的exe文件并且能够传递变量参数,一些小细节花费了自己很多时间,比喻忽略了一些空格! 网上很多的方法都是纯粹复制别人的方法,自己都没有去 ...
- calibre的注册表残留删除
卸载calibre后,注册表仍有残留 for /f %a in ('reg query HKEY_CLASSES_ROOT /f calibre /k') do reg delete %a /f
- 执行sql语句为什么?用PreparedStatement要比Statement好用
PreparedStatement public interface PreparedStatement extends Statement;可以看到PreparedStatement是Stateme ...
- Lattice并购案&我国FPGA发展路径
FPGA作为通信.航天.军工等领域的关键核心器件,是保障国家战略安全的重要支撑基础.近年来,随着数字化.网络化和智能化的发展,FPGA的应用领域得到快速扩张.美国在FPGA领域拥有绝对的垄断优势,已成 ...
- LeetCode——300. Longest Increasing Subsequence
一.题目链接:https://leetcode.com/problems/longest-increasing-subsequence/ 二.题目大意: 给定一个没有排序的数组,要求从该数组中找到一个 ...
- git 一个分支完全覆盖另一个分支
1,git push origin develop:master -f就可以把本地的develop分支强制(-f)推送到远程master 2,git checkout master // 切换到旧的分 ...
- globals和locals的区别
Python的两个内置函数,locals 和globals,它们提供了基于字典的访问局部和全局变量的方式. 1.locals()是只读的.globals()不是.这里说的只读,是值对于原有变量的只读. ...
- 廖雪峰Java6 IO编程-3Reader和Writer-1Reader
1.java.io.Reader和java.io.InputStream的区别 InputStream Reader 字节流,以byte为单位 字符流,以char为单位 读取字节(-1,0-255): ...
- 微信小程序精品demo
http://www.jianshu.com/p/0ecf5aba79e1 感谢笔者的分享!