20155215 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

实验要求

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程;

2.完成实验、撰写实验报告,实验报告模板见QQ群,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等);

3.实验报告中统计自己的PSP(Personal Software Process)时间:

步骤 耗时 百分比
需求分析
设计
代码实现
测试
分析总结

实验内容

(一)使用JDK编译、运行简单的Java程序

1.命令行下Java程序开发

我先创建了一个experiment文件夹,然后在该文件夹中新建了一个hello.java文件,用vim编辑器编写代码如下:

package ljp;

 import java.util.Scanner;
public class hello{
public static void main(String[] args){
System.out.println("Input your first name, please:");
Scanner s = new Scanner(System.in);
String name = s.next();
System.out.println("Hello " + name + " !");
}
}

运行结果如下图:

另外我自己写了简单的输出我的姓名学号的程序代码如下:

public class name{
public static void main(String[] args){
System.out.println("宣言 20155215");
}
}

编译运行结果如下图:

(二)使用IDEA编辑、编译、运行、调试Java程序

我一般都是在Linux的vim编辑器下编写代码,这次因为实验我认认真真地读了一遍Intellj IDEA 简易教程,然后掌握了使用IDEA编辑、编译、运行、调试Java程序的基本操作。

我新建了一个helloJDB类,代码如下:

/**
* Created by XY on 2017/4/7.
*/
package ljp;
public class helloJDB {
public static void main(String[] args) {
int i = 5;
int j = 6;
int sum = add(i, j);
System.out.println(sum); sum = 0;
for(i=0; i< 100; i++)
sum += i; System.out.println(sum);
}
public static int add(int augend, int addend){
int sum = augend + addend;
return sum;
}
}

运行截图如下:

然后我对这个程序进行了断点调试,我总共设置了两个断点,调试情况分别如下图所示:



PS:常用调试快捷图标功能总结如下:

① Step Over(F8):程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

② Step Into(F7):程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)

③ Force Step Into:进入任何方法

④ Step Out(Shift+F8):如果在调试的时候进入了一个方法,并觉得该方法没有问题,就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

⑤ Run to Cursor:将程序运行到光标处。

(三)练习(通过命令行和IDEA两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在Eclipse下练习调试程序)

我的题目是“1. 实现凯撒密码,并进行测试。”

1.设计思路

我们知道凯撒密码是一种代换密码。他的基本思想是:通过把字母移动一定的位数来实现加密和解密。明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。位数就是凯撒密码加密和解密的密钥。

所以我就要实现使用凯撒密码在不同的密钥下对明文进行加密。

所以下面是我设计的代码:

/**
* Created by XY on 2017/4/7.
*/ import java.io.*;
import java.util.Scanner; public class shiyan1{
public static void main(String[] args){
System.out.print("请输入密钥:");
Scanner s=new Scanner(System.in);
int a=s.nextInt();
C(a);
} public static void
C(int n){
try{
char b[];
BufferedReader br2=new BufferedReader(
new InputStreamReader(System.in));
System.out.println("请输入一段明文:");
String str2=br2.readLine();
b=str2.toCharArray();
System.out.println("密文为:"); int k=n; for(int i=0;i<str2.length();i++){ char ch=(char)((b[i]-'a'+k)%26+'a');
System.out.print(ch);
}
System.out.println("密匙K="+k);
}catch(IOException e){
System.out.println(e.getMessage());
}
}
}
  • 命令行实现:

运行结果如下图:

  • IDEA调试:

实验过程中遇到的问题

  • 问题一:

    我开始编写代码的时候会有C语言的那种逻辑思维习惯,然后就会得不到想要的结果,所以我后面就是在看了看书本上内容然后再改写了代码,之后就好多了。

PSP(Personal Software Process)时间

步骤 耗时 百分比
需求分析 5min 9%
设计 8min 14%
代码实现 25min 43%
测试 10min 17%
分析总结 10min 17%

实验感想

从前我的代码大多数情况下都是按照书上的打的或者是和书本上的类似,但这次我的代码是完全靠自己独立完成的,感觉很有成就感,而且自己独立完成的时候才真正深入了解了这些程序语言背后深刻的含义,感觉收获很大。

