Javase新人在线求解答

weixin_45842013 2019-11-14 06:46:48
提示用户键盘录入一个包含数字和字母的字符串,遍历字符串分别筛选数字和字母把他们分别拼接成字符串,按照数字在前字母在后的规则组成一个新的字符串
...全文
90 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40599844 2019-11-25
  • 打赏
  • 举报
回复
public class PartitionApplication {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Please enter a string line:");
String line=scanner.nextLine();

String[] strs=line.split("\\d+");
String[] digits=line.split("\\D+");
String result=String.join("",digits)+String.join("",strs);
System.out.println(result);
}
jiawenhe123 2019-11-23
  • 打赏
  • 举报
回复
简单直接的方法:
public class PartitionApplication {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("Please enter a string line:");
		String line=scanner.nextLine();

		String[] strs=line.split("\\d+");
		String[] digits=line.split("\\D+");
		String result=String.join("",digits)+String.join("",strs);
		System.out.println(result);
	}
}
优点:没有使用Pattern和Matcher,代码少,适合初学者 缺点:如果需要处理大量数据的时候效率低
jiawenhe123 2019-11-23
  • 打赏
  • 举报
回复
简单直接的方法:
public class PartitionApplication {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		System.out.println("Please enter a string line:");
		String line=scanner.nextLine();

		String[] strs=line.split("\\d+");
		String[] digits=line.split("\\D+");
		String result=String.join("",digits)+String.join("",strs);
		System.out.println(result);
	}
}
这个实现没有使用Pattern和
梦梦王爷 2019-11-14
  • 打赏
  • 举报
回复 3

import java.util.Scanner;
public class Test{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个初始字符串:");
String str = input.next();//控制台输入的原始字符串
System.out.println(
separateAndSortString(str));
input.close();

}


//分离初始字符串中数字和字符并且重新排序的方法的方法
public static String separateAndSortString(String str){
//jhjhsf24934kjfs3432hh423j4
StringBuffer sb1 = new StringBuffer();//用于表示新的数字字符串
StringBuffer sb2 = new StringBuffer();//用于表示新的字符字符串
StringBuffer sb3 = new StringBuffer();//用于表示除了字母和数字之外的字符串
for (int i=0;i<str.length();i++ ) {
//如果这字符串下标为i的位置的字符是数字的情况,[0-9]代表数字
if(String.valueOf(str.charAt(i)).matches("[0-9]")){
sb1.append(str.charAt(i));
}else if(String.valueOf(str.charAt(i)).matches("[A-Za-z]")){
sb2.append(str.charAt(i));
}else{
sb3.append(str.charAt(i));
}
//如果这字符串下标为i的位置的字符是数字的情况,
}
return sb1.append(sb2).append(sb3).toString();
}
}




62,628

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