public class Calculator1 {
public static void main(String[] args) {
java.util.Vector A = new java.util.Vector();
java.util.Vector B = new java.util.Vector();
String number, sign, continued;
System.out.println("--------------------------------");
System.out.println("ADDITIVE CALCULATOR -> Started");
System.out.println("Author Andrew M. May 2009");
System.out.println("--------------------------------");
A: while (true) {
//number - вводим номер
//sign - вводим знак
System.out.println("Enter a number");
java.util.Scanner scan = new java.util.Scanner(System.in);
number = String.valueOf(scan.next());
System.out.println("Enter a math operator");
sign = String.valueOf(scan.next());
A.addElement(number);
B.addElement(sign);
if (sign.equals("=")) { //сигнал для начала анализа векторов
double x = 0, num = 0;
x = Double.parseDouble(A.elementAt(0).toString()); //обозначили стартовую точку
for (int i = 1, j = 0; i < A.size(); i++, j++) {
num = Double.parseDouble(A.elementAt(i).toString());
if (B.elementAt(j).equals("+")) {
x += num;
}
if (B.elementAt(j).equals("-")) {
x -= num;
}
}
System.out.println("Result is: " + x);
//приводим в исходное состояние х и векторы А и В
x=0;
A.removeAllElements();
B.removeAllElements();
//добавляем возможность повторного использования программы
B: for(;true;){//бесконечный цикл for
System.out.println("Continue calculation? yes/no");
continued = String.valueOf(scan.next());
continued=continued.toLowerCase();//уменьшаем риск ошибки регистра
if("yes".equals(continued)){continue A;}
if("no".equals(continued)){break A;}
else
{
System.out.println("IO Error");
continue B;//не выходим из цикла В, пока не соблюдено условие
}
}//end for B
}
} //end while
}
}