您的当前位置:首页正文

01 java题目

2024-12-02 来源:个人技术集锦

1.问题:输入一个字符串,然后若该字符串是一个整数,则转换为整数后输出乘以10后的结果,若是小数,则转换为一个小数后输出乘以5后的结果,若不是数字则输出“不是数字”,需要使用正则表达式进行判断。

public class Demo1 {
	public static void main(String[] args) {
		while(true) {
			System.out.println("请输入一个字符串:");
			Scanner sc=new Scanner(System.in);
			
			String str=sc.nextLine();//存储输入的字符串
			String regexInteger="[0-9]*";//正则表达式用来判断是否是整数
			String regexDecimal="^\\d+\\.\\d+$";// 正则表达式用来判断是否是小数
			String regexnumber="-?[0-9]+.?[0-9]+";//是否为数字
			
			if(str.matches(regexInteger)) {//如果是整数
				int number1=Integer.parseInt(str);
				System.out.println(number1*10);
			}
			
			if(str.matches(regexDecimal)) {
				double number2=Double.parseDouble(str);
				System.out.println(number2*5);
			}
			
			if(!str.matches(regexnumber)) {
				System.out.println("不是数字");
			}
		}
	}
}

2.将字符串123,456,789,012根据“,”拆分,并输出拆分后的每一项

public class Demo2 {
	public static void main(String[] args) {
		String str="123,456,789,012";//字符串存储
		String[] strings=str.split(",");
		for(int i=0;i<strings.length;i++) {
			System.out.println(strings[i]);
		}
	}
}

3.将字符串“123abc456def789ghi”中的英文部分替换为“#char#”

public class Demo3 {
	public static void main(String[] args) {
		String str="123abc456def789ghi";//存储字符串
		String regex="[a-zA-Z]+";//正则表达式判断为英文()
		String replacement="#char#";
		String strNew=str.replaceAll(regex, replacement);
		System.out.println(strNew);
	}
}
显示全文