博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20165218 实验一 Java开发环境的熟悉
阅读量:4707 次
发布时间:2019-06-10

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

实验一 Java开发环境的熟悉

课程:java程序设计

姓名:赵冰雨

学号:20165218

指导教师:娄嘉鹏

实验日期:2018.4.2

实验密级:Java开发环境的熟悉

实验内容、步骤与体会:

(一)Linux命令行下Java程序开发

  1. 打开虚拟机,Ctrl+Alt+T打开终端(也可以在需要打开终端的文件夹下直接右键打开终端)
  2. cd 20165218,mkdir exp1,cd exp1,建立并进入实验一的文件夹
  3. mkdir bin,mkdir src
  4. touch src/Hello.java并在IDEA内编辑保存好
  5. javac -d bin src/Hello.java编译到bin内
  6. java -cp bin Hello运行
    1296490-20180402152336510-339365665.png

1296490-20180402152346645-633205881.png

1296490-20180402152351704-882407706.png


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

  1. 创建项目,新建HelloJDB类,输入代码,Shift+Alt+F10运行
    1296490-20180402152404885-1665225053.png

1296490-20180402152424336-903106018.png

  1. 在行前左击,设置断点Shift+Alt+F9程序运行到断点处

    1296490-20180402152433028-285972276.png

  2. 单步执行

    1296490-20180402152439782-816670204.png

1296490-20180402152446719-1140676300.png

  1. 条件断点:在断点处输入条件,Shift+Alt+F9进行Debug
    1296490-20180402152454922-1856562421.png

1296490-20180402152501109-1032574278.png


(三)练习(通过命令行和IDEA两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在IDEA下练习调试程序)

  1. 实现凯撒密码并进行安全加固,并进行测试(正常情况,异常情况,边界情况)。

代码实现:

凯撒密码主类

/** * Created by zby on 2018/4/2. */import java.util.*;import java.lang.*;public class CaeserCipher {//凯撒密码    public static void main(String[] args) {        System.out.println("输入一串字符串作为明文(回车结束):");        Scanner input = new Scanner(System.in);        String m = input.next();//读入一行字符串,以回车为标志        Arithmetic output = new Arithmetic();        String c = output.encrpty(m);        System.out.println("加密后的密文为:" + c);        System.out.println("解密后的明文为:" + output.decrypt(c));    }}

算法方法所在类

/** * Created by zby on 2018/4/2. */import java.lang.*;public class Arithmetic {//加密和解密算法    public String encrpty(String m) {        StringBuilder result = new StringBuilder();        char[] mi = m.toCharArray();        int n = mi.length;        for (int c : mi) {            if (c >= 'a' && c <= 'z') {                c += 3; // 移动key%26位                if (c < 'a')                    c += 26; // 向左超界                if (c > 'z')                    c -= 26; // 向右超界            }            // 如果字符串中的某个字符是大写字母            else if (c >= 'A' && c <= 'Z') {                c += 3; // 移动key%26位                if (c < 'A')                    c += 26;// 同上                if (c > 'Z')                    c -= 26;// 同上            }            result.append((char) c);        }        return result.toString();    }    public String decrypt(String m) {        StringBuilder result = new StringBuilder();        char[] mi = m.toCharArray();        int n = mi.length;        for (int c : mi) {            if (c >= 'a' && c <= 'z') {                c -= 3; // 向前移动3位                if (c < 'a')                    c += 26; // 向左超界                if (c > 'z')                    c -= 26; // 向右超界            }            // 如果字符串中的某个字符是大写字母            else if (c >= 'A' && c <= 'Z') {                c -= 3; // 向前移动3位                if (c < 'A')                    c += 26;// 同上                if (c > 'Z')                    c -= 26;// 同上            }            result.append((char) c);        }        return result.toString();    }}

实现:

1296490-20180402152512954-1233822868.png


参考资料

转载于:https://www.cnblogs.com/zicerain/p/8693755.html

你可能感兴趣的文章
Hadoop 学习
查看>>
Leetcode-957 Prison Cells After N Days(N 天后的牢房)
查看>>
java的运算符
查看>>
27. Remove Element
查看>>
Java 调用cmd.exe命令
查看>>
K8s(7)-安装Web UI
查看>>
SIMD数据并行(一)——向量体系结构
查看>>
springmvc参数传递一:形参传参(常用)
查看>>
15模块-Maps【管理地图控件】
查看>>
[转]crontab命令指南
查看>>
vue 二级列表折叠面板
查看>>
ClientValidationEnabled
查看>>
Linux 硬盘分区、分区、删除分区、格式化、挂载、卸载
查看>>
Jam - an open-source build system
查看>>
编写一个程序,将d:\java目录下的所有.java文件复制到d:\jad目录下,并将原来文件的扩展名从.java改为.jad。...
查看>>
Mysql命令大全
查看>>
nginx.conf 基础配置
查看>>
[Leetcode] 1120. Maximum Average Subtree
查看>>
Android webview与js交互
查看>>
JAVA构造函数在超类和子类调用注意事项
查看>>