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』网络操作API_下

    一.优化器基类介绍 标注一点,优化器中的学习率可以是tensor,这意味着它可以feed, learning_rate: A Tensor or a floating point value. 正常使 ...

  2. mysql添加字段语句

    1.添加 varchar类型的字段: alter table b_warehouse_message add column entity_warehouse_no_test varchar(48) C ...

  3. C#/.NET 使用官方驱动操作MongoDB(一):插入、查询

    概述 想要在C#中使用MongoDB,首先得要有个MongoDB支持的C#版的驱动. C#版的驱动有很多,这里我们先用官方提供的 MongoDB.Driver(使用 Nuget 安装),当前版本为2. ...

  4. Grafana + Prometheus 监控PostgreSQL

    效果图 部署环境 服务器名称 IP地址 部署业务 备注 部署agent sht-sgmhadoopcm-01 172.16.101.54 PostgreSQL 监控服务器.被监控服务器 node_ex ...

  5. sql查询练习

    #建学生信息表student create table student ( sno varchar(20) not null primary key, sname varchar(20) not nu ...

  6. SqlServer表中添加新字段

    表中添加新字段ALTER TABLE 表名 ADD 字段名 VARCHAR(20) NULL 表中添加自增idalter table lianxi add id int primary key IDE ...

  7. 初见《构建之法》orz……

    作为一个大二的计科狗,还是对软件设计有些懵,尽管之前学习过软件工程,但并没有掌握,突如其来的软件设计实践,让我着实傻眼. 通过消息得知,要学习<构建之法>,就去搜了一下,它是以实践为基础的 ...

  8. java和js中JSONObject,JSONArray,Map,String之间转换

    --------------------------------------------------Java中--------------------------------------------- ...

  9. mod_conference ESL控制一(原理)

    本文介绍通过freeswitch mod_conference 的配置和APP,以及如何通过这些事件实现会议控制. 需求 ESL内联,发起会议.加人.踢人.静音.恢复静音.申请发言.结束会议等基础功能 ...

  10. Arch Linux root密码忘记了怎么办

    https://wiki.archlinux.org/index.php/Reset_root_password_(简体中文)https://wiki.archlinux.org/index.php/ ...