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. 『TensorFlow』读书笔记_AlexNet

    网络结构 创新点 Relu激活函数:效果好于sigmoid,且解决了梯度弥散问题 Dropout层:Alexnet验证了dropout层的效果 重叠的最大池化:此前以平均池化为主,最大池化避免了平均池 ...

  2. LNMP(一)

    第二十课LNMP(一) 目录 一.LNMP架构介绍 二.MySQL安装 三.PHP安装 四.Nginx介绍 五.Nginx安装 六.扩展 一.LNMP架构介绍 之前已经学习过LAMP架构,与LAMP相 ...

  3. Oracle启动和归档模式

    数据库运行 Oracle数据库的完整启动过程是分步骤完成的,包含以下3个步骤: 启动实例–>加载数据库–>打开数据库 因为Oracle数据库启动过程中不同的阶段可以对数据库进行不同的维护操 ...

  4. pass,break,continue的使用场景

    # ### 关键字的使用 pass / break / continue # pass 过 起到占位的作用 if 5 == 5: pass print(123) # break 只能应用在循环当中 用 ...

  5. Linux基础知识_Shell编程笔记

    以下是一些 常用功能 , 基于 centos 6.5 x64 # cp /etc/localtime /etc/localtime.org # rm /etc/localtime # ln -s /u ...

  6. erlang工作总结

    总结下自己在做erlang的经验 1.不管什么样的情况下,一定要关注好函数的返回值再来使用,不知道返回值盲目的使用的话,不仅不能达到目标,而且不存在代码/报错提醒.得不偿失. 2.构思好自己的想法,定 ...

  7. 网络编程 多线程/socketserver模块/ threading.local

    线程:进程中负责程序执行的执行单元. 多线程:在1个进程中存在多个线程. 进程只是用来把资源集中在一起,而线程才是cpu上的执行单位. 每个进程都会默认有一个控制线程也叫作主线程. 进程之间是竞争关系 ...

  8. Spark访问Hive表

    知识点1:Spark访问HIVE上面的数据 配置注意点:. 1.拷贝mysql-connector-java-5.1.38-bin.jar等相关的jar包到你${spark_home}/lib中(sp ...

  9. Unity Mathf/Math数学运算函数说明全集(Chinar总结)

    Unity Mathf 数学函数库 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- ...

  10. cmd运行jar

    https://blog.csdn.net/lemon_tree12138/article/details/44081909 https://www.cnblogs.com/LanTianYou/p/ ...