Calculatrice Java basic CLI


Je veux faire une calculatrice pour les opérations mathématiques de base. Si l'utilisateur entre un autre caractère plutôt que/,*, -, + le programme doit quitter. mais l'utilisateur ne peut quitter qu'en entrant un autre caractère. programme doit re afficher le menu principal. J'ai essayé plusieurs fois de ne passer que des opérations mathématiques. Mais je ne peux pas penser à un moyen de le faire.

Ceci est mon code

package com.cv;

import java.util.Scanner;

class Q_04 {
    public static double math(double x, double y, char a) {
        if (a == '/') {
            return x / y;
        } else if (a == '*') {
            return x * y;
        } else if (a == '+') {
            return x + y;
        } else if (a == '-') {
            return x - y;
        }
        return a;
    }

    public static void main(String[] argv) {
        System.out.println(
                "\t*:For multiplication\n\t/:For division\n\t+:For addition\n\t-:For substraction\n\tAny other character:To exit mathematical operation");
        Scanner sc = new Scanner(System.in);
        String z = sc.nextLine();
        char a = z.charAt(0);
        System.out.print("Enter Number 1: ");
        double x = sc.nextDouble();
        System.out.print("Enter Number 2: ");
        double y = sc.nextDouble();
        double result = 0;
        System.out.println("Answer is " + math(x, y, a));
    }
}
Author: Jerry Stratton, 2016-08-19

1 answers

Je ne vais pas taper de code mais j'écrirai l'idée générale. Ayez d'abord une boucle while qui obtiendra l'opérateur. Si l'opérateur est valide, faites break; sinon il répétera l'entrée. Simplement faire cela résoudra votre problème. Le reste du code suivra ensuite. Faites attention à la portée (c'est-à-dire, déclarer des variables entre crochets).

Modifier: Si vous voulez casser le programme, ajoutez simplement une instruction if if (!(operator.equals("*") || operator.equals("+") ... etc. Aussi, si vous voulez vraiment belle conception, vous pouvez utiliser un hashset pour stocker les opérations.

 1
Author: MathBunny, 2016-08-19 18:52:25