javase:使用String工具类实现小任务
简单的手机充值功能
要求:自定义放法addMoney,模拟手机充值的过程,在方法中输入“充值卡卡号#充值卡密码#充值的手机号码”字符串
从中取出要充值的手机号码,向用户确认是否要充值,输入1确定,输入其他任意键放弃。
方法返回充值是否成功,在main()方法中输出充值结果
import java.util.Scanner;
public class StringTestAddMoney {
public static void main(String[] args){
boolean money = addMoney();
if(money){
System.out.println("充值成功");
}else{
System.out.println("充值失败");
}
}
public static boolean addMoney(){
//1.获取字符串
String msg = "1000012#123456#12345678910";
//2.获取手机号
int last = msg.lastIndexOf("#");//反向查找
String phone = msg.substring((last+1));//截取
msg.substring(last+1);
//3.用户输入是否继续充值
System.out.println("是否继续完成"+phone+"的充值[1]继续[2]返回");
String state = getString();
if("1".equals(state)){
return true;
}else{
return false;
}
}
//从控制台获取字符串
private static String getString(){
Scanner sc = new Scanner((System.in));
return sc.nextLine();
}
}
小结:这个简单的小任务主要是使用了Strig类实现对字符串中部分信息的查找,截取。
输入日期实现转换
要求:根据控制台输入的特定日期格式拆分日期
如:请输入一个日期(格式如:#月#日#年)
经过处理得到:#年#月#日
import java.util.Scanner;
public class StringTest {
public static void main (String[] args){
//1.打印提示信息
System.out.println("请输入日月年");
//获取一个字符串
String str = getString();
//转换
int index = str.indexOf("日");
String day = str.substring(0,index);
int endindex = str.indexOf("月");
String month = str.substring(index+1,endindex);
String year = str.substring(endindex+1);
year = year.replace("年","");
System.out.println(year+"年"+month+"月"+day+"日");
}
private static String getString() {
Scanner sc = new Scanner(System.in);
return sc.nextLine();
}
}
小结:这个小任务先将字符串分割的部分截取,记录截取部分的信息,实现对日期的转换
判断随机字符串的字母数和数字数
要求:给出一个随机字符串,判断有多少字母?多少数字?
public class StringTest1 {
public static void main(String[] args){
//1.定义一个字符串
String str = "asd1212a1sd56a4s1da5sd4a";
//2.将字符串转换成字符数组
char[] buf = str.toCharArray();
//3.遍历数组
int charCount = 0;
int intCount = 0;
for(char c :buf){
if(Character.isLetter(c)){
charCount++;
}else{
intCount++;
}
}
System.out.println("有"+charCount+"个字符");
System.out.println("有"+intCount+"个数字");
}
}
小结:这个小任务主要是通过将字符串转存到字符数组中,然后统计其中字母和数字的个数实现。