我是一位初学者编码器,试图在转换器上处理应该以这种方式工作的单词:输入=“零;六;八;二”输出=“ 0682”。但是在我的情况下,我得到的输出是“ 0282”。有什么解决办法吗?还是像我应该编程不同?我发现LinkedLists或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;
}
答案 0 :(得分:1)
您应该在;
上用分号分隔输入,然后循环遍历每个术语:
Scanner scanner = new Scanner(System.in);
String input = scanner.next();
String[] nums = input.split(";");
String num = "";
for (String number : nums) {
if ("zero".equals(number))
num = num + "0";
else if ("one".equals(number))
num = num + "1";
else if ("two".equals(number))
num = num + "2";
else if ("three".equals(number))
num = num + "3";
else if ("four".equals(number))
num = num + "4";
else if ("five".equals(number))
num = num + "5";
else if ("six".equals(number))
num = num + "6";
else if ("seven".equals(number))
num = num + "7";
else if ("eight".equals(number))
num = num + "8";
else if ("nine".equals(number))
num = num + "9";
}
System.out.println("input: " + input);
System.out.println("output: " + num);
对于zero;six;eight;two
的输入,这是上述脚本的输出:
input: zero;six;eight;two
output: 0682
答案 1 :(得分:1)
在这里我更喜欢使用Edge e1_2 = Edge(vertices[0], vertices[1]);
。首先,您 可以 将数字映射初始化为文本,将数字映射为HashMap
;喜欢
int
然后,您的private static Map<String, Integer> digitDict = new HashMap<>();
static {
digitDict.put("zero", 0);
digitDict.put("one", 1);
digitDict.put("two", 2);
digitDict.put("three", 3);
digitDict.put("four", 4);
digitDict.put("five", 5);
digitDict.put("six", 6);
digitDict.put("seven", 7);
digitDict.put("eight", 8);
digitDict.put("nine", 9);
}
方法只需要参考此main
。但是,我也建议您循环阅读输入。将行转换为小写(以简化操作)。并提供终止循环的机制。像
Map