20155215 《Java程序设计》实验一(Java开发环境的熟悉)实验报告的更多相关文章

  1. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  2. 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20175316 盛茂淞 2018-2019-2 <Java程序设计>实验一 Java开发环境的熟悉 实验报告 一.实验要求 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA ...

  3. 20165327《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20165327<Java程序设计>实验二 <Java面向对象程序设计>实验报告 实验二 <Java面向对象程序设计> 一.实验报告封面 课程:Java程序设计 班 ...

  4. 20165205 实验一 java开发环境的熟悉 实验报告

    20165205 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:刘喆君 学号:20165205 指导教师:娄嘉鹏 实验日期:2018年4月2日 实验 ...

  5. 实验一《开发环境的熟悉》&实验二《固件设计》

    20145312&20145338 实验一<开发环境的熟悉>&实验二<固件设计> 合作博客链接:http://www.cnblogs.com/yx2014531 ...

  6. 20162327实验一Java开发环境的熟悉实验报告

    20162327 <程序设计与数据结构>第一次实验报告 基础知识 1.JDB的使用 使用JDB调试程序需要以下五个步骤: 1.设置断点 stop in 2.run 3.print 4.ne ...

  7. 20145233韩昊辰 《Java程序设计》实验报告一:Java开发环境的熟悉(Windows+IDEA)

    20145233 <Java程序设计>实验报告一:Java开发环境的熟悉 实验要求 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Java程序. 实验内容 ...

  8. 20175236 《Java程序设计》实验一(Java开发环境的熟悉)实验报告

    一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:温丰帆 学号:20175236 指导教师:娄嘉鹏 实验日期:2019年4月2日 实验时间:13:45 - 15:25 实验序号:实验一 ...

  9. 20165234 《Java程序设计》实验一 Java开发环境的熟悉

    一.实验报告封面 课程:Java程序设计  班级:1652班  姓名:刘津甫  学号:20165234 指导教师:娄嘉鹏  实验日期:2018年4月2日 实验时间:15:35 - 17:15  实验序 ...

  10. 2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉

    2018-2019-2 20175227张雪莹<Java程序设计> 实验一 Java开发环境的熟悉 一.实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:2017 ...

随机推荐

  1. python_4程序设计基础

    1注释 2变量和常量 3命名 4表达式 5赋值语句

  2. HttpClient简述

    HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性,它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率 ...

  3. centos6.4 minimal 安装kvm

    操作系统是网易源下载的centos 64位的minimal安装包,很多工具都没有,像gcc make wget which where 等统统没有,好在有yum 这里为了简单起见直接用yum安装kvm ...

  4. 可以在命令行直接使用密码来进行远程连接和远程拉取文件的命令:sshpass

      应用范围:可以在命令行直接使用密码来进行远程连接和远程拉取文件. 使用前提:对于未连接过的主机.而又不输入yes进行确认,需要进行sshd服务的优化: # vim /etc/ssh/ssh_con ...

  5. python正则二

    在python中,我们可以使用re模块来使用正则表达式. 正则表达式使用\对特殊字符进行转义,因为python本身也是用\作为转义,所以在使用正则的时候会出现这样的情况,'python\\.org', ...

  6. C对64位整数类型的支持

    在使用C语言过程中可能需要接触长整数类型,其中包括固定长度数据类型的声明.输入输出函数的标志符等细节,在此记录. int64_t 与 uint64_t C的标准只规定特定数据类型需要实现的最小长度,特 ...

  7. 关于options请求的一点理解

    最近最项目改造,对所有的ajax请求统一做了一点处理,发现原来很正经的ajax请求突然不正常了,每个ajax之前都多了一个相应的method为options的请求.虽然之前知道ajax的请求中meth ...

  8. 1878. [SDOI2009]HH的项链【线段树 或 莫队】

    Description HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一 段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此他的项链变得 ...

  9. 1968. [AHOI2005]约数研究【数论】

    Description Input 只有一行一个整数 N(0 < N < 1000000). Output 只有一行输出,为整数M,即f(1)到f(N)的累加和. Sample Input ...

  10. 【[SDOI2008]山贼集团】

    非常好的一道题 树上的状压\(dp\) 根据数据范围我们就能知道这是一道需要状压的题目 所以状态就是\(dp[i][S]\)表示在以\(i\)为根的子树里,选择的状态为\(S\)的最大收益 这个收益只 ...