2018-2019-2 20175227张雪莹《Java程序设计》

实验一 Java开发环境的熟悉

一、实验报告封面

  • 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:20175227
  • 指导教师:娄嘉鹏 实验日期:2019年3月17日
  • 实验时间:--- 实验序号:实验一
  • 实验名称:Java开发环境的熟悉
  • 实验题目:实现凯撒密码并进行安全加固,并进行测试(正常情况,异常情况,边界情况)
  • 实验内容:
    • Java开发环境基本操作:

      • 使用JDK编译、运行简单的Java程序。
      • 建立“自己学号exp1”的目录
      • 在“自己学号exp1”目录下建立src,bin等目录
      • javac,java的执行在“自己学号exp1”目录
      • 提交运行Java的全屏截图,运行结果包含自己学号等证明自己身份的信息
      • 代码提交码云
    • 使用IDEA编辑、编译、运行、调试Java程序。
      • 安装IDEA
      • 在IDEA中,学会新建项目、文件,进行编写、编译、运行和调试操作
      • 学会IDEA基本的快捷键操作
      • 提交IDEA中调试设置条件断点的全屏截图,截图打上自己学号的水印。
    • 选择程序自行调试练习
  • 实验知识点:
    • JVM、JRE、JDK的安装位置与区别;
    • 命令行运行javac;java;javac -cp; java -cp;
    • PATH,CLASSPATH,SOURCEPATH的设定方法与应用;
    • 包管理:package;import;javac -d ;
    • IDEA管理Java项目,调试:断点、单步执行等;
    • Java基础语法:类型与类型转换;变量;运算符;流程控制等;
    • JDK帮助文档的使用。

二、实验步骤

  • Java开发环境基本操作:

    • 使用JDK编译、运行简单的Java程序。
    • 打开虚拟机,进行准备操作
    • 在“20175227exp1”目录下建立src,bin等目录

    • javac,java的执行在“20175227exp1”目录

    • 代码提交码云
  • 使用IDEA编辑、编译、运行、调试Java程序。

    • 安装IDEA

    • 在IDEA中,学会新建项目、文件,进行编写、编译、运行和调试操作

    • 新建Java文件,写一个简单的输出Hello World!的程序



    • 学会调试一个程序

    • 新建HelloJDB文件

    • 第五行设置断点,单步运行(F7、F8)

    • 第九行设置断点,右键设置i==50,跳过中间循环步骤

    • 在第十二行设置临时断点(运行一次即消失),右键->more,设置Remove once hit



  • 练习:实现凯撒密码并进行安全加固,并进行测试(正常情况,异常情况,边界情况)

    • 程序如下:
import java.io.*;
import java.util.Scanner; public class Caeser {
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());
}
}
}
  • 正常情况

  • 边界情况

实验中遇到的问题和解决过程

  • 问题1:一开始遇到在IDEA中新建项目时,在New Project提示框中显示“No SDK”。

  • 问题1解决方案:发现JDK版本安装错误,需要安装JDK8;重新下载后,找到JDK安装目录,选中即可,如下图。

  • 问题2:在IDEA中使用git上传失败,

  • 问题2解决方案:在目标上传文件夹中,鼠标右键点“Git Bash Here”,在命令提示框中依次输入“git pull origin master --allow-unrelated-histories”,“git push -u origin master -f”即可。

感悟和收获

  • 学会了很多IDEA上的快捷操作:

    • psvm——可以快捷出来public static void main(String []args)sout——可以快捷出来system.out.println()Step Into(快捷捷F7)和Step Over(快捷捷F8)可以来实现一步一停操作。

参考资料

2018-2019-2 20175227张雪莹 《Java程序设计》 实验一 Java开发环境的熟悉的更多相关文章

  1. 2018-2019-2 20175227张雪莹《Java程序设计》实验三 《敏捷开发与XP实践》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验三 <敏捷开发与XP实践> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号: ...

  2. 2018-2019-2 20175227张雪莹《Java程序设计》 实验二《Java面向对象程序设计》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...

  3. 2018-2019-2 20175227张雪莹《Java程序设计》实验五 《网络编程与安全》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验五 <网络编程与安全> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学号:20 ...

  4. 2018-2019-2 20175227张雪莹《Java程序设计》实验四 《Android程序设计》

    2018-2019-2 20175227张雪莹<Java程序设计> 实验四 <Android程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:张雪莹 学 ...

  5. 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...

  6. 20175227张雪莹 2018-2019-2 《Java程序设计》第八周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第八周学习总结 教材学习内容总结 第十五章 泛型与集合框架 泛型:主要目的是可以建立具有类型安全的集合框架,如链表.散列 ...

  7. 20175227张雪莹 2018-2019-2 《Java程序设计》第六周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第六周学习总结 教材学习内容总结 第七章 内部类与异常类 内部类:在一个类中定义另一个类:包含内部类的类为外嵌类 内部类 ...

  8. 20175227张雪莹 2018-2019-2 《Java程序设计》第五周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第五周学习总结 教材学习内容总结 第六章接口与实现 接口 接口体中所有的常量访问权限一定是public和static(可 ...

  9. 20175227张雪莹 2018-2019-2 《Java程序设计》第四周学习总结

    20175227张雪莹 2018-2019-2 <Java程序设计>第四周学习总结 教材学习内容总结 一.子类和父类. 1.子类只继承父类中的protected和public访问权限的成员 ...

随机推荐

  1. 2015-10-05 js3

    Javascript 实例2九九乘法表 var s = ""; s += "<table>"; for (var i = 1; i < 10; ...

  2. R语言scale与unscale函数

    一.scale函数 R语言base库中自带数据标准化接口scale函数,函数介绍如下 Usage scale(x, center = TRUE, scale = TRUE) Arguments x: ...

  3. unity中鼠标左键控制摄像机视角上下左右移动

    enum RotationAxes { MouseXAndY, MouseX, MouseY } RotationAxes axes = RotationAxes.MouseXAndY; //@Hid ...

  4. python全栈开发笔记---------数据类型-----字典dict

    字典 #dict #1.基本结构 info= { "k1" : "v1", #键值对 "k2" : "v2" } ### ...

  5. Cordova使用极光推送的方法

    1.在极光推送官网注册账号.应用,注意注册的包名要和app的包名一致 2.添加插件 cordova plugin add jpush-phonegap-plugin --variable APP_KE ...

  6. mail语法

    在Linux系统下mail命令的用法 在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test admin@aispider.com 这条命令的结果是发一封标题为tes ...

  7. Codeforces1062C. Banh-mi(贪心+快速幂)

    题目链接:传送门 题目: C. Banh-mi time limit per test second memory limit per test megabytes input standard in ...

  8. Combining Lexical and Grammatical Features to Improve Readability Measures for First and Second Language Texts.-paper

    http://www.aclweb.org/anthology/N07-1058 Volume:Human Language Technologies 2007: The Conference of ...

  9. 13.python错误和异常

    一.错误和异常1.程序中的错误分为俩种:(1)语法错误:不按照语言的规则,必须在程序执行前就改正(2)逻辑错误2.异常就是程序运行时发生错误的信号,分为三部分(1)Traceback:异常追踪的信息( ...

  10. restframework细节学习

    一.后端发送列表.字典 1. 发送字典出现safe error,需要如下处理 def books(request): ll=[{},{}] # return HttpResponse(json.dum ...