我有一项任务要做。我需要将字母转换为电话号码。在第3个数字之后和每个后续4个数字之后添加连字符。然后我需要允许用户继续输入输入。 我已经完成了3/4的代码了。它不起作用。我只是坚持使用该部件来继续提示用户输入。 到目前为止这是我的java代码。请帮帮我,告诉我我的代码有什么问题。我是Java新手,请你好。谢谢!
fn do_something(word:&str) -> usize {
let mut seen_chars : HashMap<String,usize> = HashMap::new();
let mut answer : usize = 0;
for (i,c) in word.chars().enumerate() {
let char_str = c.to_string();
match seen_chars.get(&char_str) {
Some(&index) => {
answer = answer + index;
},
None => {seen_chars.insert(char_str,i);}
};
}
answer
}
答案 0 :(得分:0)
使用循环:
while (true)
{
System.out.println("Enter letters: ");
String phonenumber = input.next();
if something break;
或
while ((String phonenumber = input.next())!=null)
{
// ...
System.out.println("Enter letters: ");
}
答案 1 :(得分:0)
你的问题在这里:
System.out.println();
System.out.println("Enter letters: ");
input.nextLine(); // you forgot to assign the String returned by nextLine
// into your phone variable
除此之外,你应该在while循环的每次迭代中重置你的计数器。
while (!phone.equals("#")) {
int count = 0;
int prevCount = 0;
... your for loop ...
System.out.println();
System.out.println("Enter letters: ");
phone = input.nextLine();
}