实验一   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%

20145105 《Java程序设计》实验一总结的更多相关文章

  1. Java程序设计实验 实验五

    课程:Java程序设计实验   班级:1353  姓名:符余佳源  学号:20135321 成绩:                           指导教师:娄嘉鹏      实验日期:2015. ...

  2. 南邮JAVA程序设计实验1 综合图形界面程序设计

    南邮JAVA程序设计实验1  综合图形界面程序设计 实验目的: 学习和理解JAVA SWING中的容器,部件,布局管理器和部件事件处理方法.通过编写和调试程序,掌握JAVA图形界面程序设计的基本方法. ...

  3. Java程序设计 实验三

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计   班级:1353       姓名:李海空  学号:20135329 成绩:             指 ...

  4. Java程序设计 实验二 Java面向对象程序设计

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏 ...

  5. JAVA程序设计 实验一

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1353  姓名:李海空  学号:20135329 成绩:             指导教师:娄嘉鹏 ...

  6. JAVA程序设计 实验一报告

    北京电子科技学院(BESTI) 实     验    报     告 课程:Java程序设计 班级:1351  姓名:李畅宇  学号:20135129 成绩:             指导教师:娄嘉鹏 ...

  7. Java程序设计 实验五

    实     验    报     告 课程:Java 班级: 1353    姓名:李海空   学号:20135329 成绩:              指导教师:娄嘉鹏   实验日期:2015.6. ...

  8. java程序设计实验

    建立文件调试jdk idea断点调试 项目素数的寻遍

  9. 《Java程序设计实验》 软件工程18-1,3 OO实验2

  10. 学号20155311 2016-2017-2 《Java程序设计》第一次实验报告

    课程:Java程序设计 实验名称:Java开发环境的熟悉 实验目的与要求: 没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程: 完成实验. ...

随机推荐

  1. php面向对象基础概念(封装)

    封装性是面象对象编程中的三大特性之一,封装性就是把对象的属性和服务结合成一个独立的相同单位,并尽可能隐蔽对象的内部细节,包含两个含义: 1. 把对象的全部属性和全部服务结合在一起,形成一个不可分割的独 ...

  2. 《转》python学习(8)元组

    转自 http://www.cnblogs.com/BeginMan/p/3156235.html 一.元组特性 1.类似列表,但不可变类型,正因如此,它可以做一个字典的key2.当处理一组对象时,这 ...

  3. myBatis调用postgreSQL存储过程

    1.调用没有OUT参数的存储过程: 创建存储过程: create or replace function get_code(a1 varchar(32)) returns varchar(32) as ...

  4. java - OutOfMemoryError: Java heap space 堆空间不足

    Error occurred during initialization of VM Could not reserve enough space for object heap Error: Cou ...

  5. 110道python题+理解(不断更新)

    此篇题目在网上已经广为流传,但好多都不做解释,所以我想着自己一道一道的做一遍,并将相关涉及的做个补充,个人知识毕竟片面,有不足的地方还请大家多多指正 一.请用一行代码实现1-100之和 >> ...

  6. Cisco配置发送日志到日志服务器

    Cisco配置发送日志到日志服务器logging 172.16.6.22logging onlogging trap 7  //指定日志消息的级别 (0:紧急(Emergencies) 1:告警(Al ...

  7. 蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现

           蓝牙4.0BLE 手机控制 cc2540 CC2541 的串口透传功能已实现        尽管蓝牙4.0 BLE芯片CC2540 是单芯片(即用户能够对它进行芯片级代码编写), 是80 ...

  8. Flask系列(三)蓝图、基于DButils实现数据库连接池、上下文管理

    知识点回顾 1.子类继承父类的三种方式 class Dog(Animal): #子类 派生类 def __init__(self,name,breed, life_value,aggr): # Ani ...

  9. hdfs HA原理

    早期的hadoop版本,NN是HDFS集群的单点故障点,每一个集群只有一个NN,如果这个机器或进程不可用,整个集群就无法使用.为了解决这个问题,出现了一堆针对HDFS HA的解决方案(如:Linux ...

  10. linux问题点滴,给普通用户添加sudo权限

    最近又把linux捡起来了,虚拟机中安个元老级centos5.3继续搞.使用sudo临时获取超管权限命令时,提示”xxx is not in the sudoers file. This incide ...