java String字符串操作 字符串加密等
子串加密
1,设计思想
(1)输入一个字符串
(2)通过toCharArray()的方法将字符串转换成字符数组
(3)新建一个字符数组用来存储修改后的字符数组
2,程序流程图

3,源代码
package 子串加密;
import java.util.Scanner;
public class Secret {
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("请输入要加密的英文子串:");
String a=input.nextLine();
char c[]=a.toCharArray(); //将输入的字符串转化成字符数组
System.out.println("加密中……");
for(int i=0;i<1000000;i++)
{ }
char[] passWord=new char[10];
for(int i=0;i<c.length;i++){
passWord[i]=(char) (c[i]+3);
if((c[i]>=88&&c[i]<=90)||c[i]>=118&&c[i]<=122)passWord[i]=(char)(c[i]+3-26);//将字符数组加密
}
System.out.println("正确的密码为:");
System.out.println(passWord); } }
4,结果截图

1,String.equals()方法
可以用来比较两个字符串内容是否相等,即使对象或地址不同也能比较
2,整理String类的Length()、charAt()、getChars()、replace()、toUpperCase()、toLowerCase()、trim()、toCharArray()使用说明、阅读笔记
Length():获取字串长度
charAt():获取指定位置的字符
getChars():获取从指定位置起的子串复制到字符数组中(它有四个参数,在示例中有介绍)
replace():子串替换
toUpperCase()、 toLowerCase():大小写转换
trim():去除头尾空格:
toCharArray():将字符串对象转换为字符数组
3,运行StringPool.java查看输出结果。如何解释这样的输出结果?从中你能总结出什么?
True
True
False
相同地址的字符串可以比较,用new相当于新创建了一个对象,开辟了新的地址,因此,字符串不能直接比较。
4,
为什么会有上述的输出结果?从中你又能总结出什么?
(1)地址相同,字符串相同
(2)地址相同,字符串不相同
(3)类型不同,一个是字符串变量,一个是常量
(4)用equals()方法直接比较字符串内容是否相同
5,String类的方法可以连续调用:
String str="abc";
String result=str.trim().toUpperCase().concat("defg");
请阅读JDK中String类上述方法的源码,模仿其编程方式,编写一个MyCounter类,它的方法也支持上述的“级联”调用特性
Class MyCounter{
MyCounter counter1=new MyCounter(1);
MyCounter counter2=counter1.increase(100).decrease(2).increase(3);
}
java String字符串操作 字符串加密等的更多相关文章
- JAVA String对象和字符串常量的关系解析
JAVA String对象和字符串常量的关系解析 1 字符串内部列表 JAVA中所有的对象都存放在堆里面,包括String对象.字符串常量保存在JAVA的.class文件的常量池中,在编译期就确定好了 ...
- 1 通过JNI混合使用Java和C++ -----> 操作字符串
JNI(Java Native Interface)是Java语言的一部分,可以访问非Java语言编写的程序,也可以用于在C++程序中执行Java代码. 步骤: 1> 编写带有native声明 ...
- java String 中用"+"拼接字符串的原理
之前看<thinkinjava>时记得书上分析国这个问题,然后面试的时候问道了,结果面试官说时的很含糊说是new了一个对象,我说底层用的Stringbuild.他还是说我说错了.谨以此文的 ...
- java String 的+操作导致的问题
不说别的先看代码截图: 结果如下: 很好奇为什么String对象的null加上了""就等于"null"字符串了,先给点资料看看: 这个是我找的一个人博客上的截图 ...
- java string常见操作题
1. 每个基本类型封装类都有将string转换为基本数据类型的方法 对于非常大的数字请使用Long,代码如下 int age = Integer.parseInt("10"); ...
- java string常见操作(二)
- shell中的字符串操作——字符串的切割
default.yaml {default_baseurl: 'http://10.113.10.68:8082'} test.sh a=`cat default.yaml` t=":&qu ...
- Java字符串操作及与C#字符串操作的不同
每种语言都会有字符串的操作,因为字符串是我们平常开发使用频率最高的一种类型.今天我们来聊一下Java的字符串操作及在某些具体方法中与C#的不同,对于需要熟悉多种语言的人来说,作为一种参考.进行诫勉 首 ...
- Java的字符串操作
目录 Java的字符串操作 一.不同字符串操作的对比 1.1 C++中const修饰指针 const在星号的左边,是被指向的常量不可变 const在星号的右边,是指针的指向不可变 二. Java字符串 ...
随机推荐
- Tensorflow学习笔记----基础(3)
目录: 一.TensorFlow的系统架构 二.TensorFlow的设计理念 三.TensorFlow的运行流程 四.TensorFlow的编程模型:边.节点.图.设备.变量.变量初始化.内核 五. ...
- Python笔记24-----迭代器、生成器的使用(如嵌套列表的展开、树的遍历等)
1.递归yield使用: 嵌套列表展开 def flatten(nested): if type(nested)==list: for sublist in nested: for i in flat ...
- 【XSY2692】杨柳 - 网络流
题目来源:2018冬令营模拟测试赛(十) 题解: 继续鬼畜网络流…… 首先这题有个显然的做法:bfs预处理出每个起点到每个终点的最短步数,然后直接建边加超级源汇跑费用流即可: 但是这样边数是$n^2$ ...
- HDU-2955 Robberies 浮点数01背包 自变量和因变量位置互换
题目链接:https://cn.vjudge.net/problem/HDU-2955 题意 突然想找几个银行抢钱. 给出各银行的钱数和被抓的概率,以及能容忍的最大被抓概率. 问他最多能抢到多少钱? ...
- Jquery JS 全局变量
window["a1"]="abc";window["b1"]=5;
- 炫酷 CSS 背景效果的 10 个代码片段
在现代网页设计中,大背景图设计非常流行.随着高清(现在是4K)显示器的出现,越来越多的网页设计师使用大背景图来填充屏幕. 因为这样可以造成很大的视觉冲击力,并有助于更好的传递所要表现的内容. 但是,如 ...
- XPATH怎么获取TITLE中有中文的标签
定位 //*[@id="kkpager"]/div[1]/span[1]/a[@title="下一页"] 获取元素 txt4 = txt.xpath('//*[ ...
- Python 绘图与可视化 matplotlib 填充fill和fill_between
参考链接:https://blog.csdn.net/You_are_my_dream/article/details/53457960 fill()填充函数曲线与坐标轴之间的区域: x = np.l ...
- Mysql学习总结(35)——Mysql两千万数据优化及迁移
最近有一张2000W条记录的数据表需要优化和迁移.2000W数据对于MySQL来说很尴尬,因为合理的创建索引速度还是挺快的,再怎么优化速度也得不到多大提升.不过这些数据有大量的冗余字段和错误信息,极不 ...
- 2.WHERE中使用=,>,>=,<,<=,<>,!=比较符号
//查询工资大于等于2000的人 select * from person salary >= 2000; //查询名字等于scott的人 select * from per ...