java - Keep adding two numbers until the input is not a double type -


i trying make simple calculator program user enters 2 values, method add() called operations class , values added , result displayed. , using while loop in user keeps entering values added last total , result displayed. has keep running unless user enters input not of type double.

import java.util.scanner;  public class app {     public static void main(string[] args) {         scanner input = new scanner(system.in);          system.out.println("enter first number: ");         double number = input.nextdouble();          system.out.println("enter second number: ");         double number2 = input.nextdouble();          double total = operations.add(number, number2);         system.out.println(total);          system.out.println("enter number again: );         number2 = input.nextdouble();          {             total = operations.add(total, number2);             system.out.println(total);             system.out.println("enter number again: ");             number2 = input.nextdouble();         } while (input.hasnextdouble());          system.out.println("exit.");     } } 

and here operations class

public class operations {     public static double add(double n1, double n2) {         return n1 + n2;     } } 

it adds first 2 values, , displays result. asks value again, user inputs, , displays result. here on there problem somewhere have tried hard figure out couldn't so. please on code , tell me problem is. in while loop doing wrong.

output:

enter first number:

5

enter second number:

2

7.0

enter number again:

1

8.0

enter number again please:

2

here program running nothing when press 2. if example press 6 again, still add 2 (which entered before) total , display that

6

10.0

enter number again please:

your issue lies order in things occurring. want prompt , input @ beginning of do-while:

    {       system.out.println("enter number again: ");       number2 = input.nextdouble();       total = operations.add(total, number2);       system.out.println(total);     } while (input.hasnextdouble()); 

this makes first re-prompt , re-input redundant, final class looks like:

    public static void main(string[] args) {       scanner input = new scanner(system.in);        system.out.println("enter first number: ");       double number = input.nextdouble();        system.out.println("enter second number: ");       double number2 = input.nextdouble();        double total = operations.add(number, number2);       system.out.println(total);        {         system.out.println("enter number again: ");         number2 = input.nextdouble();         total = operations.add(total, number2);         system.out.println(total);       } while (input.hasnextdouble());        system.out.println("exit.");     } 

Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

[C++][SFML 2.2] Strange Performance Issues - Moving Mouse Lowers CPU Usage -