java - 识别java中的空格

标签 java

我是新手,我开始尝试一些东西,所以我制作了一个只需要一行的计算器。当我以这种格式进行操作时它会起作用:Int space String space int。 EG:10 + 50。如果我不做像 50+50 这样的空格,程序就会失败。有什么办法可以识别 Java 中的空格吗?请记住,我是一个菜鸟,但我发现我做得很好,这让我保持动力。这是代码:

package Tests;

import java.util.Scanner;

public class Calculator {

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);

    System.out.println("Enter your values : ");
    int first = input.nextInt();
    String character = input.next();
    int second = input.nextInt();
    int answer = 0;


    switch (character) {
    case "*":
        answer = first * second;
        break;
    case "/":
        answer = first/second;
        break;
    case "-":
        answer = first-second;
        break;
    case "+":
        answer = first+second;
        break;
    default:
        System.out.println("Failed to recognise character");
        break;

    }

    System.out.println("Answer : " + answer);
}
}

最佳答案

Scanner#next根据您在创建 Scanner 对象时设置的分隔符,从输入字符串中读取下一个标记。默认定界符是空格,因此当您分隔操作数和运算符时,您的程序会正确处理它们。您可以将扫描器的分隔符设置为运算符。

Scanner input = new Scanner(System.in);
input.useDelimiter("\+|\-|\*|\\");

您的程序将正常运行。

关于java - 识别java中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20155111/

相关文章:

java - 死 Java 线程和 native 操作系统线程

Java - 哪个版本也构建了 .jar 文件?

java - 用范围内的随机数字填充数组

java - 实体必须被管理才能调用删除?

java - 将 double 序列化为字符串并再次返回的最佳方法是什么?

java - java中字符串是如何传入方法的(就内存而言)

java - 如何在grails中显示我们使用groovy运行SQL语句得到的日期?

java - String[] 常量自动排序?如何保持索引顺序?

java - 如何计算地球上某个地方与太阳的夹角?

java - Spring:当 Web 应用程序启动和停止时更新 DB 表条目