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

时间:2014-09-11 23:17:14

标签: java string int

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

2 个答案:

答案 0 :(得分:1)

首先打破你的要求。

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

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

完成后,您可以拆分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);
}

答案 1 :(得分:0)

String input = "3k";

String output = input.replaceAll("[Kk]", "000");

int outputAsInt = Integer.parseInt(output);