Here goes:
Code:
import java.util.*;
public class Expressionator {
ArrayList ops=new ArrayList();
ArrayList ints=new ArrayList();
// you might want to include brackets & parentheses here
String opers="+-*/";
public Expressionator(String s) {
StringTokenizer st=new StringTokenizer(s,opers,true);
while (st.hasMoreElements()) {
String whatzit=(String)st.nextElement();
if (opers.indexOf(whatzit)>=0) {
ops.add(whatzit);
} else {
ints.add(whatzit);
}
}
// if you insist on arrays then
int [] intArr=new int[ints.size()];
String [] operArr=new String [ops.size()];
for (int i=0;i<ints.size();i++) {
intArr[i]=Integer.parseInt((String)ints.get(i));
}
for (int i=0;i<ops.size();i++) {
operArr[i]=(String)ops.get(i);
}
System.out.println("The expression:"+s);
System.out.println("Integers:");
for (int i=0;i<intArr.length;i++) {
System.out.println(intArr[i]);
}
System.out.println("Operators:");
for (int i=0;i<operArr.length;i++) {
System.out.println(operArr[i]);
}
}
public static void main(String[] args) {
String s="";
for (int i=0;i<args.length;i++) {
s+=args[i];
}
Expressionator exp = new Expressionator(s);
}
}
Bookmarks