一、实验报告封面

课程:Java程序设计  班级:1652班  姓名:刘津甫  学号:20165234

指导教师:娄嘉鹏  实验日期:2018年4月2日

实验时间:15:35 - 17:15  实验序号:实验一

实验名称:Java开发环境的熟悉

实验题目:实现凯撒密码并进行安全加固,并进行测试(正常情况,异常情况,边界情况)

实验内容
1. 使用JDK编译、运行简单的Java程序;
2. 使用IDEA 编辑、编译、运行、调试Java程序。

实验要求
1. 没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;
2. 完成实验、撰写实验报告,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);
3. 实验报告中统计自己的PSP(Personal Software Process)时间;
4. 严禁抄袭。

二、实验内容及步骤

(一)使用JDK编译、运行简单的Java程序

1. 我提前建立好了文件夹 、目录 20165234exp1 ;

2.  cd 20165234exp1 进入到目录中;

3. mkdir src 、 mkdir bin 建立src、bin目录;

4.  javac -d bin src/Hello.java 、 java -cp bin ljf.Hello 编译运行代码。

查看目录树:

用 vim 编辑的代码如下:

(二)IDEA下Java程序开发、调试

  • 步骤及常用快捷键

显示项目视图:按「Alt+1」

新建Java类:用鼠标在「src」上点击右键,选择「New」->「Java Class」

生成main方法:在代码编辑窗口中输入「psvm」,然后按「tab」

生成 System.out.println() 在代码编辑窗口中输入「sout」,然后按「tab」

编译,运行程序:「Run」->「Run...」,快捷键「Alt+Shift+F10」

  • 调试

程序设计中有三类错误:

1. 编译时错误:语法错误,初学者易犯

2. 运行时错误:异常处理

3. 逻辑错误:能编译运行,但运行结果不对

逻辑错误是大家学习中遇到最多的错误,要学会通过调试(Debug)来定位逻辑错误,常用技能有:

1. 自顶向下进行调试

2. 学会设置断点(行断点/函数断点/条件断点/临时断点)

3. 学会单步运行

4. 循环的调试

5. 函数(方法)的调试

6. 二分法定位错误

...

以下是调试程序的步骤:

  • 设置断点

在要设置断点的行号旁用鼠标单击一下就行了(或使用 Ctrl+F8 快捷键)。在第5行设断点:

单击菜单「Run」->「Debug...」(或使用 Alt+Shift+F9 快捷键)开始调试Java程序,程序停留在了第5行:

  • 单步运行

通过单步运行让程序运行到第6行,单步运行有两种:Step Into(快捷捷F7)Step Over(快捷捷F8)

两种单步运行功能在运行语句时没有区别,在执行方法调用语句时,Step Into会跳入方法实现,Step Over会直接执行完方法,实际使用中我们优先使用Step Over,只有方法执行出错了,说明程序问题在被调用方法中,这时再回来通过Step Into进入方法进行调试。

单击一下Step Over图标(或F8),程序停在了第5行,这时查看变量i的值,会看到sum等于11。

单步执行效率比较慢,若想让程序直接运行到第9行,首先我们要在第9行设置断点,然后单击Resume图标(快捷键F9),程序就运行到了第11行:

  • 设置条件断点

在第9行左边断点处单击鼠标右键,弹出断点属性框,可设置条件“i==50”:

按一下F9,可以查看i的是50了:

  • 临时断点

断点只中断一次,如果想把第9,10行的for循环一下子运行完,就需要在第12行设个条件断点。在第十二行设个断点,鼠标右击断点,点「More」或按快捷键 Ctrl+Shift+F8 打开断点设置窗口,选中「Remove Once hit」

  • 方法断点

当怀疑某个方法出错了时,就可以设置方法断点。把光标移到方法中的任一行,使用菜单「Run」->「Toggle Method Breakpoint」.

(三)练习(自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号)

我的学号后两位是34,题目总数为9,因此我的题号为8.

