用户将输入一个字符串,程序应该识别整数。 如果用户输入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]);
}
}
}
你”用空格替换非数字字符,然后将结果拆分为空格字符。它吐出的数组将会有一堆空的元素作为结果...在获得数字之前,仍然需要迭代的元素。 – JonK