继续提示用户输入

时间:2015-12-12 12:18:59

标签: java input user-input

我有一项任务要做。我需要将字母转换为电话号码。在第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
}

2 个答案:

答案 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();
}