如何从扫描仪库中读取任何用户输入?

时间:2016-01-29 04:47:54

标签: java java.util.scanner

我对java很新,所以不要认为这是一个白痴。无论如何,我一直试图制作一个程序,可以从控制台读取某个字母,然后决定使用哪个操作,让我们说添加。但是,我无法获得一个If循环来读取决定使用哪个运算符的变量,这里是代码,请帮忙。

import java.util.Scanner;


class Main {

  public static void main(String[] args) {
       Scanner user_input = new Scanner( System.in );
        int number;
        String function;
        System.out.println("What Do You Want to Do? (a to add; s to" + 
       " subrtact; d to divited; m to multiply, and sq to square your nummber.)" );
        function = user_input.next();
        if (function == "sq"){
            System.out.print("Enter your number: ");
            number = user_input.nextInt();
            System.out.print(number * number);
        } else {
            System.out.println("Unidentified Function!");
  }
}
}

(我使描述更短,以便适合)。

3 个答案:

答案 0 :(得分:1)

这只是让你开始正确方向的一个例子。

import java.util.Scanner;

public class Example {

    public static void main(String[] args) {
        Scanner user_input = new Scanner(System.in);
        int num1, num2, result;

        System.out.println("What Do You Want to Do? (a to add; s to"
                + " subrtact; d to divited; m to multiply, and s to square your nummber.)");

        String choice = user_input.next();

        // Add
        if (Character.isLetter('a')) {
            System.out.println("Enter first number: ");
            num1 = user_input.nextInt();
            System.out.println("Enter second number: ");
            num2 = user_input.nextInt();

            result = num1 + num2;
            System.out.println("Answer: " + result);
        }
    }
}

答案 1 :(得分:0)

如果在扫描仪上使用hasNext(),它将等待输入,直到您停止程序。同样使用equals()是比较字符串的更好方法。

while(user_input.hasNext()){
                function = user_input.next();
                if (function.equals("s")){
                    System.out.print("Enter your number: ");
                    number = user_input.nextInt();
                    System.out.print(number * number);
                } else {
                    System.out.println("Unidentified Function!");
                }
            }

答案 2 :(得分:0)

 Scanner s = new Scanner(System.in);
    String str = s.nextLine();
int a=s.nextInt();
int b=s.nextInt();
    if(str.equals("+"))
    c=a+b;
    else if(str.equals("-"))
    c=a-b;
    else if(str.equals("/"))
    c=a/b;
    // you can add operators as your use
    else
    System.out.println("Unidentified operator" );

我希望它有所帮助!