将字符串数字字转换为字符串数字:Java
我是一名初级程序员,正在尝试使用单词转换器,它应该是这样工作的:Input=“零;六;八;二”Output=“0682”。但在我的例子中,我得到的输出是“0282”。有什么解决办法吗?或者我应该换个程序?。我发现LinkedList或HashMap可以工作,如果可以的话,你能告诉我怎么做吗
Scanner scanner = new Scanner(System.in);
String number = scanner.next();
while (true) {
String num = "";
if(number.contains("zero"))
num = num + "0";
if (number.contains("one"))
num = num + "1";
if (number.contains("two"))
num = num +"2";
if (number.contains("three"))
num = num + "3";
if(number.contains("four"))
num = num + "4";
if(number.contains("five"))
num = num + "5";
if(number.contains("six"))
num = num + "6";
if(number.contains("seven"))
num = num + "7";
if(number.contains("eight"))
num = num + "8";
System.out.println(number);
System.out.println(num);
break;
}
# 1 楼答案
在这里,我更喜欢使用
HashMap
。首先,您可以将数字映射初始化为文本,将数字映射为int
;就像那么你的
main
方法只需要参考这个Map
。但是,我也建议你在循环中阅读输入。将行转换为小写(以简化事情)。并提供终止循环的机制。比如# 2 楼答案
您应该在
;
上拆分分号分隔的输入,然后在循环中迭代每个术语:对于
zero;six;eight;two
的输入,这是上述脚本的输出: