实验一   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. MVC Route路由

    由于某些原因,需要默认区域,所以需要对路由进行设置 具体实现如下: using System.Web; using System.Web.Mvc; using System.Web.Routing; ...

  2. const T* 和 T* const

    使用c++的时候,经常会在 const int *p 和 int * const p这个地方迷惑.这里记录一下: const int *p  = int const *p //这里const后面的为* ...

  3. JavaIO再回顾

    File类 JavaIO访问文件名和文件检测相关操作 分隔符最好是使用File类提供的File.separator,使程序更加的健壮. File类提供的方法基本上是见名知意,例如getName()就是 ...

  4. 对规范中每个模块只允许一个id的理解

    优点: 每个模块只有一个ID,并且在css中不适用ID,ID从模板中传入js中,则该模块的复用灵活性会非常高.想要复用该模块时,只需要改动两个地方.一个是html中的ID,另外一个是写到全局conf. ...

  5. java的bean和map互转的工具类

    import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;i ...

  6. postgresql----唯一索引,表达式索引,部分索引

    一.唯一索引 唯一索引字面上理解就是在索引上增加唯一约束,不允许出现索引值相同的行,目前只有Btree索引可以声明唯一索引,唯一键会自动创建唯一索引. 测试表: test=# create table ...

  7. SQL Server 存储过程生成流水号

    SQL Server利用存储过程生成流水号 USE BiddingConfig SET QUOTED_IDENTIFIER ON SET ANSI_NULLS ON GO -- =========== ...

  8. I/O排查命令

    I/O可以说是问题大户,线上的问题经常都是它引起的,很多人却不知道怎么定位这种问题.今天简单介绍一下,在此抛砖引玉. 此类问题我们一般分三步定位:按系统级I/O.进程级I/O.业务级I/O定位即可,一 ...

  9. 数据库们~MySQL~MongoDB~Redis

    mysql基础 mysql进阶 python操作mysql MongoDB Redis

  10. C# WinForm实现任务栏程序图标闪烁

    相信大家在用QQ的时候都会知道,你打开了QQ聊天窗口,如果窗口不是当前激活的窗口的话,收到QQ消息时,任务栏(不是托盘图标)上的图标会闪一下变成黄色(Win7默认主题下),用以通知用户有消息进来了,之 ...