20175223 实验一 《JAVA开发环境的熟悉》实验报告
北京电子科技学院(BESTI)实验报告
| 课程:Java2实用教程 | 班级:201752 | 姓名:姚明宇 | 学号:20175223 |
|---|---|---|---|
| 成绩: | 指导教师:娄嘉鹏 | 实验日期:4月5日 | |
| 实验密级: | 预习程度: | 实验时间: | |
| 仪器组次: | 必修/选修:选修 | 实验序号: |
目录
实验名称:实验一 Java开发环境的熟悉
实验仪器:
| 名称 | 型号 | 数量 |
|---|---|---|
| PC端 | 1 |
实验内容、步骤与体会:
一、实验一 Java开发环境的熟悉-1
00 实验
0 参考实验要求
1 建立“自己学号exp1”的目录
2 在“自己学号exp1”目录下建立src,bin等目录
3 javac,java的执行在“自己学号exp1”目录
4 提交 Linux或Window或macOS中命令行下运行Java的全屏截图, 运行结果包含自己学号等证明自己身份的信息

二、实验一 Java开发环境的熟悉-2
00 实验
参考http://www.cnblogs.com/rocedu/p/6371315.html
提交 Linux或Window或macOS环境中 IDEA中调试设置条件断点的全屏截图,截图打上自己学号的水印。
其他内容包括截图在实验报告中体现
步骤:
- 设置断点,选择菜单「Run」->「Debug...」开始调试程序运行至断点处,
Step Over(F8)单步运行;

- 多行运行,设置断点第 8 行,然后单击
Resume(F9)运行至断点处;

- 通过条件断点,解决个大循环中间的问题:断点处单击鼠标右键,弹出断点属性框,设置条件“i==50”,单击
Resume(F9)运行;


- 要跳出 for 循环,在 10 行设置条件断点,鼠标右击断点,点「More
(Ctrl+Shift+F8)」打开断点设置窗口,选中「Remove Once hit」,Done即可(或把光标移到第 10 行,选择菜单「Run」->「Toggle Temporary Line Breakpoint」或(Ctrl+Alt+Shift+F8));

- 设置方法断点:把光标移到方法中的任一行,选择菜单「Run」->「Toggle Method Breakpoint」,单击
Resume(F9)运行至断点处。

三、实验一 Java开发环境的熟悉-3
00 实验
参考实验一 Java开发环境的熟悉(Linux + Eclipse)http://www.cnblogs.com/rocedu/p/4421202.html (三)练习
提交自己练习项目的码云链接和运行结果的截图。
实验题目6. 实现求排列数P(n,m)的功能,m,n从命令行输入,并进行测试(正常情况,异常情况,边界情况)。
正常情况:n>=0且(n-m)>=0。例:n=4,m=3,P(n,m)=24。
异常情况:n<0或(n-m)<0。例:n=3,m=4,Error。
边界情况:MAX_INT=2147483647,13!=6227020800,则13!>MAX_INT,超出int容量。
[图片:正常情况]

[图片:异常情况]

[图片:边界情况]

