博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20175318 2018-2019-2 实验一《Java开发环境的熟悉》实验报告
阅读量:4953 次
发布时间:2019-06-12

本文共 1618 字,大约阅读时间需要 5 分钟。

实验内容及步骤

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

使用vim编辑器编写代码

1267816-20190406151709487-1697028211.png
1267816-20190406151642693-1110158084.png
编译,运行
1267816-20190406151627563-680818336.png

(二)使用IDEA进行调试

我们先新建一个项目 名字叫HelloJDB,点击finish就好了

1267816-20190313081837759-361721245.png
常用的快捷键
1267816-20190313081948328-277610872.png
用鼠标在「src」上点击右键,选择「New」->「Java Class」新建Java类:
1267816-20190313082118725-572482070.png
我们新建一个HelloJDB
1267816-20190313082154298-641416296.png
输入代码
1267816-20190313082701077-969171719.png
编译运行,没有问题,我们在第五行下一个断点,鼠标单击或者使用Ctrl+F8快捷键
1267816-20190313083023895-992836607.png
然后单击菜单「Run」->「Debug...」(或使用Alt+Shift+F9快捷键)开始调试Java程序,程序停留在了第5行
1267816-20190313083120828-2046246406.png
此时第五行的代码并没有执行,我们使用单步运行让程序运行到第6行,单步运行有两种:Step Into(快捷捷F7)和Step Over(快捷捷F8)这里和我之前破解外挂用的OD一样,在执行方法调用语句时,Step Into会跳入方法实现,Step Over会直接执行完方法
按下Step Over或F8,可以发现程序停在了第5行,这时查看变量i的值,会看到sum等于11
1267816-20190313083705998-558766512.png
设置条件断点
在第9行左边断点处单击鼠标右键,弹出断点属性框,设置条件i==56
1267816-20190313084005319-601070.png
按一下F9,可以看到i=56
1267816-20190313084047704-638628298.png
设置临时断点
右键断点,点击More或者按Ctrl+Shift+F8打开断点设置窗口,选中「Remove Once hit」
1267816-20190313084135684-610283730.png
1267816-20190313084222428-686572791.png

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

程序代码如下:

import java.io.*;import java.util.Scanner;public class Caeser {    public static void main(String[] args) {        System.out.print("请输入密钥:");        Scanner s = new Scanner(System.in);        int a = s.nextInt();        C(a);    }    public static void C(int n) {        try {            char b[];            BufferedReader br2 = new BufferedReader(new InputStreamReader(System.in));            System.out.println("请输入一段明文:");            String str2 = br2.readLine();            b = str2.toCharArray();            System.out.println("密文为:");            int k = n;            for (int i = 0; i < str2.length(); i++) {                char ch = (char) ((b[i] - 'a' + k) % 26 + 'a');                System.out.print(ch);            }            System.out.println("密钥K=" + k);        } catch (IOException e) {            System.out.println(e.getMessage());        }    }}

正常情况

1267816-20190406152722034-1562504324.png

边界情况

1267816-20190406152659389-1704747836.png
1267816-20190406152754945-1126294957.png

实验总结

这一段因为有事情也没有上课,很多东西都还在学习过程中,这篇博客做得不好的地方我会改正,慢慢来吧。

转载于:https://www.cnblogs.com/L1079991001/p/10661920.html

你可能感兴趣的文章
mybatis 插入数据 在没有commit时 获取主键id
查看>>
SQL2005 删除空白行null
查看>>
lightoj 1030 概率dp
查看>>
重新注册.NET
查看>>
Java 内存溢出(java.lang.OutOfMemoryError)的常见情况和处理方式总结
查看>>
Vagrant入门
查看>>
python and 我爱自然语言处理
查看>>
第3讲:导入表的定位和读取操作
查看>>
echarts-柱状图绘制
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
VS2013试用期结束后如何激活
查看>>
边框圆角Css
查看>>
SQL 能做什么?
查看>>
java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
查看>>
使用Busybox制作根文件系统
查看>>
Ubuntu候选栏乱码
查看>>
基于SSH框架的在线考勤系统开发的质量属性
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>