Я должен записать/показать ввод моего результата (калькулятора) в файл журнала... например: results.txt Но если я сделаю более 1 вычисления... только последний будет напечатан в results.txt.
public class Calculator {
public static void main(String[] args) throws FileNotFoundException {
String filename = "results.txt";
//PrintWriter output = new PrintWriter(filename);
int number1;
int number2;
char mathchoice;
int result;
char userchoice;
do {
PrintWriter output = new PrintWriter(filename);
Scanner choice = new Scanner(System.in);
System.out.println("Enter first number...");
number1 = choice.nextInt();
System.out.println("Math choice...");
mathchoice = choice.next().charAt(0);
System.out.println("Enter second number...");
number2 = choice.nextInt();
if (mathchoice == '+') {
result = number1 + number2;
System.out.println("Result is: " + result);
output.print("Result is: " + result);
} else if (mathchoice == '-') {
result = number1 - number2;
System.out.println("Result is: " + result);
output.print("Result is: " + result);
} else if (mathchoice == '*') {
result = number1 * number2;
output.print("Result is: " + result);
System.out.println("Result is: " + result);
} else if (mathchoice == '/') {
if (number2 == 0) {
throw new java.lang.ArithmeticException("Devided by zero not aloud");
} else {
result = number1 / number2;
output.print("Result is: " + result);
System.out.println("Result is: " + result);
}
} else if (mathchoice == '%') {
result = number1 % number2;
output.print("Result is: " + result);
System.out.println("Result is: " + result);
} else if (mathchoice == '^') {
result = (int) Math.pow(number1, number2);
output.print("Result is: " + result);
System.out.println("Result is: " + result);
} else {
System.out.println("Wrong choice");
}
output.close();
System.out.println("Again?");
userchoice = choice.next().charAt(0);
}while (userchoice == 'j');
}
}
Я добавил output.close() в конце lus. Но я получаю только последний расчет.