0711(006天 字符串基本操作)
每日一狗(边牧十一)
主标题
课前测试题
// 输入两个正整数,输出两个整数的最小公倍数
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个正整数:");
int num1 = sc.nextInt();
System.out.println("请输入第二个正整数:");
int num2 = sc.nextInt();
int max_ = num1 > num2 ? num1 : num2;
for (; max_ <= num1 * num2; max_++) {
if (max_ % num1 == 0 && max_ % num2 == 0) {
System.out.println(num1 + "和" + num2 + "的最小公倍数为" + max_);
break;
}
}
1. 字符串基础操作
- 复合类型
- 字符序列(序列不允许做任何调整)
- 长度存在限制
复合类型的属性
1.1 基本操作
s1.length()
:字符串长度s1.charAt(2)
:获取指定索引位置上的字符
String s1 = "123获取字符合数"; // 创建字符串对象
s1.length(); // 获取字符串长度
s1.charAt(2); // 获取指定索引位置上的字符
// 遍历操作字符串
for (int i = 0; i < s1.length(); i++) {
System.out.println(s1.charAt(i) + "==" + (int) s1.charAt(i));
}
s1+s2
:将字符串s2拼接到s1后边
String s1 = "ab";
String s2 = S1 + "c"; // "abc"
eg: 生成随机字符串验证码
长度为6
可使用字符限定
"0123456789abcdefghijkmnpqrstuvwxyz"
// 生成随机字符串验证码
int len = 6;
final String source = "0123456789abcdefghijkmnpqrstuvwxyz";
String cc = ""; // 验证码存储字符串
for (int i = 0; i < len; i++) {
double d1 = Math.random(); // 随机数生成
int tmp = (int) (d1 * source.length()); // 修正随机数范围
cc += source.charAt(tmp); // 索引并拼接验证码字符串
}
System.out.println(cc);
s1.indexOf(s2)
: 在s1中查找s2第一次出现的位置,不存在时返回-1
eg: 找出指定字符串 出现的指定字符串
// 找出指定字符串 出现的指定字符串
int pos = -1;
String ss = "TODO Auto-generated method ene stub";
while ((pos = ss.indexOf("ene", pos + 1)) != -1) {
System.out.println(pos);
}
System.out.println("=================");
pos = ss.length();
while ((pos = ss.lastIndexOf("ene", pos - 1)) != -1) {
System.out.println(pos);
}
System.out.println("=================");
// 找出指定字符串 出现的指定字符串
for (pos = ss.indexOf