Java课后作业04
一、古罗马皇帝凯撒在打仗时曾经加密军事情报:
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的更多相关文章
- java课后作业
课后作业之字串加密: 设计思想: 1.输入要加密的英文子串str 2.定义num=str的字符串长度 3.将字符串转化为单个字符 4.每个字符+3,向后移3个 5.定义str1,将新得到的每个字符加到 ...
- java课后作业总结
今天的课后作业是做一个查找一段文章中单词出现的概率,统计并 输出出现概率最高的几个单词.拿到题目,老师还是往常一样提醒着我们先分析题目,构建大概的编程思路.程序需要遇到文本文件的输入输出操作,这一直一 ...
- java课后作业-5
作业一:请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?“ 程序源代码; public class Lei { /** * @param args */ public static vo ...
- java课后作业-4
一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. public class suiji { private static final int N = 200; private ...
- java课程课后作业04之动手动脑
一.多层的异常捕获-1 先贴出代码: public class CatchWho { public static void main(String[] args) { try { try { thro ...
- java课后作业2019.11.04
一.编写一个程序,指定一个文件夹,能够自动计算出其总容量 1.代码 package HomeWork; import java.io.File; public class getFileDaxiao ...
- java课后作业7
9.页实验 下列语句哪一个将引起编译错误?为什么?哪一个会引起运行时错误?为什么? m=d; d=m; d=(Dog)m; d=c; c=(Cat)m; 答: d=m;和d=c;引起编译错误: 原因: ...
- java课后作业6
一.运行TestInherits.java 结论:通过super调用基类构造方法,必须是子类构造方法中的第一个语句. 二.为什么子类的构造方法在运行之前,必须调用父类的构造方法?能不能反过来?为什么不 ...
- java课后作业5
[问题]随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中. 设计思路: 1.申请一个长度为10的数组 2.计算机随机生成10个数,并赋给数组 3. ...
随机推荐
- 【Spring】---【IOC】
Spring 2017-08-15 08:25:57 [IOC] 分享几篇好文 谈谈对Spring IOC的理解 Spring的IOC原理(转载) java框架篇---spring IOC 实现原理 ...
- Elasticsearch入门(二)
基础概念 Elasticsearch有几个核心概念,从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档 ...
- python学习中
python中的单引号.双引号.三引号的用法 网上也查找了资料,理解的都有些费劲 就自己验证了一下(主要是目前掌握的python知识,不知道什么时候会同时用到这三种引号) 用python3验证的 单引 ...
- 基于html5二个div 连线
因为要实现拖拽连线研究了一下基于extjs 和html5的不同实现方法 extjs底层的画图引擎是svg 不知道在html5大潮即将袭来的前夕一贯走在技术前沿的extjs开发团队没有自己封装基于htm ...
- kafka学习(三)
kafka 消费者-从kafka读取数据 消费者和消费者群里 kafka消费者从属于消费者群组.一个群组里的消费者订阅的是同一主题,每个消费者接受主题一部分分区的消息.如果我们往群组里添加更多的消 ...
- C/C++ 防止头文件重复包含 #pragma once 与 #ifndef 的区别
为了避免同一个头文件被多重包含/重复包含,有两种方式: 方式一: #ifndef XXX #define XXX ... ... //声明语句 #endif //XXX 方式二: #pragma ...
- mybatis源码级别深度剖析
mybatis 3.x源码深度解析与最佳实践 Mybatis源码解析优秀博文
- Java json框架简介
Gson,FastJson,Jackson,Json-lib性能比较 https://www.xncoding.com/2018/01/09/java/jsons.html 结论:FastJson虽然 ...
- HashMap底层为什么一定用数组
HashMap源码数据结构: Entry[] table = new Entry[capacity]; 其中,Entry就是一个链表节点.如果将数组替换成LinkedList是否可行?如下: List ...
- JS之理解继承
JS之理解继承:https://segmentfault.com/a/1190000010468293 1.call继承,也叫借用构造函数.伪造对象或是经典继承.call继承回把父类的私有属性和方法继 ...