实验一 Java开发环境的熟悉

课程:java程序设计

姓名:赵冰雨

学号:20165218

指导教师:娄嘉鹏

实验日期:2018.4.2

实验密级:Java开发环境的熟悉

实验内容、步骤与体会:

(一)Linux命令行下Java程序开发

  1. 打开虚拟机,Ctrl+Alt+T打开终端(也可以在需要打开终端的文件夹下直接右键打开终端)
  2. cd 20165218,mkdir exp1,cd exp1,建立并进入实验一的文件夹
  3. mkdir bin,mkdir src
  4. touch src/Hello.java并在IDEA内编辑保存好
  5. javac -d bin src/Hello.java编译到bin内
  6. java -cp bin Hello 运行


(二)IDEA下Java程序开发、调试

  1. 创建项目,新建HelloJDB类,输入代码,Shift+Alt+F10运行

  1. 在行前左击,设置断点Shift+Alt+F9程序运行到断点处

  2. 单步执行

  1. 条件断点:在断点处输入条件,Shift+Alt+F9进行Debug


(三)练习(通过命令行和IDEA两种方式实现,自己的学号后两位与题目总数取余的结果再加上1就是自己要完成的题号,在IDEA下练习调试程序)

  1. 实现凯撒密码并进行安全加固,并进行测试(正常情况,异常情况,边界情况)。

代码实现:

凯撒密码主类

 /**
* Created by zby on 2018/4/2.
*/ import java.util.*;
import java.lang.*; public class CaeserCipher {//凯撒密码
public static void main(String[] args) {
System.out.println("输入一串字符串作为明文(回车结束):");
Scanner input = new Scanner(System.in);
String m = input.next();//读入一行字符串,以回车为标志
Arithmetic output = new Arithmetic();
String c = output.encrpty(m);
System.out.println("加密后的密文为:" + c);
System.out.println("解密后的明文为:" + output.decrypt(c));
}
}

算法方法所在类

/**
* Created by zby on 2018/4/2.
*/ import java.lang.*; public class Arithmetic {//加密和解密算法
public String encrpty(String m) {
StringBuilder result = new StringBuilder();
char[] mi = m.toCharArray();
int n = mi.length;
for (int c : mi) {
if (c >= 'a' && c <= 'z') {
c += 3; // 移动key%26位
if (c < 'a')
c += 26; // 向左超界
if (c > 'z')
c -= 26; // 向右超界
}
// 如果字符串中的某个字符是大写字母
else if (c >= 'A' && c <= 'Z') {
c += 3; // 移动key%26位
if (c < 'A')
c += 26;// 同上
if (c > 'Z')
c -= 26;// 同上
}
result.append((char) c);
}
return result.toString();
} public String decrypt(String m) {
StringBuilder result = new StringBuilder();
char[] mi = m.toCharArray();
int n = mi.length;
for (int c : mi) {
if (c >= 'a' && c <= 'z') {
c -= 3; // 向前移动3位
if (c < 'a')
c += 26; // 向左超界
if (c > 'z')
c -= 26; // 向右超界
}
// 如果字符串中的某个字符是大写字母
else if (c >= 'A' && c <= 'Z') {
c -= 3; // 向前移动3位
if (c < 'A')
c += 26;// 同上
if (c > 'Z')
c -= 26;// 同上
}
result.append((char) c);
}
return result.toString();
} }

实现:


参考资料

  1. java中如何输入char类型 - CSDN博客
  2. string的append函数用法 - CSDN博客
  3. 大神们啊。。。。请问java怎么输入String型数据。。。。。? - 百度知道

