-4
    public class New
    {
        public static void main(String[] args)
        {
            System.out.println("Calculator");

            float a = StdIn.readFloat(); 
            char sign = StdIn.readChar();
            float b = StdIn.readFloat();
            float c = 0;

            if (sign == '+')    c = a+b;
            else if (sign == '-')   c = a-b;
            else if (sign == 'x')   c = a*b;
            else if (sign == '/')   c = a/b;

            System.out.println(c);

        }
    }

我需要一些关于这段代码的帮助,我正在尝试制作一个计算器,该计算器采用字符和浮点数据类型的 StdIn 输入。

4

1 回答 1

1

试听Scanner课。

像这样:

import java.util.Scanner;

public class New
{

public static void main(String[] args)
{
    System.out.println("Calculator");

    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter Parameter ");
    System.out.print("a      : ");
    float a = scanner.nextFloat();

    System.out.print("+|-|*|/: ");
    String op = scanner.next();

    System.out.print("b      : ");
    float b = scanner.nextFloat();
    float c = 0;

    switch (op)
    {
        case "+":
            c = a + b;
            break;

        case "-":
            c = a - b;
            break;

        case "*":
            c = a * b;
            break;

        case "/":
            c = a / b;
            break;

        default:
            System.out.println("Illegal operant");
    }

    System.out.println("Result: " + c);
}
}

我添加了一个 switch case 而不是 else ifs。

于 2013-09-08T21:23:09.653 回答