码云链接:( https://gitee.com/Yogile/YogileOne.git )。在仓库 2018-2019-第2学期\Java 程序设计基础,项目名为:P(n,m) 。
实验过程中遇到的问题以及解决方案
1. 问题:在Linux中无法运行已经编译完成的源文件
root@yogile-VirtualBox:/alive/string# javac -d bin string/name.java
root@yogile-VirtualBox:/alive/string# java string/name
错误: 找不到或无法加载主类 string.name
或者是出现这种情况:
root@yogile-VirtualBox:/alive/string# java -cp string name
错误: 找不到或无法加载主类 name
解决方案:
两种情况均是解释文件的格式不对。解释器java.exe解释的并不是源文件本身,而是编译后的文件xxx.class。由于javac -d bin string/name.java将编译name.java生成的name.class字节码文件生成到bin文件夹中,所以应该用java -cd bin name运行。
如果程序中含有package,需要在package定义的上一个目录中进行编译。
2. 问题:阶乘的运算结果不单独运算,而是继续叠加。
9!的值supnum=362880
10!的值supnum=-1736015872
解决方案:
为什么9!的值是对的,但10!就不对了呢?
重点是:类中的变量分为两种:成员变量和局部变量。成员变量在声明的方法外,成员变量的值一旦通过命令改变就不会恢复初始,进行垃圾回收。但局部变量在方法内,在方法运行完成后就会回收,下次再用方法时,会重新定义为初始值。
而tet中的supnum是成员变量,supnum是不会随着tet中方法mult的结束而恢复初始1。在进行9!的运算后,supnum=362880;但在进行10!的运算的时候,supnum就不是1了,还是362880。这时进行的运算就是362880*10!,这个算式的结果超过了int类型的最大容量2^31-1,结果就变成了错误的值。
3. 问题:阶乘的运算出现负数。
认知不同基本数据类型的大小及调用。
解决方案:
对于复杂运算而言(阶乘等),计算的数值很容易超出初始值设定的范围(byte、int等)。
编写程序的时候,要注重Java基本数据类型大小及其包装类。
否则运算结果会出现乱码或复数。
体会
JAVA的学习是进一步的,而非停留在阅读表面。
学习JAVA开发真的有难度,精力的付出是学习好JAVA的基本,而耐心不只是学习JAVA,而且是学习所有东西的必要条件。
实验是知识运用的输出。我在实验的过程中,确确实实是沉迷其中,每解决一个遇到的问题,都有一种成就感。
PSP
| 步骤 | 耗时 | 百分比 |
|---|---|---|
| 需求分析 | 5min | 5% |
| 设计 | 5min | 5% |
| 代码实现 | 70min | 70% |
| 测试 | 10min | 10% |
| 分析总结 | 10min | 10% |
20175223 实验一 《JAVA开发环境的熟悉》实验报告的更多相关文章
- 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...
- 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告
20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...
- 20165205 实验一 java开发环境的熟悉 实验报告
20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...
- 20162327实验一Java开发环境的熟悉实验报告
20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...
- 实验一Java开发环境的熟悉
实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...
- 20175316 盛茂淞 实验一 Java开发环境的熟悉
20175316 盛茂淞 实验一 Java开发环境的熟悉 实验目的 使用JDK编译.运行简单的Java程序 实验要求 1.建立"自己学号exp1"的目录 2.在"自己学号 ...
- 20155327实验一 Java开发环境的熟悉
20155327实验一 Java开发环境的熟悉 实验内容 1.使用JDK编译.运行简单的java程序 2.使用IDEA编辑.编译.运行.调试java程序 实验步骤 1.使用JDK编译.运行简单的jav ...
- 20165233 实验一 Java开发环境的熟悉
20165233 实验一 Java开发环境的熟悉 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 2.完成实验.撰写实验 ...
- 20155231 java实验一 Java开发环境的熟悉
20155231 java实验一 Java开发环境的熟悉 实验要求 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验.撰写实验 ...
随机推荐
- 思科模拟器PacketTracer7-----2台PC通过交叉线互连
实验二—3 实验工具:思科模拟器PacketTracer7(可在思科官网下载,免费) 实验设备: PC两台,交叉线 实验步骤: 一.配置网络拓扑图 二.配置PC0和PC1的IP地址,掩码和网关 四.通 ...
- 2019ccpc-HN省赛-A/C/F/I
A.最大下降矩阵 时间限制: 1 Sec 内存限制: 512 MB提交: 508 解决: 107[提交] [状态] [讨论版] [命题人:外部导入] 题目描述 我们称一个矩阵是下降矩阵,当且仅当, ...
- python3 doc2vec文本聚类实现
import sys #doc2vev import gensim import sklearn import numpy as np from gensim.models.doc2vec impor ...
- 合并两个 Lambda 表达式
概述 在开发工作中,有些时候需要对一些增删改查进行封装(用 Lambda 表达式来筛选数据),但是又有一部分条件总是相同的,对于相同的部分可以直接写到方法里,而不同的部分作为参数传进去. 定义扩展方法 ...
- Azkaban启动web--javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at sun.se
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection? at sun.se javax.net.ssl. ...
- js 获取二级域名
js获取页面完整地址: window.location.href; var s =" https://ejym.baidu.com"; var h = s.s ...
- 泛在电力物联网建设大纲ppt
“三型两网”,国家电网在2019年提出的新战略目标.其中,“两网”分别代表着,“坚强智能电网”和“泛在电力物联网”.“坚强智能电网”的概念已经随着特高压的持续建设而被大家渐渐熟知,那么“泛在电力物联网 ...
- Nmap UDP扫描缓慢问题探究(无结果)
一.说明 在网络原理中我们经常说TCP是面向连接的要进行三次握手和四次挥手所以速度比较慢,UDP是无连接的直接发送和接收所以速度快(说到这个快慢我总想起多年前有篇分析MSN为什么被QQ淘汰的一篇文章其 ...
- boost第 4 章 事件处理
http://zh.highscore.de/cpp/boost/ 1.信号 Signals 2.一旦对象 被销毁,连接就会自动释放. 让 FF类继承自 boost::signals::trackab ...
- jenkins log文件突然占满磁盘空间
今天早上同事反应jenkins构建job发生异常,于是登录机器查看发现磁盘空间已满.进一步排查之后发现jenkins的catalina.out文件已占满磁盘空间. 用tail看了下日志后面都是关于DN ...