20145113 Java实验一

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

安装JDK并配置相关环境

安装JDK后配置环境变量

计算机→属性→高级系统设置→高级→环境变量

新建 JAVA_HOME 变量,变量值填写jdk的安装目录(D:\download\java\jdk1.8.0_60)
![](http://images2015.cnblogs.com/blog/886876/201604/886876-20160408163640578-967287286.png)

系统变量→寻找 Path 变量→编辑

在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,但需要注意的是原来Path的变量值末尾有没有;先输入;号

系统变量→新建 CLASSPATH 变量

变量值填写.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;(注意最前面有一点)

在命令行java程序的开发

在命令行下输入java如下图则表明jdk安装成功。



使用javac 与java编辑.java文件。



新建目录

查看工作路径

运行java程序

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

先设置断点,然后进行debug程序在运行到断点的时候会自动停下,然后可以进行单步调试。

对于函数,可以使用Force Step Into进入函数查看。

JDK帮助文档的使用

实现学生成绩管理功能,并进行测试。

实现的功能有

  • 录入学生成绩
  • 根据学生的学号查询该学生的相关信息
  • 根据学生的学号修改该学生的分数
  • 显示所有学生的信息

[代码链接](http://git.oschina.net/ISAcrystal/java/tree/master/just/src/experiment?dir=1&filepath=just%2Fsrc%2Fexperiment&oid=f72b0f4906a273a1f00c32af00d9e9e1c14d2120&sha=3dfa75d343936807025d38fc60aa28fab3569c2e)

凯撒密码

在做助教的印象笔记就也把第一题写了

凯撒大帝MGAKUZKRWZWGAWCP

但是需要列出所有可能性(26种),然后根据语义判断最后的答案。

得到最终结果keyisxipuxueyuan

凯撒密码代码

实验中遇到的问题

在进行凯撒密码的编写时,从自身想法出发,对于输入的字符串需要先转化为相应的ASC码,并储存在一个数组中,然后对数组的每一个元素进行操作,但在实现的过程中开始我纠结了如何将字符串转成相应的ASC码,进行分析后,写了一个方法。然后进行调用。

 public void getAsc(String st) {
byte[] gc = st.getBytes();
for(int i=0;i<st.length();i++)
{
ascNum[i] = (int) gc[i];
}
}

出现了逻辑错误对应的每个K值打印出来的都是乱码。于是我先分别在不同地方设置输出,然后找到出问题的大致地方,然后再进行设置断点进行单步调试,发现逻辑问题,然后完善。

由于大写字母比较难以根据现实语义找到key,所以我再次对代码进行完善,让输出为小写字母这样就方便找到答案。

实验思考与总结

在想要实现一个功能的时候去编写代码,然后在实现这个功能的过程中出现问题,调试,完善。在不断的解决过程中,边边角角的问题得到解决,自己对于细节的处理能力也得到了提高。

PSP时间统计

实验题4

步骤 耗时 百分比
需求分析 10min 11%
设计 10min 11%
代码实现 40min 44%
测试 15min 16%
分析总结 25min 27%

####实验题1

步骤 耗时 百分比
需求分析 15min 10%
设计 20min 13%
代码实现 30min 20%
测试 60min 40%
分析总结 30min 20%

最新文章

  1. 下一代Asp.net开发规范OWIN(2)—— Katana介绍以及使用
  2. python 多线程实例
  3. Angular 2 + Electron 开发web和桌面应用
  4. js左右滚动幻灯
  5. RabbitMQ 工作队列
  6. Android平板上开发应用的一点心得——精确适配不同的dpi和屏幕尺寸
  7. H.264简介
  8. 对CSS进行wxss思路学习,display属性。
  9. SPOJ TEMPLEQ - Temple Queues(二分查找+树状数组)
  10. [Whole Web, Node.js, PM2] Configuring PM2 for Node applications
  11. -_-#【RequireJS】Define a Module
  12. MHA高可用架构与Atlas读写分离
  13. mac中:不能完成此操作,因为找不到一个或多个需要的项目。(错误代码 -43)
  14. Oracle 强制中止正在执行的SQL语句
  15. python开发环境PyCharm安转注册
  16. android 控件获取 获取焦点
  17. JS操作MongoDB
  18. DevExpress v17.2新版亮点——CodeRush篇(三)
  19. R基本介绍
  20. Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正

热门文章

  1. VB.NET中的除法运算符 与 C#中的除法运算符
  2. LTE Module User Documentation(翻译12)——X2切换(X2-based handover)
  3. 【HDU5955】Guessing the Dice Roll/马尔科夫
  4. 补psp进度(11月4号-9号)
  5. td元素
  6. JavaScript的sleep延时函数
  7. Java:Collection List Set
  8. WCF初探-17:WCF数据协定之等效性
  9. LG1268树的重量
  10. ZJOI2015 一试。