20165218 实验一 Java开发环境的熟悉的更多相关文章

  1. 20145205 实验一 Java开发环境的熟悉

    实验内容 命令行下Java程序开发 IDEA下Java程序开发.调试 练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) 实现凯撒密码,并进行测试 实验要求 使用JDK编译 ...

  2. 实验一 Java开发环境的熟悉

    实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 1.没 ...

  3. 20145308刘昊阳 《Java程序设计》实验一 Java开发环境的熟悉 实验报告

    20145308刘昊阳 <Java程序设计>实验一报告 实验名称 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序 2.使用Eclipse 编辑.编译.运行.调试J ...

  4. 实验一Java开发环境的熟悉

    实验一Java开发环境的熟悉 实验内容 •命令行下Java程序开发 •IDEA下Java程序开发.调试 •练习(通过命令行和Eclipse两种方式实现,在Eclipse下练习调试程序) •实现凯撒密码 ...

  5. 20145225《Java程序设计》实验一 Java开发环境的熟悉(Linux + Eclipse)

    20145225<Java程序设计> 实验一 Java开发环境的熟悉(Linux + Eclipse) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑 ...

  6. 20145208实验一 Java开发环境的熟悉

    20145208实验一 Java开发环境的熟悉 使用JDK编译.运行简单的java程序 命令行下程序开发 在命令行下建立实验目录,然后创建并进入该目录后的子目录. 编译并运行一个代码 使用IDEA 编 ...

  7. 实验一 Java开发环境的熟悉(Linux + Eclipse)

    学号 20175206 实验一 <Java开发环境的熟悉>实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实 ...

  8. 实验一 Java开发环境的熟悉(Linux + Idea) 20175301李锦然

    https://gitee.com/ShengHuoZaiDaXue/20175301.git 实验一 Java开发环境的熟悉(Linux + Idea) 实验内容 1.使用JDK编译.运行简单的Ja ...

  9. 2018-2019-2 实验一 Java开发环境的熟悉

    实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序 实验知识点 1. JVM.JRE.JDK的安装位置与区别: 2. 命令行运行javac:ja ...

随机推荐

  1. OSG-基础知识-程序框架

    本文转至http://www.cnblogs.com/shapherd/archive/2010/08/10/osg.html 作者写的比较好,再次收藏,希望更多的人可以看到这个文章 互联网是是一个相 ...

  2. Python-3.6 安装pycrypto 2.6

    最近接触公司后台管理系统的开发,其中涉及到加密模块pycrypto. 重点来了!!!!敲黑板!!!! pycrypto在PyCharm中跟其他的模块不一样,pip install pycrypto安装 ...

  3. LeetCode - 136. Single Number - ( C++ ) - 解题报告 - 位运算思路 xor

    1.题目大意 Given an array of integers, every element appears twice except for one. Find that single one. ...

  4. 基于Hadoop2.5.0的集群搭建

    http://download.csdn.net/download/yameing/8011891 一. 规划 1.  准备安装包 JDK:http://download.oracle.com/otn ...

  5. HDU 4617 Weapon(三维几何)

    Problem Description Doctor D. are researching for a horrific weapon. The muzzle of the weapon is a c ...

  6. php分页类的实现与调用 (自我摘记)

    page.class.php <?php namespace Component; class Page { private $total; //数据表中总记录数 private $listRo ...

  7. 关于jquery几个自己不咋用到的常用遍历赛选的api

    1.contains:作用是返回包含某个文字的元素节点 例子:要给所以含有“lyz”的p节点加样式: 可以这样:$("p:contains(lyz)").css("col ...

  8. 关于CString总结

    前言:串操作是编程中最常用也最基本的操作之一. 做为VC程序员,无论是菜鸟或高手都曾用过CString.而且好像实际编程中很难离得开它(虽然它不是标准C++中的库).因为MFC中提供的这个类对 我们操 ...

  9. js设计模式之代理模式以及订阅发布模式

    为啥将两种模式放在一起呢?因为这样文章比较长啊. 写博客的目的我觉得首要目的是整理自己的知识点,进而优化个人所得知识体系.知识成为个人的知识,就在于能够用自己的话表达同一种意义. 本文是设计模式系列文 ...

  10. python爬虫 妹子图片网

    代码如下 #coding=utf-8 import os import re import urllib from time import sleep import requests from lxm ...