java - 从同一输入行读取整数和字符串(java)

标签 java string int

好吧,所以我想知道如何从同一行读取整数和字符串?我举个例子: 如果我有 input=3K 如何使我的输出看起来像这样:3K=3000?

最佳答案

首先分解您的需求。

  • 您的输入值为[数字][修饰符]
  • 您需要从修饰符中提取数字
  • 您需要将修饰符应用于数字

如果您想要一个可变/灵活的解决方案,可以提供任何类型的修饰符,则需要确定用户输入的位数,然后确定修饰符。

一旦获得,您可以拆分String,将数字转换为int,并根据修饰符应用适当的计算...

Scanner kb = new Scanner(System.in);
String input = kb.nextLine();

int index = 0;
while (index < input.length() && Character.isDigit(input.charAt(index))) {
    index++;
}

if (index >= input.length()) {
    System.out.println("Input is invaid");
} else {
    String digits = input.substring(0, index);
    String modifier = input.substring(index);

    int value = Integer.parseInt(digits);
    switch (modifier.toLowerCase()) {
        case "k":
            value *= 1000;
            break;
        //...
        }

    System.out.println("Expanded value = " + value);
}

关于java - 从同一输入行读取整数和字符串(java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25798422/

相关文章:

java - 是否可以使用 jhipster 开发移动应用程序?

java - For 循环不终止

java - 如何使用 Unicode 将日语和英语分开

php - 如何在php中替换两个字符串之间的特定字符串

c - 我的 int 有什么问题吗?

c++ - 4 个 1byte char 到 1 个 4byte int?

java - 有什么方法可以监视Java中编译后的代码缓存吗?

java - 显式扩展对象类并调用对象抛出错误的克隆方法

c - C 中函数调用指针的问题

C:创建 String existing out of ints 和 chars