一、实验报告封面

课程: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. PHP的简单工厂模式

    又称为静态工厂方法(Static Factory Method)模式,它属于类创建型模式.在简单工厂模式中,可以根据参数的不同返回不同类的实例.简单工厂模式专门定义一个类来负责创建其他类的实例,被创建 ...

  2. apache thrift分析

    thrift是一个用来实现跨语言的远程调用(RPC Remote Procedure Call)的软件框架.根据接口定义语言(IDL Interface definition lanuage) 并借助 ...

  3. pt-archiver数据导入迁移工具

    pt-archiver数据导入迁移工具 一直想明白,如何将一个大表的数据,每多少行数据已提交,分批次的转储到另外的地方,幸好有现成的工具,赶紧把实验成功的操作记录下来. 原理就不解释了,直接上最常用的 ...

  4. 解决gitk显示文件内容中文乱码

    解决gitk显示文件内容中文乱码 1.git config 命令 设置git gui的界面编码 git config --global gui.encoding utf-8 2.修改配置文件 在~\e ...

  5. Idea使用Maven创建Java Web项目

    最近学到了Java Web项目,使用Idea和Maven创建Java Web的时候遇到了诸多问题,最多的还是404问题.现在记录一下解决方案. 一.使用maven创建一个web项目,这一步网上都有,下 ...

  6. node 跨域请求设置

    http.createServer((req,res)=>{ //设置允许跨域的域名,*代表允许任意域名跨域 res.setHeader("Access-Control-Allow-O ...

  7. vim学习之git for windows

    这是我在博客园的第二篇文章,今晚是在线的特殊日子,应小编的要求不想多讲,喝了点酒,感觉到压力和挑战性,抽了几根烟,现在有点飘飘欲仙的感觉.在长江大学11教的6楼,是长大在线的办公室,这个晚上总是不关灯 ...

  8. springboot(二十):数据库连接池介绍

    概述 性能方面 hikariCP>druid>tomcat-jdbc>dbcp>c3p0 .hikariCP的高性能得益于最大限度的避免锁竞争. druid功能最为全面,sql ...

  9. Retrofit GreenDao开发中遇到的坑

    持续更新中1.使用@FormUrlEncoded的话,服务端需要使用Request.Form,如果不使用@FormUrlEncoded本地需要由 @FieldMap Map<String, Ob ...

  10. 小试XML实体注入攻击

    基础知识 XML(Extensible Markup Language)被设计用来传输和存储数据.关于它的语法,本文不准备写太多,只简单介绍一下. XML基本知识 1 2 3 4 5 <?xml ...