20155320《Java程序设计》实验一(Java开发环境的熟悉)实验报告
2017-04-08 21:06
197 查看
20155320《Java程序设计》实验一(Java开发环境的熟悉)实验报告
实验内容及步骤
(一)命令行下Java程序开发
步骤一:首先在cmd中输入d:和
cd ljq20155320进入我进行代码托管的文件夹,,由于不小心输入错误我按了
ctrl + c快捷键退出了当前操作,重新输入正确的操作
cd 20155320然后输入
md 20155320test和
md exp1创建一个新的文件夹
步骤二(编译 、运行java程序):我再exp1文件夹中新建了一个Hello.txt文本文件,在其中编辑相应代码并在cmd上编译并运行:
(二)使用IDEA编辑、运行、调试Java程序
1.在IDEA中新建project并将类名定义为HelloJDB,输入相应代码,并在第八行设定行断点
2.在run菜单中找到deb按
debug进行单步调试,显然程序将会运行到断点处停止,按
Step Over往下运行,可看到结果为sum=11
3.按
Step Over继续往下运行,到12行时重新再设置一个断点,右键该断点设置i的值为50,再按
resume得到i=50时的结果
[注意事项]:Step Into(F7)和step Over(F8)的区别
Step Over(F8):程序向下执行一行(如果这个此行有方法调用,这个方法将被执行完毕返回,然后到下一行)
Step Into(F7):程序向下执行一行,如果此行有自定义方法调用,则进入自定义方法中去)
因此在使用时需注意区分
(三)练习: 实现凯撒密码,并进行测试
前期准备
安装JDK并配置环境变量下载IEDA,安装完毕后在IDEA界面中配置JDK,为后期运行IDEA调试程序做好准备
需求分析
需求分析
凯撒密码是一种移位密码,通过不同的密钥key来决定如何移位需要分别设计两个方法来加密和解密
需要设计一个输入能正确接收输入的密文和明文
设计
声明java.util.Scanner,用于读入密钥key和密文、明文等。
-根据不同的选择进行加密或解密运算,并输出结果
-加密方法需将读入的字符串利用
toCharArray()转化为字符数组。
主类的设计
在主类中输入密钥key并选择是进行加密还是解密运算
创建好加密解密方法后,在主类中调用即可。
代码实现 & 测试
public class的设计public static void main (String[] args){ System.out.print("请输入密钥: "); Scanner key = new Scanner(System.in); int a= key.nextInt(); System.out.println("请选择加密(T)还是解密(F):"); String choose=key.next(); if(choose.equals("T")){ C(a); } else{ M(a); }
加密方法C
public static void C(int n ){//加密 char b[]; char ch; Scanner scanner=new Scanner(System.in);// System.out.println("请输入一段明文: "); String str2=(String)scanner.nextLine();// b = str2.toCharArray(); System.out.println("密文为: "); int k=n; for (int i=0;i<str2.length();i++){ if(b[i]!=' ') ch = (char)((b[i]-'a'+k)%26+'a'); else ch=' '; System.out.print(ch); } System.out.println(); System.out.println("密钥k = " +k); }
解密方法M
public static void M(int n){//解密 char b[]; char ch; Scanner scanner=new Scanner(System.in);// System.out.println("请输入一段密文: "); String str2=(String)scanner.nextLine();// b = str2.toCharArray(); System.out.println("明文为: "); int k=n; for (int i=0;i<str2.length();i++){ if(b[i]!=' ') ch = (char)((b[i]-'a'-k+26)%26+'a'); else ch=' '; System.out.print(ch); } System.out.println(); System.out.println("密钥k = " +k); }
代码的调试:
在选择是进行加密还是解密运算时,我设计了一个比较选择,但是却出现了无论是选择加密还是解密都是解密的情况
-通过单步调试我发现了问题出现在比较的地方:
我突然想起
String和对象的比较是不能用==进行的,而应该用
equals()进行,通过改正解决了这一问题
IDEA下运行结果:
命令行下运行结果:
打开cmd ,在命令行下运行该程序,却出现了如下错误:
查了一会资料无果的情况下,偶然看到了20155321的博客发现他也遇到了同样的问题,根据其中记录的解决办法,我知道因为windows下默认的编码方式与IDEA设置的编码方式不同,将编码方式转为UTF-8即可成功运行,运行结果如下:
分析总结(遇到问题及解决办法):
问题一:选择加密解密时出现了问题
解决:见上文调试部分
问题二:命令行下运行时出现了错误
解决:见上文命令行下的运行测试部分
在分析设计时一定要注意思考全面一点,像字符串比较之类的错误是比较常犯的一定要警醒,还有一些方法的调用还是有些反应不过来,还需多加练习。
PSP(Personal Software Process)时间
步骤 | 耗时 | 百分比 |
---|---|---|
需求分析 | 15min | 15% |
设计 | 20min | 20% |
代码实现 | 35min | 35% |
测试 | 15min | 15% |
分析总结 | 15min | 15% |
相关文章推荐
- 20145207《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20145314郑凯杰 《Java程序设计》实验一 Java开发环境的熟悉(Windows + Eclipse)实验报告
- 20155336 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20145221 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 20155218 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20145301《Java程序设计》实验报告一:Java开发环境的熟悉
- 20155238 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155237 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20145212《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDE)
- 20155208 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 学号20155308 2016-2017-2 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155202 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155239《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155325《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155302 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20145211 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)
- 2015309南皓芯《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155219 《Java程序设计》实验一(Java开发环境的熟悉)实验报告
- 20155318 《Java程序设计》实验一(Java开发环境的熟悉)实验报告