zoukankan      html  css  js  c++  java
  • 20145105 《Java程序设计》实验一总结

    实验一   Java开发环境的熟悉

    一、    实验内容:

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

    (二)使用idea编辑、编译、运行、调试Java程序。

    二、    实验步骤:

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

    1. 打开cmd

     

         2. 使用md 20145105指令新建一个实验目录,名称为学号201045105,并用dir指令查看

     

         3. 使用cd 20145105指令进入实验目录,再建立第一个实验目录exp1并进入。

     

         4. 输入cd可以查看当前工作路径。

     

         5. 新建一个文本文件,重命名为Hello.Java,并编辑输入代码。

     

         6. 使用javac –d.Hello.java编译代码。

     

         7. 使用java ljp.Hello运行程序(第一次少了一个空格,修改后运行正确)。

     

    (二)   ideaJava程序开发、调试

    1. 打开idea,新建项目实验一,再新建java class“HelloJDB”。

     

         2. 输入代码。

     

         3. 运行程序。

     

         4. 调试程序,设置断点。

     

         5. 单步运行。

     

    (三)   练习(包括问题和解决方法)

    题目:实现凯撒密码,并进行测试。

    1. 初步编辑代码,试运行,不能正确显示密文,有乱码。

     

         2. 检查后发现,加上密钥后会有超出字母范围的符号出现,做出修改。

     

         3. 再次运行,成功。

     

         4. 进行一些更友好的修改。

     

         5. 最终代码。

    importjava.util.Scanner;
    import java.lang.String;

    public class lianxi {
    public static void main(String[] args) {
    int i = 0;
    int k = 0;

    //输入密钥
           
    do {
                System.out.println("请输入密钥(1~26):");
                Scanner miyao = new Scanner(System.in);
                k = miyao.nextInt();
            }while ( k > 25);

    //输入明文
           
    System.out.println("请输入明文:");
            Scanner mingwen = new Scanner(System.in);
            String m = mingwen.nextLine();
    char[] mm = m.toCharArray();

    //加密过程
           
    for(i = 0;i < m.length();i++) {
    if(mm[i] > 96 && mm[i] < 123 ) {
                    mm[i] += k;
    if(mm[i] > 123) {
                        mm[i] -= 26;
                    }
                }
    if(mm[i] > 64 && mm[i] < 91) {
                    mm[i] += k;
    if(mm[i] > 91) {
                        mm[i] -= 26;
                    }
                }
            }

    //输出密文
           
    System.out.println("输出密文是:");
    for(i = 0; i < m.length(); i++) {
                System.out.print(mm[i]);
            }
        }
    }

    三、    实验问题:

    1. 输入明文后不知道如何对字符串内部字符单独操作。

    解决:查找书中代码后,使用toCharArray()将字符串转化为数组后,再使用for循环依次对每个字符操作。

         2. 初步编辑代码试运行后,得出的密文不正确,有乱码。

    解决:经过多次运行,发现部分字母加上密钥后会超出字母范围,所以增加了if条件判断,如果超出范围就减去26.

    四、    实验心得:

    第一次自己编写代码,本以为会做不出来,但是真正操作起来发现也没有想象中的那么难,重点就在于编写代码前的分析阶段,分析实现凯撒密码需要经过几个步骤、几次输入、什么变换才能成功得到密文。分析过后,需要的就是按部就班地将设计实现出来,在这一步,我发现我对一些常用语法的掌握还不太熟练,需要翻书才知道应该用什么语法,看来只是能看懂代码并不代表会自主编辑,还是要多操作多练习。

    步骤

    耗时

    百分比

    需求分析

    15min

    11.54%

    设计

    10min

    7.69%

    代码实现

    30min

    23.08%

    测试

    15min

    11.54%

    分析总结

    1h

    46.15%

  • 相关阅读:
    OSPF 开放最短路径优先协议
    RIP 路由算法
    原创 记一个上门洗车服务范围的需求实现
    转载 一位资深程序员大牛给予Java学习者的学习路线建议
    原创 解决异步调用实时跳转
    FIFO队列 ADT接口 数组实现
    FIFO队列 ADT接口 链表实现
    约瑟夫问题 链表实现
    合并-查找接口实现
    快速查找 快速合并 加权快速合并 路径等分加权快速合并 算法
  • 原文地址:https://www.cnblogs.com/schwarizard/p/5375447.html
Copyright © 2011-2022 走看看