gpt4 book ai didi

java - 分别输出String中的整数,然后再输出

转载 作者:行者123 更新时间:2023-12-01 10:33:33 25 4
gpt4 key购买 nike

用户将输入一个字符串,程序应该识别这些整数。如果用户输入 Hello12 3 它应该输出:

The integral numbers are:
id1 12
id2 3

但在我的代码中,它输出

The integral numbers are:
int1
int2
int3
int4
int5
int6 12
int7 3

我应该如何解决它?我的代码:

import java.util.*;
public class LexicalAnalyzer {
public static void main(String args[]){
Scanner input = new Scanner(System.in);
String str;
int j=0;

System.out.println("Lexical Analyzer for Algebraic Expressions\n");
System.out.print("Enter the String: ");
str = input.nextLine();
System.out.println("String length is: "+str.length());
System.out.println("\nThe integral numbers are: \n");
String intNum = str.replaceAll("[^0-9]", " ");
String[] intSplit = intNum.split(" ");
for(int i=0;i<intSplit.length;i++){
System.out.println("int"+(i+1)+" "+intSplit[i]);
}
}
}

最佳答案

您将用空格替换每个非数字字符。您需要将其替换为 "",这样就不会出现多余的空格。然后你在空间上进行分割,你就会得到想要的结果。此外,您需要使用 [^0-9\\s] 保留数字之间的空格,以便空格不会被 "" (空字符串)替换。

替换:

String intNum = str.replaceAll("[^0-9]", " ");

与:

String intNum = str.replaceAll("[^0-9\\s]", "");

关于java - 分别输出String中的整数,然后再输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34952002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com