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. 『Python』源码解析_源码文件介绍

    本篇代码针对2.X版本,与3.X版本细节不尽相同,由于两者架构差别不大加之本人能力有限,所以就使用2.X体验python的底层原理了. 一.主要文件夹内容 Include :该目录下包含了Python ...

  2. flask请求上下文

    先看一个例子: #!/usr/bin/env python # -*- coding:utf-8 -*- import threading # local_values = threading.loc ...

  3. Oracle判断周末

    有些业务场景下会有择出周末的需求,具体判断语句如下: 1.SELECT TO_CHAR(TO_DATE(DATA_DATE,'YYYY-MM-DD),'D') FROM DUAL; 如果DATA_DA ...

  4. Vue(六) 表单与 v-model

    学习使用 v-model 指令完成表单数据双向绑定 基本用法 表单控件在实际业务较为常见,比如单选,多选.下拉选择.输入框等,用他们可以完成数据的录入.校验.提交等.Vue.js 提供了 v-mode ...

  5. java多线程之yield,join,wait,sleep的区别

    Java多线程之yield,join,wait,sleep的区别 Java多线程中,经常会遇到yield,join,wait和sleep方法.容易混淆他们的功能及作用.自己仔细研究了下,他们主要的区别 ...

  6. day057 基于对象和基于双下划线的多表查询

    单表查询和多表查询的添加与查询                   上述关系:author-authordetail是一对一的关系(外键在author上名为authors),  book-publis ...

  7. [转] MySql 数据类型

    转自:http://blog.csdn.net/anxpp/article/details/51284106 1.概述 要了解一个数据库,我们也必须了解其支持的数据类型. MySQL支持所有标准的SQ ...

  8. centos 升级python3

    升级pip3 wget --no-check-certificate https://bootstrap.pypa.io/get-pip.py 升级python3 yum install epel-r ...

  9. 近期面试总结(Android)

    关于近期面试总结(2018年下半年) 有些是老生常谈有些是没有遇到的. 1.HTTP和HTTPS的区别 HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为 ...

  10. MySQL常用内置函数

    本篇博客源自以下博客地址: http://www.mamicode.com/info-detail-250393.html