Java String与其他类型之间的转化及其算法练习
来源:互联网 发布:网站名与域名的区别 编辑:程序博客网 时间:2024/05/20 05:28
1.字符串 与基本数据类型、包装类之间转换
①字符串 --->基本数据类型、包装类:调用相应的包装类的parseXxx(String str);
②基本数据类型、包装类--->字符串:调用字符串的重载的valueOf()方法
2.字符串与字节数组间的转换
①字符串---->字节数组:调用字符串的getBytes()
②字节数组---->字符串:调用字符串的构造器
3.字符串与字符数组间的转换
①字符串---->字符数组:调用字符串的toCharArray();
①字符串 --->基本数据类型、包装类:调用相应的包装类的parseXxx(String str);
②基本数据类型、包装类--->字符串:调用字符串的重载的valueOf()方法
2.字符串与字节数组间的转换
①字符串---->字节数组:调用字符串的getBytes()
②字节数组---->字符串:调用字符串的构造器
3.字符串与字符数组间的转换
①字符串---->字符数组:调用字符串的toCharArray();
②字符数组---->字符串:调用字符串的构造器
练习题:
import java.util.ArrayList;import java.util.Arrays;import java.util.List;import org.junit.Test;public class StringDemo {@Testpublic void testTrime() {String str = " abcdefg ";String str1 = myTrime(str);System.out.println(str1);}//1.模拟一个trim方法,去除字符串两端的空格。public static String myTrime(String str) {int start = 0;int end = str.length() - 1;while(str.charAt(start) == ' ') {start++;}while(str.charAt(end) == ' ') {end--;}return str.substring(start, end + 1);}@Testpublic void testReverse() {String str = "abcdefg";System.out.println(reverseString(str, 3, 5));System.out.println(reverseString2(str, 5, 5));}//2.将一个字符串进行反转。将字符串中指定部分进行反转。比如将“abcdefg”反转为”abfedcg”(方法一)public static String reverseString(String str, int start, int end) {char[] c = str.toCharArray();return reverseArray(c, start, end);}public static String reverseArray(char[] c, int start, int end) {for (int i = start , j = end; i < j; i++ , j--) {c[i] = (char) (c[i] ^ c[j]);c[j] = (char) (c[i] ^ c[j]);c[i] = (char) (c[i] ^ c[j]);}return new String(c);}//方法二:public static String reverseString2(String str, int start, int end) {String str1 = str.substring(0, start);for (int i = end; i >= start; i--) {str1 += str.charAt(i);}str1 += str.substring(end + 1);return str1;}@Testpublic void testTime() {String str1 = "abcdabcab";String str2 = "ab";int time = getTime(str1, str2);System.out.println(time);}//3.获取一个字符串在另一个字符串中出现的次数。判断str2在str1中出现的次数public static int getTime(String str1, String str2) {int count = 0;int len;while((len = str1.indexOf(str2)) != -1) {count++;str1 = str1.substring(len + 1);}return count;}@Testpublic void testGetMaxSubString() {List<String> strs = getMaxSubString("abslkdjglabceujnh", "abcehhujnh");System.out.println(strs);}//4.获取两个字符串中最大相同子串。public static List<String> getMaxSubString(String str1, String str2) {String maxStr = str1.length() > str2.length()? str1:str2;String minStr = str1.length() < str2.length()? str1:str2;int len = minStr.length();List<String> list = new ArrayList<String>();for (int i = 0; i < len; i++) {//最小串每次要减少的字符个数for (int j = 0, k = len - i; k <= len; j++, k++) {String str = minStr.substring(j, k);if(maxStr.contains(str)) {list.add(str);}}if(list.size() != 0) {return list;}}return null;}@Testpublic void testSort() {String str = "uerngalsowkdjgx";System.out.println(sort(str));}//5.对字符串中字符进行自然顺序排序。public static String sort(String str) {char[] c = str.toCharArray();Arrays.sort(c);return new String(c);}@Testpublic void testPartReverse() {System.out.println(partReverse("I am a student!"));}//练习:I am a student! 写一个方法:实现输出 !student a am Ipublic static String partReverse(String str) {List<String> list = getWords(str);//Collections.reverse(list);//不用多一次list的反转操作更效率String revstr = "";for (String string : list) {//revstr += string;//若上面使用了list的反转,则使用这句revstr = string + revstr;}return revstr;}public static List<String> getWords(String str) {List<String> list = new ArrayList<String>();char[] c = str.toCharArray();String temp = "";for (int i = 0; i < c.length; i++) {if(Character.isLetter(c[i])) {temp += c[i];} else {if(!"".equals(temp)) {list.add(temp);}temp = "";list.add(String.valueOf(c[i]));}}return list;}}
0 0
- Java String与其他类型之间的转化及其算法练习
- java常用类String与其他数据类型之间的转化
- Java string 类型与其他类型的转化(string.valueof())
- String与其他类型之间转换
- 字节数组与其他类型的转化
- java中string与其他类型数据之类的转换
- String与其他类型的转换
- C++ string 与其他类型的转换
- String与其他基本类型的转换
- Java-String与其他数据类型的转换
- String类型与其他类型的相互转换
- byte与其他类型之间的强制转换
- 字符串数据类型与其他类型之间的转换
- 字符串与其他类型相互转化
- c++ 中 string与其他类型的转换
- 总结String类字符串与其他类型的转换
- String与其他类型的转换,compareTo方法,substring
- JAVA Date、String、Calendar类型之间的转化
- My97DatePicker设置默认时间
- iOS 截取当前屏幕的方法
- 【笔记】Eclipse反编译工具Jad及插件JadClipse配置
- Django1.8教程重点
- javascript深入理解js闭包
- Java String与其他类型之间的转化及其算法练习
- 冒泡排序和快速排序算法练习
- 浮层
- 指针和C++的基本原理
- 程序中用到过的方法
- 适配器模式
- 一道关于:ArrayList、Vector、LinkedList的存储性能和特性 的面试题
- Android之项目推荐使用的第三方库
- Android Studio 不能打开出现 internal error