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日 实验密 ...
随机推荐
- python 连接 oracle 统计指定表格所有字段的缺失值数
python连接oracle -- qlalchemy import cx_Oracle as co import pandas as pd from sqlalchemy import crea ...
- Hbase 与Hive整合
HBase与Hive的对比 25.1.Hive 25.1.1.数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. 25.1.2. ...
- 【java】类的继承
继承:特殊类拥有一般类的全部属性与行为. 继承好处:1.提高了代码的复用性2.让类与类之前产生了关系,有了这个关系才有多态的特性.继承是类和类之前的关系. 注意事项: 1.java只支持单继承,不支持 ...
- 记一次nginx403错误
同事开发微信小程序,小程序通过API接口调用我们的人脸比对API,但是一直是提示403,通过查看查看nginx日志,发现请求并没有转发出去,转发出去的请求,应该是301,重定向, 然后就开始在ngin ...
- CentOS7版本区别和下载
CentOS 7提供了三种ISO镜像文件的下载: DVD ISO 标准安装版,一般下载这个就可以了(推荐) Everything ISO 对完整版安装盘的软件进行补充,集成所有软件.(包含centos ...
- 涂抹mysql笔记-mysql复制特性
<>mysql复制特性:既可以实现整个服务(all databases)级别的复制,也可以只复制某个数据库或某个数据库中的某个指定的表对象.即可以实现A复制到B(主从单向复制),B再复制到 ...
- 刘志梅 201771010115 《面向对象程序设计(java)》 第九周学习总结
实验九 异常.断言与日志 实验时间 2018-10-25 1.实验目的与要求 (1) 程序中会出现的错误:用户输入错误.设备错误.代码错误.物理限制. 在Java程序设计语言中,异常对象都是派生于Th ...
- php post和get请求
1. POST请求 public function post($url, $params = array()) { /*初始化*/ $ch = curl_init(); /*设置变量*/ curl_s ...
- C++ #define #if #ifndef 宏指令
不会用就直接复制粘贴 #define CURSOR(top,bottom) (((top)<<8)|(bottom)) #define mul(x1,x2) (x1*x2) #define ...
- C++获取当前执行程序文件所在的全路径