本文介绍了从StdIn读取字符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

    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);

        }
    }

代码,我试图做一个计算器,使用字符和float数据类型的StdIn输入。

I need some help with this bit of code, I'm attempting to make a calculator that takes StdIn input with both character and float data types.

推荐答案

Scanner class。

像这样:

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);
}
}

我添加了一个开关盒而不是else ifs。

I added a switch case instead of the else ifs.

这篇关于从StdIn读取字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-23 19:33