zoukankan      html  css  js  c++  java
  • 20175318 2018-2019-2 实验一《Java开发环境的熟悉》实验报告

    实验内容及步骤

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

    使用vim编辑器编写代码


    编译,运行

    (二)使用IDEA进行调试

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

    常用的快捷键

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

    我们新建一个HelloJDB

    输入代码

    编译运行,没有问题,我们在第五行下一个断点,鼠标单击或者使用Ctrl+F8快捷键

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

    此时第五行的代码并没有执行,我们使用单步运行让程序运行到第6行,单步运行有两种:Step Into(快捷捷F7)和Step Over(快捷捷F8)这里和我之前破解外挂用的OD一样,在执行方法调用语句时,Step Into会跳入方法实现,Step Over会直接执行完方法
    按下Step Over或F8,可以发现程序停在了第5行,这时查看变量i的值,会看到sum等于11

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

    按一下F9,可以看到i=56

    设置临时断点
    右键断点,点击More或者按Ctrl+Shift+F8打开断点设置窗口,选中「Remove Once hit」

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

    程序代码如下:

    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());
            }
        }
    }
    

    正常情况

    边界情况

    实验总结

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

  • 相关阅读:
    损失函数VS评估指标
    协程到底是什么?看完这个故事明明白白!
    一个故事看懂AI神经网络工作原理
    一个爬虫的故事:这是人干的事儿?
    深夜,我偷听到程序员要对session下手……
    突然挂了!Redis缓存都在内存中,这下完了!
    还不懂Redis?看完这个故事就明白了!
    可怕!公司部署了一个东西,悄悄盯着你!
    小白怎么入门网络安全?看这篇就够啦!
    CPU有个禁区,内核权限也无法进入!
  • 原文地址:https://www.cnblogs.com/L1079991001/p/10661920.html
Copyright © 2011-2022 走看看