练习一:键盘输入任意字符串,打乱里面的内容
思路
package com.itheima.test;
public class Test3 {
public static void main(String[] args) {
//键盘输入任意字符串,打乱里面的内容
//1.键盘输入任意字符串
String str = "abcdefg";
//2.打乱里面的内容
//修改字符串里面的内容:
//1.subString
//2.变成字符数组
char[] arr = str.toCharArray();//['a','b','c','d','e','f','g']
//3.打乱数组里面的内容
//从0索引开始,跟一个随机索引进行位置的交换
//当数组里面的每一个元素都跟一个随机索引进行交换完毕之后,那么内容就打乱了
//4.把字符数组再变回字符串
String result = new String(arr);
System.out.println(result);
}
}
练习二:生成验证码
生成验证码
内容:可以是小写字母,也可以是大写字母,还可以是数字
规则:
长度为5
内容中是四位字母,1位数字。
其中数字只有1位,但是可以出现在任意的位置。
思路
package com.itheima.test;
public class Test4 {
public static void main(String[] args) {
//1.可以把所有的大写字母,小写字母都放到一个数组当中
char[] arr = new char[52];
//a-z A-Z
//2.从数组中随机获取4次
//3.生成一个0~9之间的随机数拼接到最后
//例如ACFG7
//思考,我们把7放到前面,修改了字符串的内容
//把生成的验证码先变成一个字符数组
//再让最后一个元素跟前面的随机位置的元素进行交换
//交换完毕之后再变成字符串就可以了。
}
}
练习三:字符串相乘
给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。
注意:需要用已有的知识完成。
package com.itheima.test;
public class Test5 {
public static void main(String[] args) {
//PS:不需要考虑乘积过大之后的结果,就认为乘积一定是小于int的最大值的
String num1 = "123456789";
String num2 = "12345";
//1.把num1和num2变成对应的整数才可以
//"123456789"
//先遍历字符串依次得到每一个字符 '1' '2' '3' '4' '5' '6' '7' '8' '9'
//再把字符变成对应的数字即可 1 2 3 4 5 6 7 8 9
//把每一个数字组合到一起 123456789
//2.利用整数进行相乘
//3.可以把整数变成字符串
//+ ""
}
}
练习四:
给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。
返回字符串中最后一个单词的长度。
单词是指仅由字母组成、不包含任何空格字符的最大子字符串。
示例 1:输入:s = "Hello World“ 输出:5
解释:最后一个单词是“World”,长度为5。
示例 2:输入:s = " fly me to the moon" 输出:4
解释:最后一个单词是“moon”,长度为4。
示例 3:输入:s = “luffy is still joyboy” 输出:6
解释:最后一个单词是长度为6的“joyboy”。
package com.itheima.test;
public class Test6 {
public static void main(String[] args) {
//倒着遍历
//直到遇到空格为止
//那么遍历的次数就是单词的长度
}
}