1、String类的功能练习
2、面向对象
3、二维数组
3、构造函数
4、this关键字的使用
public class StringTest3 {
public static void main(String[] args) {
//1.编写程序将 “jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕
/*分析:
* 1,需要定义一个字符串变量记录住"jdk"
* 2,需要使用String toUpperCase()功能将全部字母变成大写
* 3,需要使用String substring(int start,int end)截取DK
*
* */
String string="jdk";
String upperCase = string.toUpperCase();
String substring = upperCase.substring(1,3);
System.out.println(upperCase);
System.out.println(substring);
/*2.编写程序将String类型字符串”test” 变为 “tset”. (toCharArray())
* 分析:1,需要定义一个字符串变量记录数据
* 2,需要使用toCharArray将字符串转换为数组
* 3,然后置换
*
* */
String string2 = "test";
char[] s = string2.toCharArray();
System.out.println(s);
int index=0;
int index1=0;
for(int a=0;a<s.length;a++){
for(int b=0;b<a+1;b++){
if(a==1){
index=a;
}
if(a==2){
index1=a;
}
//System.out.println(s[a]);
char temp=s[index];
s[index]=s[index1];
s[index1]=temp;
}
}
System.out.println(s);
// System.out.println(index);
// System.out.println(index1);
/*3. String s = "113@ ere qqq yyui"
请输出所有子串
113@
ere
qqq
yyui
分析:1,需定义一个String类型变量并赋值为" 113@ ere qqq yyui"
2,需要使用String substring(int start,int end)截取
*/
String string3="113@ ere qqq yyui";
String substring2 = string3.substring(0, 4);
System.out.println(substring2);
String substring3 = string3.substring(5, 8);
System.out.println(substring3);
String substring4 = string3.substring(9, 12);
System.out.println(substring4);
String substring5 = string3.substring(13, 16);
System.out.println(substring5);
/*4. 编写一个程序,将下面的一段文本中的各个单词的字母顺序翻转,
“To be or not to be",将变成"oT eb ro ton ot eb."。
分析:1,需定义一个String类型的名字赋值为"To be or not to be"
2,String[] split(String str) 按照括号里的内容对字符串进行切割
3,定义一个新的String类接收新的字符
* */
String shu="To be or not to be";
String[] split = shu.split(" ");//将shu 字符串转换成数组类型按" "切割 切割后的数组角标0就是To 角标2就是be
String z="";//定义一个字符串类型的变量接收最后新的字符串
for(int a=0;a<split.length;a++){//遍历split数组
String zz=split[a];//用zz记录住每一个角标的字符
//System.out.println(zz);
char[] charArray = zz.toCharArray();//再将每个字符转换为字符数组
String ww="";
for(int b=charArray.length;b>0;b--){/*遍历charArray这个数组,因为这个数组中自由两个字符,从最后一个
角标遍历,便能将字符反转*/
ww=ww+charArray[b-1];
}
z=z+ww+" ";
}
System.out.println(z);
/*5.String s=”name=zhangsan age=18 classNo=090728”;
将上面的字符串拆分,结果如下:
zhangsan 18 090728
* */
String string4 = "name=zhangsan age=18 classNo=090728";
String[] split2 = string4.split(" ");//将string字符串按照" "切割,切割后分为三段字符串
String d = "";//定义一个空字符的d记录最后的结果
for (int a = 0; a < split2.length; a++) {//遍历split2数组
String cc = split2[a];//记录每一个角标下的字符串
int indexOf = cc.indexOf("=");//获取每个角标下的字符串"="所处的角标
String substring6 = cc.substring(indexOf+1);//获取"="下的角标+1后的字符
d=substring6+" ";
System.out.print(d);
}
System.out.println();
/*6. 给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.
* (查询indexOf(String str,int FromIndex)方法)
如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入
* */
String string5 = "abcbababcb34bcbd";
char[] arry = string5.toCharArray();
int count = 0;
int sum=0;
for (int a = 0; a < arry.length; a++) {
int indexOf = string5.indexOf("bcb", a);
sum=indexOf;
if (indexOf == a) {
System.out.print(indexOf);
count++;
}
}
if (count == 0) {
System.out.println("找不到");
}
}
}
|
|