8. 产生一个随机数,让用户猜测,猜错了告诉用户是大了还是小了。 并进行测试(正常情况,异常情况,边界情况)

代码如下:

import java.util.Random;
import java.util.Scanner;
public class exercise {
public static void main(String[] args) {
Random rd = new Random();
int a = rd.nextInt();
System.out.println("请输入100以内的数:");
Scanner input = new Scanner(System.in);
try {
for (int i = ; i < ; i++) {
int b = input.nextInt();
if (b == a) {
System.out.println("你猜对了!");
break;
} else if (b < a) {
System.out.println("你猜小了");
} else
System.out.println("你猜大了");
}
} catch (Exception e) {
System.out.println("输入有误,请输入100以内的数字");
}
}
}
  • 运行截图

20165234 《Java程序设计》实验一 Java开发环境的熟悉的更多相关文章

  1. 实验一《开发环境的熟悉》&实验二《固件设计》

    20145312&20145338 实验一<开发环境的熟悉>&实验二<固件设计> 合作博客链接:http://www.cnblogs.com/yx2014531 ...

  2. Java程序设计 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏 ...

  3. 20145212《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDE)

    20145212<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDE) 实验内容及步骤 1.命令行下的JAVA程序开发 建立并进入实验目录: 撰写简单的Hello ...

  4. 20145213《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145213<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验要求 使用JDK编译.运行简单的Java程序. 使用IDEA编辑.编译.运行.调试J ...

  5. 20145206邹京儒《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145206<Java程序设计>实验报告一:Java开发环境的熟悉(Windows+IDEA) 实验内容及步骤 1.使用JDK编译.运行简单的Java程序: 建立实验目录: 在IDEA ...

  6. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  7. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  8. 20145233韩昊辰 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145233 <Java程序设计>实验报告一:Java开发环境的熟悉 实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验内容 ...

  9. 20145211 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和IDEA ...

随机推荐

  1. BZOJ2006 ST表 + 堆

    https://www.lydsy.com/JudgeOnline/problem.php?id=2006 题意:在长度N的序列中求K段长度在L到R之间的区间,使得他们的和最大 很容易想到要求一个前缀 ...

  2. Linux报错

    Linux报错 ------------------- 在VMware虚拟机中配置yum源时,执行 mount /dev/cdrom /mnt/cdrom 出现 mount: no medium fo ...

  3. 友链——一群dalao

    ****敲黑板,重点. <机房最强大佬(楼下的CP)>https://deathmonkey.blog.luogu.org/ <机房最强基佬> https://www.luog ...

  4. kubernetes yaml格式的Pod配置文件

    kubernetes yaml文件解析 # yaml格式的pod定义文件完整内容: apiVersion: v1 #必选,版本号,例如v1 kind: Pod #必选,Pod metadata: #必 ...

  5. flask 渲染jinja2模版和传参

    渲染模版(html文件) A.模版文件(html)放入到template目录下,项目启动的时候会从template目录里查找, B.从flask中导入“render_tempalte”函数 C.在视图 ...

  6. "Error 0162 - Setup data integrity check failure" after updating BIOS via Thinkvantage

    Start the computer and start pressing F1 and get into set up. In setup press F9 for default settings ...

  7. python 线程(其他方法,队列,线程池,协程 greenlet模块 gevent模块)

    1.线程的其他方法 from threading import Thread,current_thread import time import threading def f1(n): time.s ...

  8. python 生成器和各种推导式

    ##################################总结############################### 什么是迭代器? 可迭代对象通过__iter__()可以转换成迭代 ...

  9. jQuery使用(三):DOM操作之val()方法操作表单元素value值

    操作表单元素属性value的值 <form action="./" method='GET'> <h3 >选择你喜欢的明星</h3> <s ...

  10. bzoj千题计划314:bzoj3238: [Ahoi2013]差异(后缀数组+st表+单调栈)

    https://www.lydsy.com/JudgeOnline/problem.php?id=3238 跟 bzoj3879 差不多 #include<cstdio> #include ...