实验一   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. Django学习笔记 创建应用

    django中使用应用来分割功能.比如:做一个游戏网站,包含4块不同的功能:游戏新闻.游戏论坛.Blog系统.在线商城.使得结构清晰了,每一个应用实现不同的功能:便于复用:游戏新闻.游戏论坛.Blog ...

  2. poj_3630 trie树

    题目大意 给定一系列电话号码,查看他们之间是否有i,j满足,号码i是号码j的前缀子串. 题目分析 典型的trie树结构.直接使用trie树即可.但是需要注意,若使用指针形式的trie树,则在大数据量下 ...

  3. Mac OS X下配置远程Linux 服务器SSH密钥认证自动登录

    1. 在本地机器创建公钥 打开万能的终端,执行如下命令,无视一切输出,一路欢快地回车即可. ssh-keygen -t rsa -C 'your email@domain.com' -t 指定密钥类型 ...

  4. 【BZOJ1269/1507】[AHOI2006]文本编辑器editor Splay

    [BZOJ1269][AHOI2006]文本编辑器editor Description 这些日子,可可不和卡卡一起玩了,原来可可正废寝忘食的想做一个简单而高效的文本编辑器.你能帮助他吗?为了明确任务目 ...

  5. Unity3D笔记四 基础知识概念

    1. Project视图 主要存放游戏中用到的所有资源文件,常见的包括:游戏脚本.预设.材质.动画.自定义字体.纹理.物理材质和GUI皮肤等. 1>     Folder: 文件夹,用于资源的分 ...

  6. 微信小程序 --- 页面跳转

    第一种:wx.navigateTo({}); 跳转: 注意:这种跳转回触发当前页面的 onHide 方法,将当前页面隐藏,然后显示跳转页面.所以可以返回,返回的时候触发 onShow方法进行显示: ( ...

  7. linux防火墙iptables

    2.1 框架图 -->PREROUTING-->[ROUTE]-->FORWARD-->POSTROUTING--> mangle | mangle ^ mangle n ...

  8. js数组转成对象

    $scope.addalerts = []; $scope.addalertsString = JSON.stringify($scope.addalerts); 全部教程http://each.si ...

  9. Shell--基础知识

    变量的定义: a=1 b=hello c="hello world !" d='hello "反启" !' e=`ls`  (注意:这是反引号) 备注:=号左右 ...

  10. HDU_5517_Triple

    Triple Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...