Java中String的一些常用类_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > Java中String的一些常用类

Java中String的一些常用类

 2016/8/20 5:30:37  ShrMuscles  程序员俱乐部  我要评论(0)
  • 摘要:前几天发了一些题目,主要是对字符串的一些操作。下面把这些题目一一列出来。1、删除给定字符串2、倒置字符串3、去除随机生成字符串中的重复字符,并将新的字符串输出。4、检查字符串是否是回文字符串回文字符串:如果一个字符串,不管从前往后读,还是从后往前读,都是一样的,如:12321,eve,则称为回文字符串。5、替换字符串中的部分字符。实现要求:1)、判断要替换的字符串是否存在,并需要遍历找到要替换的字符串的位置。2)、在替换的字符串位置上进行替换,获得替换后生成的新字符串。6
  • 标签:常用 Java

前几天发了一些题目,主要是对字符串的一些操作。下面把这些题目一一列出来。

1、删除给定字符串
2、倒置字符串
3、去除随机生成字符串中的重复字符,并将新的字符串输出。
4、检查字符串是否是回文字符串
回文字符串:如果一个字符串,不管从前往后读,还是从后往前读,都是一样的,如:12321,eve,则称为回文字符串。
5、替换字符串中的部分字符。
实现要求:
1)、判断要替换的字符串是否存在,并需要遍历找到要替换的字符串的位置。
2)、在替换的字符串位置上进行替换,获得替换后生成的新字符串。
6、验证码是目前网络中应用最广泛的一种安全机制,可防止一些不良信息的侵入。随着网络的发展,验证码也由原本简单的数字变成汉字校验。
本实验要求使用Java分别获取四种验证码。
  1)、由数字0-9组成的全数字验证码
  2)、由英文字母和标点符号组成的字符验证码
  3)、全部由中文组成的验证码
  4)、字符+数字的混合验证码

以下是解决方法

1、删除给定字符串:

有一个replace(charoldChar, charnewChar)方法,作用是返回一个新的字符串,用newChar 替换此字符串中出现的所有oldChar。代码如下:

?

class="java">String s = "123456789";
s = s.replace("567", "");

?

还有一个方法就是split(Stringregex),根据regex来拆分字符串,返回值是String数组。代码如下:

?

String s = "123456789";
String[] str = s.split("456");
String str2 = "";
for (int i = 0; i < str.length; i++) {
	str2 = str2 + str[i];
}

?

目前只知道这两种方法,如果有其他方法,望不吝赐教。

2、倒置字符串。

这一题可以定义一个中间变量,把首尾的字母进行交换,这是在C语言中是这样解决的。我在网上也搜过,有用递归的。下面给上代码:

public static void reverse (String str){

if (str.length() == 1){
System.out.print(str);
}
else{
String
str1 = str.substring(0, str.length()-1);
String s
tr2 = str.substring(str.length()-1);
System.out.print(
str2);
reverse(
str1);
}
}
public static void main(String[] args) {
String s
tr = "123456789";
reverse(s
tr);

}

之后才发现,可以把字符串定义为StringBuffer,里面有这样一个方法reverse(),被字符串序列的反转所取代,这就简单了,代码如下:

StringBuffer s = new StringBuffer( "123456");
s.reverse();

3、去除随机生成字符串中的重复字符,并将新的字符串输出。

public static void main(String[] args) {
String s = "abcdefghijklmnopqrstuvwxyz";
String str = "";
String str2 = "";

/*随机生成字符串*/
for (int i = 0; i < s.length(); i++) {
char c = s.charAt((int) (Math.random() * 26));//在字符串s中随机取一个字符
str = str + c;//str是随机生成的字符串
}
System.out.println(str);

/*去除重复字符*/
for (int j = 0; j < str.length(); j++) {
char c = str.charAt(j);
//看字符c在字符串str中是否存在
if (!(str2.contains(c + ""))) {
str2 = str2 + c;//str2是新的字符串
}
}
System.out.println(str2);
// Random r = new Random();
// System.out.println(r.nextInt(10));
}

去除字符串也可以用数组的方法,这里就不上代码了。

4、检查字符串是否是回文字符串

可以用比较首尾字符是否相等来解决这个题。

也可以把字符串倒置,比较两个字符串是否相等。

有一个方法也应该记一下charAt(int index),返回index处的一个字符。

5、替换字符串中的部分字符。

有一个要求是判断要替换的字符串是否存在,用String中的contains(CharSequence s)方法,返回值是boolean类型的。存在为true,不存在为false。

替换字符串用的是replace()方法,第一题就是的。

6、获取4位的随机验证码,在第三题就有代码,只是要中文的验证码,就只能添加一些中文字库,没找到其他什么办法。

?

总结一下,这几天学的String里面的方法。

charAt(int index),返回index处的一个字符。

compareTo(String anotherString),比较两个字符串。返回值为int类型。

concat(String str),连接字符串。返回值为String。

contains(CharSequence s),字符串中是否包含指定的字符串。返回true或者false。

indexOf(String str),返回指定子字符串在字符串中第一次出现的位置。

length(),返回字符串的长度。

replace(char oldChar,char newChar),用newChar替换oldChar得到一个新的字符串。

split(String regex),根据给定的regex拆分字符串,返回值为字符串数组

substring(int start),返回一个从start这个位置开始到字符串结束的子字符串。

substring(int start,int end),返回一个从start开始到end-1的字符串,不包括end这个位置的字符。

StringBuffer里面的方法:

append(char c),在字符串后面添加一个字符。

reverse(),将当前字符串倒置。

就这些了,我是小白,有什么错误的地方欢迎指正。

发表评论
用户名: 匿名