java基础-金额转换
将数字123456类似的金额,转换为金额
package com.jdL.day10classwork;import java.util.Scanner;public class StringMoneyConvert {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请输入一个金额数字");int moneyNum=sc.nextInt();String moneyStr=moneyconvert(moneyNum);for(int i=0;i<moneyStr.length();i++){System.out.print(moneyStr.charAt(i));}}//数组转换为大写public static char upperNumber(int num){char[] str={'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'};return  str[num];}//利用字符数字将大写数字生成数组public static String moneyconvert(int number){int[] arr=new int[7];for(int i=arr.length-1;i>=0;i--){if (number>0){int ge=number%10;number=number/10;arr[i]=ge;}}//生成一个大写字母的数字,没有数字的零补齐char[] arr1=new char[7];for(int i=0;i<arr.length;i++){arr1[i]=upperNumber(arr[i]);}String money=" ";//定义一个单位数组char[] unit={'佰','拾','万','仟','佰','拾','元'};//把大写数字的数组和单位数组对应索引的位置拼起来for(int i=0;i<unit.length;i++){money=money+arr1[i]+unit[i];}return money;}
}上面没有写金额的录入判断,不想写了,读者可自行补充哈
手机号屏蔽
package com.jdL.day10classwork;import java.util.Scanner;public class StringPhoneShield {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("输入手机号");String phone=sc.next();//String newPhone=phoneShield(phone);//System.out.println(newPhone);//这里也可以使用字符串截取方法String str1=phone.substring(0,3);String str2=phone.substring(7);System.out.println(str1+"****"+str2);}public static String phoneShield(String phone){String newPhone=" ";for(int i=0;i<phone.length();i++){if(i>=3&&i<=6){newPhone=newPhone+"*";}else{newPhone=newPhone+phone.charAt(i);}}return newPhone;}}身份证信息读取
package com.jdL.day10classwork;import java.util.Scanner;public class StringIdCard {public static void main(String[] args) {System.out.println("输入一个身份证号");Scanner sc=new Scanner(System.in);String str=sc.next();String year=str.substring(6,10);String month=str.substring(10,12);String day=str.substring(12,14);char gender=str.charAt(17);System.out.println(gender);if(gender%2==0){gender='男';}else{gender='女';}System.out.println("出生时间:"+year+"年"+month+"月"+day+"日"+'\n'+"性别:"+gender);}
}在JAVA中,char类型是可以直接取模的,但是不建议,看看就行
敏感词替换
在字符中可以使用replace将字符替换成想要的内容
package com.jdL.day10classwork;import java.util.Scanner;public class Stringtest07 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);System.out.println("请说一句话");String str=sc.next();String newSti=str.replace("TMD","真棒");System.out.println(newSti);}
}StringBuilder可以看成是一个容器,并不是字符串类型,里面的内容是可以改变的
作用:提高字符串的操作效率



判断一个字符串是否是对称字符串
可以采用StringBuilder生成字符串的容器,然后再反转容器内的字符,再toString转变为字符串
package com.jdL.day10classwork;import java.util.Scanner;public class Stringtest09 {public static void main(String[] args) {System.out.println("请输入字符串");Scanner sc=new Scanner(System.in);String str=sc.next();StringBuilder sb=new StringBuilder(str);String newStr=sb.reverse().toString();if(str.equals(newStr)){System.out.println("是");}else{System.out.println("否");}}
}
数组的拼接,将数组{1,2,3}转换为[1,2,3]
package com.jdL.day10classwork;public class Stringtest10 {public static void main(String[] args) {int[] arr={1,2,3,4,5};System.out.println(strMontage(arr));}public static String strMontage(int[] arr){StringBuilder sb=new StringBuilder();String result="";for(int i=0;i<arr.length;i++){if(i==arr.length-1){sb.append(arr[i]);}else {sb.append(arr[i]+",");}}return "["+sb.toString()+"]";}
}
StringJoiner方法


package com.jdL.day10classwork;import java.util.StringJoiner;public class StingJoinertest {public static void main(String[] args) {StringJoiner sj=new StringJoiner("---");sj.add("123").add("456").add("789");System.out.println(sj.toString());}
}

