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

    (一)基础操作

    实验要求:

    1 .建立“自己学号exp1”的目录
    2 .在“自己学号exp1”目录下建立src,bin等目录
    3 .javac,java的执行在“自己学号exp1”目录
    4 .提交 Linux或Window或macOS中命令行下运行Java的全屏截图, 运行结果包含自己学号等证明自己身份的信息
    5 .代码提交码云

    思路

    用'mkdir'建立文件,用'vim'编写文件,'javac'编译,运用一个'System.out.println'即可

    代码:

    public class ID {
        public static void main(String args[]) {
        System.out.println("刘雨恒");
        System.out.println("20175309");
        }
    }
    

    结果截图:

    码云链接:

    https://gitee.com/Lyh20175309/java-besti-is-lyh/tree/master/20175309exp1/src

    (二)使用IDEA调试Java程序

    调试代码这一块按照了老师所给的参考博客来一步一步的完成的,不知道为何,我在设置完断点后单击鼠标右键无法设置条件断点,现在仍在寻找解决方案;另外,由于我的电脑的原因,F1到F12都被自动设置了快捷键,在IDEA里无法使用,想使用的话还需要取消快捷键,造成了极大的不便。

    结果截图

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

    代码

    /**
     * Created by lenovo on 2019/4/2.
     */
    import java.sql.SQLOutput;
    import java.util.Scanner;
    public class kaisa {
        public static void main(String[] args) {
            System.out.println("1 加密 2 解密");
            Scanner in = new Scanner(System.in);
            int n = in.nextInt();
            if (n == 1) {
                System.out.print("请输入明文:");
                String str = in.next();//输入明文
                String jm = "";//定义字符串jm并初始化
              for (int i = 0; i < str.length(); i++) {
                    char ch = str.charAt(i);//这句话我的理解是把str的第I个值赋值给ch,即把str都装进ch中。 
                    if (ch >= 'a' && ch <= 'z') {
                        if (ch < 'x') {  //如果小于x,加3最多变成z,如果大于x,就必须先-26,再+3,例‘x'=24-26+3=1=’a'
                            ch += 3;
                        } else {
                            ch -= 26;
                            ch += 3;
                        }
                    }
                    if (ch >= 'A' && ch <= 'Z') {
                        if (ch < 'X') {
                            ch += 3;
                        } else {
                            ch -= 26;
                            ch += 3;
                        }
                    }
                    jm += ch;
                }
                System.out.println("密文是:" + jm);
            }
            else if (n == 2) {
                System.out.print("请输入密文:");
                String str = in.next();//输入密文
                String jm = "";
                for (int i = 0; i < str.length(); i++) {
                    char ch = str.charAt(i);
                    if (ch >= 'a' && ch <= 'z') {
                        if (ch > 'c') {
                            ch -= 3;
                        } else {
                            ch += 26;
                            ch -= 3;
                        }
                    } else if (ch >= 'A' && ch <= 'Z') {
                        if (ch > 'C') {
                            ch -= 3;
                        } else {
                            ch += 26;
                            ch -= 3;
                        }
                    }
                    jm += ch;
                }
                System.out.println("明文是:" + jm);
            }
            else {
                System.out.println("输入错误");
            }
        }
    }
    
    

    1.正常情况

    2.异常情况

    3.边界情况


    后来我发现了我程序的纰漏就是无法加密数字,但一般发密文的时候数字都是用文字表示,所以我就把含有数字的当成边界情况了。

    遇到的问题

    1运行结果是正确的,但之后又有“输入错误”的输出。

    解决办法:还是对条件语句理解的不够透彻;应该在第二个if前加一个else,否则if和if else变成了两个个体,前面if中n等于1之后跳入第二个条件,判断n此时不等于2,于是运行else那一块,所以就输出了正确结果和“输入错误”。

    实验心得

    1.实验1-1看起来很简单,但打好基础非常重要,涉及到的几个命令都是最基础的命令,但凡学习java都必会的,可以看出老师设计此实验的良苦用心
    2.实验1-2用idea调试代码是非常重要的,作为一名程序“猿”,不仅要会开发,还要按照需求调试,学好怎样调试和使用快捷键调试是不可避免的一步,学好这些,才能理直气壮地说自己掌握了编程。
    3.练习:凯撒密码看起来好像很简单(其实实际上也不难),就是一个单纯的ch=ch+3,但涉及到了一个分类讨论的思想,即判断字母是否是x,y,z。这三个字母在最后三位必须要先减26再加3;另外加密和解密的字符串jm必须要初始化,否则会输出乱码。
    4.通过这次实验帮助自己查缺补漏,之前C语言的学习仍有很多没学明白的地方,自己要加把劲了。

  • 相关阅读:
    影响CSS的margin合并的几个属性
    Mouse w/o Borders实现两台主机共用一套键鼠方法及问题处理
    隐藏"Input"标签默认样式
    如何快速开发网站?
    如何让Web.xml变得简洁?
    关于中文处理方面的研究
    Hello,World 百态
    UI开发的终极解决方案
    构建网络爬虫?so easy
    MDA数据校验规则定义
  • 原文地址:https://www.cnblogs.com/20175309lyh/p/10646701.html
Copyright © 2011-2022 走看看