金额转换
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int money;
while (true) {
System.out.println("请录入一个金额");
money = sc.nextInt();
if (money >= 0 && money <= 9999999) {
break;
} else {
System.out.println("金额无效");
}
}
String moneyStr = "";
while (true){
int ge = money % 10;
String capitalNumber = getCapitalNumber(ge);
moneyStr = capitalNumber + moneyStr;
money = money / 10;
if (money == 0){
break;
}
}
int count = 7 - moneyStr.length();
for (int i = 0; i < count; i++) {
moneyStr = "零" + moneyStr;
}
System.out.println(moneyStr);
String[] arr = {"佰","拾","万","仟","佰","拾","元"};
String result = "";
for (int i = 0; i < moneyStr.length(); i++) {
char c = moneyStr.charAt(i);
result = result + c + arr[i];
}
System.out.println(result);
}
public static String getCapitalNumber(int number){
String[] arr = {"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
return arr[number];
}
}
手机号屏蔽
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
String phoneNumber = "13112349876";
String subStr = phoneNumber.substring(0, 3);
String subEnd = phoneNumber.substring(7);
String result = subStr + "****" + subEnd;
System.out.println(result);
}
}
身份证信息查看
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
String Id = "321281202001011234";
String year = Id.substring(6, 10);
String month = Id.substring(10, 12);
String day = Id.substring(12, 14);
System.out.println("出生年份:" + year + "出生月份:" + month + "出生日期:" + day);
char sex = Id.charAt(16);
int num = sex - 48;
if(num % 2 == 0){
System.out.println("女");
}else {
System.out.println("男");
}
}
}
敏感词替换
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
String talk = "玩的真好,TMD,WDNMD";
String[] arr = {"TMD", "CNM", "WDNMD", "MLGB"};
for (int i = 0; i < arr.length; i++) {
talk = talk.replace(arr[i], "***");
}
System.out.println(talk);
}
}
replace(旧值,新值)
StringBuilder
StringBuilder sb = new StringBuilder("abc");
sb.append(1);
sb.append(2.3);
sb.append(true);
System.out.println(sb);
StringBuilder sb = new StringBuilder("abc");
sb.reverse();
int len = sb.length();
System.out.println(len);
System.out.println(sb);
StringBuilder sb = new StringBuilder();
sb.append("aaa");
sb.append("bbb");
sb.append("ccc");
sb.append("ddd");
System.out.println(sb);
String str = sb.toString();
System.out.println(str);
StringBuilder sb = new StringBuilder();
sb.append("aaa").append("bbb").append("ccc").append("ddd");
System.out.println(sb);
链式编程
StringBuilder可以看成是一个容器,创建之后里面的内容是可变的
public StringBuilder() 创建一个空白可变字符串对象,不含有任何内容
public StringBuilder(String str)根据字符串的内容,来创建可变字符串对象
public StringBulider append(任意类型) 添加数据,并返回对象本身
public StringBulider reverse() 反转容器中的内容
public int length() 返回长度(字符出现的个数)
public String toString() 通过toString()就可以实现把StringBuilder转换为String
对称字符串
键盘接受一个字符串,程序判断出该字符串是否是对称字符串,并在控制台打印是或不是
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串");
String str = sc.next();
String result = new StringBuilder().append(str).reverse().toString();
if(str.equals(result)){
System.out.println("当前字符串是对称字符串");
}else {
System.out.println("当前字符串不是对称字符串");
}
使用StringBuilder的场景:
字符串的拼接
字符串的反转
拼接字符串
定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果
package one;
import java.util.Scanner;
public class first {
public static void main(String[] args) {
int[] arr = {1,2,3};
String str = arrToString(arr);
System.out.println(str);
}
public static String arrToString(int[] arr){
StringBuilder sb = new StringBuilder();
sb.append("[");
for (int i = 0; i < arr.length; i++) {
if(i == arr.length -1){
sb.append(arr[i]);
}else {
sb.append(arr[i]).append(",");
}
}
sb.append("]");
return sb.toString();
}
}
Tips
以上学习内容均来自于B站黑马程序员