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. MongoDB学习笔记——数据库的创建与初始

    Part1:MongoDB与SQL的概念对比 图片来源--菜鸟教程 Part2:MongoDB安装地址 直接下载地址:戳这里 备用地址:戳这里 通过备用地址(官网)下载时,要注意下面这个地方 Part ...

  2. iOS应该具备知识点

    序言 我相信很多人都在说,iOS行业不好了,iOS现在行情越来越难了,失业的人比找工作的人还要多.失业即相当于转行,跳槽即相当于降低自己的身价.那么做iOS开发的你,你是否在时刻准备着跳槽或者转行了. ...

  3. 【sparkSQL】SparkSession的认识

    https://www.cnblogs.com/zzhangyuhang/p/9039695.html https://www.jianshu.com/p/dea6a78b9dff 在Spark1.6 ...

  4. Php的基本语法学习

    1.php语法 当 PHP 解析一个文件时,会寻找开始和结束标记,标记告诉 PHP 开始和停止解释其中的代码. 1)标记语法 是以<?php 开头,?> 结束,相当于html标签的开始标签 ...

  5. dede织梦判断导航栏是否有子栏目

    以下代码判断导航栏是否含有子栏目 {dede:field name=typeid runphp="yes"} global $dsql; $sql , "; $row = ...

  6. match和search的区别

    正则表达式帮助你方便的检查一个字符串是否与某种模式匹配. re模块使Python语言拥有全部的正则表达式功能. re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,mat ...

  7. Android开发 ---基本UI组件7 :分页功能、适配器、滚动条监听事件

    效果图: 1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> ...

  8. 移动端H5拍照代码实现及外网部署

    最近的工作中,遇到了一个需求:对于无APP登陆权限的人员,提供拍照上传功能,以便生成更完善的出工记录.经研究讨论,决定实现的机制为:由合法的人员登陆APP认领相关工作任务,并生成当天当工作的唯一二维码 ...

  9. 微信小程序des加密、PHP des解密

    最近在做对小程序传输数据进行加密,加密方法有很多,使用的是des对称加密 采用的是CBC模式, 引用的插件为tripledes.js,https://github.com/Favour1111in/h ...

  10. Javascript获取图片原始宽度和高度的方法详解

    前言 网上关于利用Javascript获取图片原始宽度和高度的方法有很多,本文将再次给大家谈谈这个问题,或许会对一些人能有所帮助. 方法详解 页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能 ...