Java编程入门与应用 P120——成长任务1:对字符串的各种操作
- 本次任务要求读者根据本章所介绍的字符串处理函数完成,假设有两个字符串str1和str2,他们的定义如下:
- String str1 = “Persistence can produce a miracle! Unfortunately,” + “very few people can persist of Success is Persistence1”;
- String str2 = “The Secret of Success is Persistence!”;
- 通过编程,完成如下操作:
- 1、把str1复制到str2,并输出
- 2、把str1的第5~10个字符附加到str2的尾部
- 3、提取str1中的最后10个字符,并输出
- 4、比较str1的前5个字符和str2的后5个字符
/**
* Java编程入门与应用 P120——成长任务1:对字符串的各种操作
* 本次任务要求读者根据本章所介绍的字符串处理函数完成,假设有两个字符串str1和str2,他们的定义如下:
*
* String str1 = "Persistence can produce a miracle! Unfortunately," + "very few people can persist of Success is Persistence1";
* String str2 = "The Secret of Success is Persistence!";
*
* 通过编程,完成如下操作:
* 1、把str1复制到str2,并输出
* 2、把str1的第5~10个字符附加到str2的尾部
* 3、提取str1中的最后10个字符,并输出
* 4、比较str1的前5个字符和str2的后5个字符
*/
public class use_string {
public static void main(String[] args) {
//定义str1、str2
String str1 = "Persistence can produce a miracle! Unfortunately," + "very few people can persist of Success is Persistence1";
String str2 = "The Secret of Success is Persistence!";
//将str1复制到str2
System.out.println("将str1复制到str2后结果为:" + str2.concat(str1));
/*
将str1的第5~10个字符附加到str2的尾部
(因为取子串是按照下标开始的,下标从0开始计数,所以第5位元素的下标为5 - 1,而终止位在substring里,终止位置的元素不包括,所以依旧是10)
*/
System.out.println("将str1的第5~10个字符附加到str2的尾部的结果为:" + str2.concat(str1.substring(5 - 1,10)));
//提取str1中的最后10个字符,并输出
System.out.println("提取str1中的最后10个字符的结果为:" + str1.substring(str1.length() - 10, str1.length()));
//比较str1的前5个字符和str2的后5个字符,并输出
System.out.println(str1.substring(0,4).equals(str2.substring(str2.length() - 5, str2.length())) ?
"str1的前5个字符和str2的后5个字符相同!" : "str1的前5个字符和str2的后5个字符不相同!");
}
}
结果:
将str1复制到str2后结果为:The Secret of Success is Persistence!Persistence can produce a miracle! Unfortunately,very few people can persist of Success is Persistence1
将str1的第5~10个字符附加到str2的尾部的结果为:The Secret of Success is Persistence!istenc
提取str1中的最后10个字符的结果为:rsistence1
str1的前5个字符和str2的后5个字符不相同!
进程已结束,退出代码为 0
本程序的输出是嵌套的,仅举例说明一次:
例如:
//提取str1中的最后10个字符,并输出
System.out.println("提取str1中的最后10个字符的结果为:" + str1.substring(str1.length() - 10, str1.length()));
其实我相信前面都知道,标准输出的套路,主要是“+”后面的一大堆就有点吃力了,其实一步步分析下来还是很简单的:
str1.substring(str1.length() - 10, str1.length())
str1.substring(x,y)的意思是在获取第x索引位往后依次索引到第y个索引位的子串。所以,str1.length() - 10代表str1这个字符串的总长度 - 10到达str1的最后10个元素的位置,一直索引到最后也就是 str1.length()
然后: str1.substring(str1.length() - 10, str1.length())的结果就是最后10个字符啦,输出就好了。
感谢观看
再次感谢~