publicclassexercise_10_26{/**Mainmethod*/publicstaticvoidmain(String[]args){//Checknumberofstringspassedif(args.length!=1){System.out.println("Usage:javaCalculator\"opera...
public class exercise_10_26 {
/** Main method */
public static void main(String[] args) {
// Check number of strings passed
if (args.length != 1) {
System.out.println(
"Usage: java Calculator \"operand1 operator operand2\"");
System.exit(1);
}
// The result of the operation
int result = 0;
// The result of the operation
String s = insertBlanks(args[0]);
String[] tokens = s.split("\\s+");
// See Supplement III.H for regular expressions
// Determine the operator
switch (tokens[1].charAt(0)) {
case '+': result = Integer.parseInt(tokens[0]) +
Integer.parseInt(tokens[2]);
break;
case '-': result = Integer.parseInt(tokens[0]) -
Integer.parseInt(tokens[2]);
break;
case '*': result = Integer.parseInt(tokens[0]) *
Integer.parseInt(tokens[2]);
break;
case '/': result = Integer.parseInt(tokens[0]) /
Integer.parseInt(tokens[2]);
}
// Display result
System.out.println(tokens[0] + ' ' + tokens[1] + ' '
+ tokens[2] + " = " + result);
}
public static String insertBlanks(String s) {
String result = "";
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) == '+' || s.charAt(i) == '-' ||
s.charAt(i) == '*' || s.charAt(i) == '/')
result += " " + s.charAt(i) + " ";
else
result += s.charAt(i);
}
return result;
}
}
展开