2016-03-02 1 views
0

Я не знаю, является ли мой заголовок очень толковым. Я новичок в java (1 неделя). Если я неправильно использую некоторые слова или выражения, простите меня. xDКалькулятор, который регистрирует вычисления для печати по запросу

Я только что сделал свой калькулятор. Я сделал это практически без помощи других источников. Приятно начинать запоминать синтаксис Java самостоятельно. : D

Это код калькулятора я сделал:

// Calc with the switch statement. 

импорта java.util.Scanner;

общественного класса Calcswitch { государственной статической силы основных (String [] арг) {

// Different variables 

    Scanner input = new Scanner(System.in); 

    double fnum = 0; 
    double snum = 0; 
    double answer = 0; 
    int whatOperation; 

    String finalquestion = ""; 
    boolean calculateAgain = true; // Goes inside the while loop 


    while (calculateAgain) { 
    // Ask what type of calculation you want to perform. 
    System.out.println("\n"); 
    System.out.println("Press 1 for +"); 
    System.out.println("Press 2 for -"); 
    System.out.println("Press 3 for *"); 
    System.out.println("Press 4 for /"); 

    whatOperation = input.nextInt(); 


    switch (whatOperation) { 

    case 1: 
     // Addition 
     System.out.print("Enter first number: "); 
     fnum = input.nextInt(); 
     System.out.print("Enter second number: "); 
     snum = input.nextInt(); 

     System.out.print("The result is: "); 
     System.out.print(fnum + snum); 
     break; 

    case 2: 
     // Subtraction 
     System.out.print("Enter first number: "); 
     fnum = input.nextInt(); 
     System.out.print("Enter second number: "); 
     snum = input.nextInt(); 

     System.out.print("The result is: "); 
     System.out.print(fnum - snum); 
     break; 

    case 3: 
     // Multiplication 
     System.out.print("Enter first number: "); 
     fnum = input.nextInt(); 
     System.out.print("Enter second number: "); 
     snum = input.nextInt(); 

     System.out.print("The result is: "); 
     System.out.print(fnum * snum); 
     break; 

    case 4: 
     // Division 
     System.out.print("Enter first number: "); 
     fnum = input.nextInt(); 
     System.out.print("Enter second number: "); 
     snum = input.nextInt(); 

     System.out.print("The result is: "); 
     System.out.print(fnum/snum); 
     break; 

     default: 
      System.out.print("You have entered an invalid number. "); 
      break; 

     } 

    // Asks if you want to use the Calculator again 
    System.out.print("\n\nDo you want to use the calculator again? Yes/No: "); 
    finalquestion = input.next(); 

    // If no, the string calculateAgain goes false, and exit the while loop. 
    if (finalquestion.equalsIgnoreCase("no")) { 


     calculateAgain = false; 


    } 


    } 

    // After the while loop. 
    System.out.println("Thank you for using this calculator"); 
} 

}

Теперь я хочу осуществить аккуратную особенность, которая регистрирует ответы. Если пользователь хочет увидеть свои расчеты с тех пор, как начал использовать программу, он сможет это сделать, написав «журнал» или что-то подобное.

Проблема есть. Я не уверен, как я могу зарегистрировать ответы. Один из способов сделать это - сделать много строк и оставить их пустыми. Однако, я думаю, это было бы не очень динамично. И что произойдет, если у меня будет 10 объявленных строк для регистрации, но пользователь выполнил 15 вычислений? Это не сработает.

Есть ли у java метод регистрации ввода пользователя и хранить их динамически, что легко вспомнить позже?

ответ

0

насчет одна большая строка, добавить новую строку для каждого входа

String LOG = "LOG INFO"; 

// WHEN YOU WANT TO ADD A LOGENTRY TO YOUR LOG 
String NewLogEntry = "REPLACE_WITH_YOUR_LOG_INFO"; 
LOG = LOG + /n + NewLogEntry; 
+1

Genius! Это не так. Это так же, как вчера я сделал свой счетчик. Double total = total + newsum – Hhhfpe

+0

Спасибо, я рад, что смогу помочь. –

 Смежные вопросы

  • Нет связанных вопросов^_^