05字符串运用

课后作业1:字串加密

  • 古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

设计思想:

输入字符串->将字符串转换为单个字符->每个字符加3->连接字符串->字符串加密输出

程序流程图:

源代码:

//陶雨洁
2016/10/28 20153152

package
字符运用;

import
javax.swing.*;

import
java.util.Scanner;

public
class Stringyy {

public static void main( String args[] )

{

//转为可用字符串

System.out.println("输入加密的字母字符");

Scanner 
input=new Scanner(System.in);

String mm=input.nextLine();

int n=mm.length();

String str1=new String();

for(int i=0;i<n;i++)

{

char a=mm.charAt(i);//取出单个字符

a=(char)(a+3);//每个字符对应加3得到对应的字符

str1=str1+a;//连接

}

System.out.println("加密后的为:"+str1);

}

}

结果截图:

课后作业2:动手动脑

请运行以下示例代码StringPool.java,查看其输出结果。如何解释这样的输出结果?从中你能总结出什么?

输出结果:

true ture false

思考:

Java将同一内容的字符串保存在同一个地址当中,字符==判断是判断地址和数据,所以s0==s1为true。而字符串+会自动连接,所以实际上s2就是String s2=”HELLO”;,s0==s2也为true。这些个都是使用的同一个内存空间,而一旦new就代表申请新的内存空间,结果就是不同的内存位置当然判等是就会显示false。

为什么会有上述的输出结果?从中你又能总结出什么?

输出结果:

True false false true

思考:

S1与s2引用同一个字符“a”,由于数据内容相同所以保存在同一个地址,s1==s2结果是true,String类型+=操作之后得到一个新的字符串对象,s1==s2为false。字符串常量地址和申请的字符串对象地址无关,所以s2==”ab”为false。

.equals()判断数据内容。

请查看String.equals()方法的实现代码,注意学习其实现方法。

实现代码提及String s1=newString(“hello”);与String s1=”hello”;的区别。我们知道new了一个新的对象之后,即便String数据内容相同但是地址仍是不同的,而如果是String类型变量赋值,结果却不同,同样数据内容的变量地址是相同的。

 

 

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

 

Length():S. Length()代表字符串S的长度

 

charAt():S.charAt(i)代表S字符串提出单个第i个字符

 

getChars()charArray =
new char[
5 ];//定义一个字符串数组

s1.getChars(
0, 5, charArray,
0 );//将字符串S1从下标为0开始到下标为5保存在charAt数组当中,且拷贝的字符放在charAt的起始下标为0.

for (
int i =
0; i < charArray.length;i++
)

output
+= charArray[ i
];//以字符数组的形式输出字符

replace()将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串

 

toUpperCase()、toLowerCase():大小写转换,toLowerCase()用来将字符串中的所有大写字母改为小写字母,,方法toUpperCase()用来将字符串中的所有小写字母改为大写字母。返回值均为已经转换的字符。

trim()去除头尾空格,得到一个新的字符串。

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

时间: 2024-07-30 23:53:46

05字符串运用的相关文章

*字符串-05. 字符串循环左移

1 /* 2 * Main.c 3 * D5-字符串-05. 字符串循环左移 4 * Created on: 2014年8月19日 5 * Author: Boomkeeper 6 ********部分通过******* 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 char str[100]={0}; 14 int N=0; 15 int endIndex=99;//字符串的结尾标识符 16 17 gets(str); 18

数组-05. 字符串字母大小写转换(10)

输入一个以#结束的字符串,本题要求将小写字母全部转换成大写字母,把大写字母全部转换成小写字母,其它字符不变. 输入格式: 输入在一行中给出一个长度不超过40的.以#结束的非空字符串. 输出格式: 在一行中按照要求输出转换后的字符串. 输入样例: Hello World! 123# 输出样例: hELLO wORLD! 123 import java.util.Scanner; public class Main { public static void main(String[] args) {

字符串-05. 字符串循环左移(20)

输入一个字符串和一个非负整数N,要求将字符串循环左移N次. 输入格式: 输入在第1行中给出一个不超过100个字符长度的.以回车结束的非空字符串:第2行给出非负整数N. 输出格式: 在一行中输出循环左移N次后的字符串. 输入样例: Hello World! 2 输出样例: llo World!He import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(St

*数组-05. 字符串字母大小写转换

1 /* 2 * Main.c 3 * E5-数组-05. 字符串字母大小写转换 4 * Created on: 2014年8月20日 5 * Author: Boomkeeper 6 *********部分通过********* 7 */ 8 9 #include <stdio.h> 10 11 int main(void){ 12 13 char str[40]={-1}; 14 15 gets(str); 16 17 int i,index; 18 for(i=0;i<40;i++

Python补充05 字符串格式化 (%操作符)

模板 格式化字符串时,Python使用一个字符串作为模板.模板中有格式符,这些格式符为真实值预留位置,并说明真实数值应该呈现的格式.Python用一个tuple将多个值传递给模板,每个值对应一个格式符. 比如下面的例子: print("I'm %s. I'm %d year old" % ('Vamei', 99)) 上面的例子中, "I'm %s. I'm %d year old" 为我们的模板.%s为第一个格式符,表示一个字符串.%d为第二个格式符,表示一个整数

05.字符串的常用方法

TocharArray();   //将字符串转换成字符数组 new string(char[] chs);   //将字符数组转换成字符串 ToUpper();   //将字符串转换成大写 ToLower();   //将字符串转换成小写 s1.Equals(s2,stringComparison.OrdinallgnoreCase)   //不区分大小写比较 Split();   //分割函数    返回一个字符串类型的数组 bool Contains(string value);   //

05.字符串

# 拼接字符串 s1 = '121' s2 = '1sda' s3 = 213 print(s1 + '---' + s2) # 121---1sda # print(s1 + s2 + s3) # TypeError: can only concatenate str (not "int") to str print(s1 + s2 + str(s3)) # 1211sda213 print(s1 + '\n' + s2) # 121 # 1sda s4 = '人123' print

Python中字符串的使用

这篇文章主要介绍python当中用的非常多的一种内置类型——str.它属于python中的Sequnce Type(序列类型).python中一共7种序列类型,分别为str(字符串),unicode(u字符串),list(列表),tuple(元组),bytearray(字节数组),buffer(缓冲内存),xrange(范围).它们的通用操作如下: Operation Result x in s 判断x是否在s中 x not in s 判断x是不在s中 x + t 两个序列合并, 将t加到s之后

Python快速教程

Python快速教程 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 怎么能快速地掌握Python?这是和朋友闲聊时谈起的问题. Python包含的内容很多,加上各种标准库.拓展库,乱花渐欲迷人眼.我一直希望写一个快速的.容易上手的Python教程,而且言语简洁,循序渐进,让没有背景的读者也可以从基础开始学习.我将在每一篇中专注于一个小的概念,希望在闲暇时可以很快读完. 小提醒 教程将专注于Python基础,语法基于Pytho