一、古罗马皇帝凯撒在打仗时曾经加密军事情报:

1、设计思想:

加密原理是abc等全部后移3位xyz分别等于abc,根据ascii码表的转化,将其利用charat()取单个字符进行转化,再利用StringBuffer类存储输出。

2、流程图

3、源代码

 import java.util.Scanner;
public class StringCode { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String n=null; //初始化字符串
Scanner input=new Scanner(System.in);
System.out.println("请输入需要加密的字符串:");
n=input.next(); //输入
StringBuffer buf = new StringBuffer();
for(int i=0;i<n.length();i++){
char x=n.charAt(i); //取值
if(n.charAt(i)>='A'&&n.charAt(i)<='W'){
x=(char)(x+3);
buf.append(x); //A-W
}
else if(n.charAt(i)>='a'&&n.charAt(i)<='w')
{
x=(char)(x+3);
buf.append(x); //a-w
}
else if(n.charAt(i)>='x'&&n.charAt(i)<='z'){
x=(char)(x-23);
buf.append(x); //x-z
}
else if(n.charAt(i)>='X'&&n.charAt(i)<='Z'){
x=(char)(x-23);
buf.append(x); //X-Z
}
} System.out.println("加密后的字符串:");
System.out.println(buf.toString()); //输出加密后的
System.exit( 0 );
} }

4 结果

二、String.equals()方法的实现代码

   public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String)anObject;
int n = count;
if (n == anotherString.count) {
char v1[] = value;
char v2[] = anotherString.value;
int i = offset;
int j = anotherString.offset;
while (n-- != 0) {
if (v1[i++] != v2[j++])
return false;
}
return true;
}
}
return false;
}

三、整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明

Length():获取字串长度

String a=”asdasd”;

Int n=a.length();

charAt():获取指定位置的字符

String a=”abc”;

Char x=charAt(2);  则x=b

getChars():获取从指定位置起的子串复制到字符数组中(它有四个参数)

s1.getChars( 0, 5, charArray, 0 );

/四个参数的含义

//1.被拷贝字符在字串中的起始位置

//2.被拷贝的最后一个字符在字串中的下标再加1

//3.目标字符数组

//4.拷贝的字符放在字符数组中的起始下标

replace():子串替换

String s=”\\\”;

System.out.println(s.replace(“\\\”,”///”));

结果///;

toUpperCase()、 toLowerCase():大小写转换

public String toUpperCase()//将字符串全部转换成大写

System.out.println(new String(“hello”).toUpperCase());

toLowerCse():public String toLowerCase()//将字符串全部转换成小写

System.out.println(new String(“HELLO”).toLowerCase());

trim():去除头尾空格:

String x=”ax  c”;

System.out.println(x.trim());//是去两边空格的方法

toCharArray():将字符串对象转换为字符数组

char myChar[]=x.toCharArray();

System.out.println(“myChar[1]”+myChar[1]);

Java课后作业04的更多相关文章

  1. java课后作业

    课后作业之字串加密: 设计思想: 1.输入要加密的英文子串str 2.定义num=str的字符串长度 3.将字符串转化为单个字符 4.每个字符+3,向后移3个 5.定义str1,将新得到的每个字符加到 ...

  2. java课后作业总结

    今天的课后作业是做一个查找一段文章中单词出现的概率,统计并 输出出现概率最高的几个单词.拿到题目,老师还是往常一样提醒着我们先分析题目,构建大概的编程思路.程序需要遇到文本文件的输入输出操作,这一直一 ...

  3. java课后作业-5

    作业一:请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?“ 程序源代码; public class Lei { /** * @param args */ public static vo ...

  4. java课后作业-4

    一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private ...

  5. java课程课后作业04之动手动脑

    一.多层的异常捕获-1 先贴出代码: public class CatchWho { public static void main(String[] args) { try { try { thro ...

  6. java课后作业2019.11.04

    一.编写一个程序,指定一个文件夹,能够自动计算出其总容量 1.代码 package HomeWork; import java.io.File; public class getFileDaxiao ...

  7. java课后作业7

    9.页实验 下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 答: d=m;和d=c;引起编译错误: 原因: ...

  8. java课后作业6

    一.运行TestInherits.java 结论:通过super调用基类构造方法,必须是子类构造方法中的第一个语句. 二.为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不 ...

  9. java课后作业5

    [问题]随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路: 1.申请一个长度为10的数组 2.计算机随机生成10个数,并赋给数组 3. ...

随机推荐

  1. 【Spring】---【IOC】

    Spring 2017-08-15 08:25:57 [IOC] 分享几篇好文 谈谈对Spring IOC的理解 Spring的IOC原理(转载) java框架篇---spring IOC 实现原理 ...

  2. Elasticsearch入门(二)

    基础概念 Elasticsearch有几个核心概念,从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档 ...

  3. python学习中

    python中的单引号.双引号.三引号的用法 网上也查找了资料,理解的都有些费劲 就自己验证了一下(主要是目前掌握的python知识,不知道什么时候会同时用到这三种引号) 用python3验证的 单引 ...

  4. 基于html5二个div 连线

    因为要实现拖拽连线研究了一下基于extjs 和html5的不同实现方法 extjs底层的画图引擎是svg 不知道在html5大潮即将袭来的前夕一贯走在技术前沿的extjs开发团队没有自己封装基于htm ...

  5. kafka学习(三)

    kafka 消费者-从kafka读取数据   消费者和消费者群里 kafka消费者从属于消费者群组.一个群组里的消费者订阅的是同一主题,每个消费者接受主题一部分分区的消息.如果我们往群组里添加更多的消 ...

  6. C/C++ 防止头文件重复包含 #pragma once 与 #ifndef 的区别

    为了避免同一个头文件被多重包含/重复包含,有两种方式: 方式一: #ifndef XXX #define XXX ... ...  //声明语句 #endif  //XXX 方式二: #pragma ...

  7. mybatis源码级别深度剖析

    mybatis 3.x源码深度解析与最佳实践 Mybatis源码解析优秀博文

  8. Java json框架简介

    Gson,FastJson,Jackson,Json-lib性能比较 https://www.xncoding.com/2018/01/09/java/jsons.html 结论:FastJson虽然 ...

  9. HashMap底层为什么一定用数组

    HashMap源码数据结构: Entry[] table = new Entry[capacity]; 其中,Entry就是一个链表节点.如果将数组替换成LinkedList是否可行?如下: List ...

  10. JS之理解继承

    JS之理解继承:https://segmentfault.com/a/1190000010468293 1.call继承,也叫借用构造函数.伪造对象或是经典继承.call继承回把父类的私有属性和方法继 ...