实验一   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. Android 使用CheckBox实现多选效果

    CheckBox:复选框1.有两种状态: 选中状态(true),未选中状态(false)2.属性: android:id="@+id/checkbox" android:layou ...

  2. 进程保护--CrossThreadFlags标志位

    原理: 1. 将进程的所有线程的线程CrossThreadFlags标志位设置成Terminated或者System. 效果:任务管理器,WSYSCheck,ICESWORD无法结束进程.. 但PCH ...

  3. Linux学习之批量修改文件名

    1. 通过专业的改名命令rename实现 [root@oldboy oldboy]# ll total -rw-r--r-- root root Nov : stu_102999_1_finished ...

  4. FZU 2082(过路费)

    题目链接:传送门 题目大意:中文题,略 题目思路:树链剖分(注意要把边上的权值转移到深度较大的点上来维护) 最后当top[x]==top[y]注意id[x]+1因为是维护的点而题目是边 如果不+可能会 ...

  5. window自带字体

    一.在默认情况下, Windows 默认提供下列字体: Windows 95/98/98SE 宋体.黑体.楷体_GB2312.仿宋_GB2312 Windows XP/2000/2003/ME/NT ...

  6. 【BZOJ3939】[Usaco2015 Feb]Cow Hopscotch 动态规划+线段树

    [BZOJ3939][Usaco2015 Feb]Cow Hopscotch Description Just like humans enjoy playing the game of Hopsco ...

  7. Gallery 里面怎么设置ImageView的OnClick事件

    Gallery g=this.findViewById(R.id.gallery); g.setOnItemClickListener(new OnItemClickListener(){ @Over ...

  8. java启动3个线程轮流打印数字

    转自:http://blog.csdn.net/u014011112/article/details/50988769 http://blog.csdn.net/perrywork/article/d ...

  9. 关于string的length

    在C++里面,std::string的length()返回的是字节数,与编码方式有关. int main() { std::string s = "我是中国人"; std::cou ...

  10. Python绘图教程

    1.二维绘图 a. 一维数据集 用 Numpy ndarray 作为数据传入 ply 1. import numpy as np import matplotlib as mpl import mat ...