1、字符串转化(压缩) “aabbccdaa” -> “a2b2c2d1a2”
public class TextDemo1 {
public static String stringComPress(String str){
char[] array = str.toCharArray();//将字符串转换为字符数组
StringBuilder stringBuilder = new StringBuilder();//创建一个累加的新的数组
stringBuilder.append(array[0]);//将数组中的第一个元素放入stringBuilder
int count = 0;//定义一个数表示重复的字符的个数
int temp = array[0];//将第一个元素当作一个比较的对象来判断是否相同,相同的话count计数加一
for (int i = 0; i <array.length; i++) {
if(array[i]==temp){
count++;
}else{
stringBuilder.append(count);//数组下一位存放上一位的个数
stringBuilder.append(array[i]);//将新的元素放入数组
temp = array[i];//将新的元素作为比较的对象
count = 1;//记数重置为1
}
}
stringBuilder.append(count);
String str2 = new String(stringBuilder);//将数组转换成字符串
return str2;
}
public static void main(String[] args) {
System.out.println(stringComPress("aabbccdaa"));
}
}
2、统计字符串中数字个数
//如:“abc21b416u” ===> 输出5
public class TextDemo2 {
public static int isNumberic(String str){
int a = 0;
for (int i = 0; i <str.length() ; i++) {
//判断一个字符是否为数字
if(Character.isDigit(str.charAt(i))){
a++;
}
}
return a;
}
public static void main(String[] args) {
System.out.println(isNumberic("abc51b416u"));
}
}
3、题目:=====i am biter 逆置为:biter am i
public class TextDemo3 {
public static String reverseSentence(String str){
String[]a1 = str.split(" ");//将字符串按空格拆分
String[]a2 = new String[a1.length];
for (int i = 0; i <a2.length ; i++) {
a2[a1.length-i-1] = a1[i];
}
String result ="";
for (int i = 0; i <a2.length ; i++) {
result = result+(a2[i]+" ");
}
return result;
}
public static void main(String[] args) {
System.out.println(reverseSentence("i am biter"));
}
}
4、将一个数组从左开始第几位之前的进行旋转:左旋数组
如:将"abcdef"第2位之前(a为0号位置)进行旋转----》“cdefab”。
public class TextDemo4 {
public static void leftRotateString(String str, int n) {
char[]array1 = str.toCharArray();//将给定字符串转换成数组
char[]array2 = new char[array1.length];//定义新数组存储旋转后的元素
int j = 0;//i表示源数组的下标,j表示新数组的下标
for (int i = n; i <array1.length ; i++) {
array2[j] = array1[i];
j++;
}
for (int i = 0; i <n ; i++) {
array2[j] =array1[i];
j++;
}
String str1 = new String(array2);
System.out.println(str1);
}
public static void main(String[] args) {
leftRotateString("abcdef",2);
}
}