2020-7-28 Java常用类 - String 练习

2020-7-28 Java常用类 - String 练习

在这里插入图片描述
习题一

package com.dodoke.test;

public class Test1 {
	public static void main (String[] args){
		//创建字符串
		String str1 = "123456789";
		//创建空字符串接收新的字符串
		String str2 = "";
		//创建循环 -- 倒序接收指定的索引值
		for(int i = str1.length()-1;i >=0 ;i--){
			//拼接字符串
			str2 += str1.charAt(i);
		}
		//输出新的字符串
		System.out.println(str2);
	}
}

习题二

class Test2 {
	public static void main (String[] args){
		//创建字符串
		String str1 = "afsahahahafshsfafwishrhafhsaffks";
		//创建需要查找的指定字符串
		String str2 = "af"; 
		//利用indexOf从索引0开始查找指定字符串的索引位置,定义整型变量接收索引位置
		int a = str1.indexOf(str2, 0);
		//判断
		if(a == -1){//当索引值为-1时,说明没有要查找的字符串
			System.out.println("未发现要搜索的字符串");
		}else{
			//不为-1时,设置循环,从0开始依次索引
			for(int i = 0;i<str1.length();i++){
				a = str1.indexOf(str2, i);
				if (a == -1){//再次判断是否含有指定字符串,没有就结束循环
					break;
				}else{
					//输出查找到的字符串的索引位置
					System.out.println(a);
					//如果有指定字符串。第二次查找将从当前找的的索引位置的下一索引位置开始
					i = a + 1;
				}
			}
		}
	}
}

习题三

class Test3 {
	public static void main (String[] args){
		//创建回文数
		String str1 = "123454321";
		//将回文数放入数组中
		char[] arr = str1.toCharArray();
		//定义一个整数,用于接收有几组对应位置的数相同
		int b = 0;
		//循环数组
		for (int i=0;i<arr.length/2;i++){
			//根据回文数的定义,判断对应的位置是否相同
			boolean a = (arr[i] == arr[arr.length-1-i]);
			if(a){
				b += 1;
			}
		}
		//判断相同对应位置的组数是否等于数组长度的一半,相等就是回文数,反之
		if(b == arr.length/2){
			System.out.println("是回文数");
		}else{
			System.out.println("不是回文数");
		}
		
	}
}

习题四

class Test4 {
	public static void main(String[] args) {
		//创建驼峰字符串
		String str1 = "wwwBaiDuCom";
		//将字符串全部小写
		String str2 = str1.toLowerCase();
		//创建空字符串接收新的字符串
		String str3 = "";
		//将源字符串和小写字符串分别放入不同的数组
		char[] arr1 = str1.toCharArray();
		char[] arr2 = str2.toCharArray();
		//循环数组
		for (int i = 0;i<arr1.length;i++){
			//判断是否位小写
			if(arr1[i] == arr2[i]){
				//小写则在空字符串中拼接
				str3 += arr2[i];
			}else{
				//大写则在之前添加下划线,再拼接小写
				str3 = str3 + "_" +arr2[i];
			}
		}
		System.out.println(str3);
	}
}

习题五

class Test5 {
	public static void main(String[] args) {
		//创建字符串数组
		String[] arr = {"b","f","a","g","c","d","h","o"};
		//定义二传手字符串
		String a;
		//利用循环进行冒泡排序
		//compareTo 可以按字典顺序比较两个字符串   前面的比后面的为负数
		for(int i=0;i<arr.length-1;i++){
			//将最大的放在最后一位
			for(int j=arr.length-1;j > i;j--){
				//比较两个字符串的的顺序,小于0则互换位置
				if(arr[j].compareTo(arr[j-1]) < 0){
					a = arr[j-1];
					arr[j-1] = arr[j];
					arr[j] = a;
				}
			}
		}
		//输出新的数组
		for(String b : arr){
			System.out.print(b);
		}
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值