【发布时间】:2020-10-03 01:13:27
【问题描述】:
Scanner sc = new Scanner(System.in);
String s = sc.nextLine().trim();
s= s.replaceAll("\\++"," + ");
Pattern p = Pattern.compile("[a-zA-Z]+|\\d+|[\\(\\*\\)/%]");
Matcher m = p.matcher(s);
while(m.find()){
String str=m.group();
s= s.replace(m.group()," "+str+" ").trim();
}
String[] str=s.split(" +");
for(String s1:str) System.out.print(s1+",");
如果s=22*(7-9 输出为:22,*,(,7,-,9,
如果s=12*(4-2 输出为:1,2,*,(,4,-,2,
为什么在第二个例子中 12 的数字分开了? 如果有人知道,请帮助我
【问题讨论】:
-
它对我有用。请看this