实验一   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. vue-学习笔记(更新中...)

    vue学习笔记 2017-08-23  11:10:28 Vue实例: var vm = new Vue({ // 选项 }) 实例化Vue.Vue实例,构造函数Vue.创建一个Vue的根实例,Vue ...

  2. sencha touch 扩展篇之将sencha touch打包成安装程序(上)- 使用sencha cmd打包安装程序

    由于最近一直忙着android原生的开发,很久没有更新博客了,官方的sencha cmd工具功能非常强大,创建项目,压缩项目,打包安装程序都能轻松实现,这讲我们就给大家介绍下如何使用sencha cm ...

  3. Scala 泛型类型和方法

    abstract class Stack[A] { def push(x: A): Stack[A] = new NonEmptyStack[A](x, this) def isEmpty: Bool ...

  4. JSP教程

    http://www.runoob.com/jsp/jsp-tutorial.html

  5. jps命令用法

    jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写.非常简单实用. 命令格式:jps [option ...

  6. javascript 之获取 百度地址参数方法

    原生态的JavaScript对DOM的操作 比jquery更方便,特别是当没有id  或class 可以获取的时候,只有用tag名获取 HTML DOM Element 对象操作  http://ww ...

  7. Powerdesigner逆向工程从sql server数据库生成pdm【转】

    Powerdesigner逆向工程从sql server数据库生成pdm 第一步:打开"控制面板"中的"管理工具" 第二步:点击"管理工具" ...

  8. .Net 获取前端传递的数据

    1. DotNet MVC: form是用来获得表单提交的数据:querystring是用来获得标识在URL后面的所有返回的变量及其值. 比如常见的URL网页地址都有xxx.asp?pn=123456 ...

  9. 沈阳网络赛I-Lattice's basics in digital electronics【模拟】

    42.93% 1000ms 131072K LATTICE is learning Digital Electronic Technology. He is talented, so he under ...

  10. pandas读取保存数据

    将本人使用过的一些操作记录下来 1.读取数据,使用:data = pd.read_csv('./data/file.csv') 2.数据处理,如果你要修改某一个数据,其实把DATAFRAME数据看做是 ...