2

Double 値を操作して実行する単純な電卓を作成しようとしています。

+

-

*

/

否定

^2

なんらかの理由で、プログラムを実行するときに指定した操作が加算関数を実行します。だから私がやろうとすると

5 7 *

35ではなく12.0を取得します。

助言がありますか?

また、「終了」という単語が入力されたときにこのプログラムを終了する方法を実装するための助けが本当に欲しいです。System.exit(0); のようなものを考えていました。

しかし、実装方法がわかりません。これはこれまでの私のコードです:

import java.util.Scanner;

public class Calc {

public static void main(String[] args) 
{
    double num1;
    double num2;
    String operation;


    Scanner input = new Scanner(System.in);

    System.out.println ("Enter 'exit' to quit the calculator or 'help' for more options");
    System.out.println("Enter the first number:");
    num1 = input.nextInt();


    System.out.println ("Display:" +  num1);

    System.out.println("Enter the second number:");
    num2 = input.nextInt();

    System.out.println ("Display:" + num2);

    Scanner op = new Scanner(System.in);


    System.out.println("Please enter operation:");
    operation = op.next();

    if (operation == "+");
    {
        System.out.println((num1 + num2));
    }
    if  (operation == "-"){
    {
        System.out.println((num1 - num2));
    }

    if (operation == "/"){
    {
        System.out.println((num1 / num2));
    }
    if (operation == "*"){
    {
        System.out.println((num1 * num2));

    }

    }

    }       
4

4 に答える 4

0

==この方法を試してくださいuseを使用する代わりに.equals()

import java.util.Scanner;

public class Calc {

public static void main(String[] args) 
{
    double num1;
    double num2;
    String operation;


    Scanner input = new Scanner(System.in);

    System.out.println ("Enter 'exit' to quit the calculator or 'help' for more options");
    System.out.println("Enter the first number:");
    num1 = input.nextInt();


    System.out.println ("Display:" +  num1);

    System.out.println("Enter the second number:");
    num2 = input.nextInt();

    System.out.println ("Display:" + num2);

    Scanner op = new Scanner(System.in);


    System.out.println("Please enter operation:");
    operation = op.next();

    if (operation.equals("+"))
    {
        System.out.println((num1 + num2));
    }
    if  (operation.equals("-"))
    {
        System.out.println((num1 - num2));
    }

    if (operation.equals("/")){
    {
        System.out.println((num1 / num2));
    }
    if (operation.equals( "*")){
    {
        System.out.println((num1 * num2));

    }

    }

    }       
于 2013-10-10T07:09:12.180 に答える
0

に変更operation ==してくださいoperation.equals("your value")

于 2013-10-10T07:10:28.303 に答える