如何告诉用户他们之前输入的字母是indexOf? JAVA

时间:2013-12-12 17:43:59

标签: java string if-statement char indexof

当用户输入一个字母时,它每次都会被添加到newString中。如果用户多次输入相同的字母,如何返回错误消息?

例如,用户输入:ab,然后c 然后newString = "abc"

我无法弄清楚如何检查用户是否已经输入了一封信。 例如,如果他们再次输入,则应返回错误消息。

这是我到目前为止所拥有的:

if (newString.indexOf(input) != -1 ) {
    System.out.println( "Invalid" );
}

我想它会起作用,因为它正在通过newString查看输入,如果它没有,它将返回-1

5 个答案:

答案 0 :(得分:1)

如果我正确理解您的问题,我相信您可以使用字符串contains方法来检查字母。它会是这样的:

if(newString.contains(letter))

答案 1 :(得分:1)

使用contains

String s = "helo";

if (s.contains(input)){
    // reject
}

if (!s.contains(input)){   // if string does not contain input
    s += input;            // concatenate to string
}

答案 2 :(得分:0)

试试这个

public static void main(String [] args)抛出IOException {

    String newString = "";
    System.out.print("Enter letter: ");
    BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
    String input = br.readLine().toUpperCase();
    while(true){
    if (newString.contains(input)) 
    { System.out.println( "Invalid" );}
    else
    {
        newString = newString+ input;
    }
    input = br.readLine().toUpperCase();
    }
}

答案 3 :(得分:0)

每次用户输入字符时,请检查String中现有字符的字符。因此,每次用户输入角色时,请执行以下操作:

for (int i = 0; i < newString.length(); i++) {
    if (newString.charAt(i) == input) {
        System.out.println("Invalid");
    }
    else {
        System.out.println("Valid");
    }
}

答案 4 :(得分:0)

试试这个

if(newString.indexOf(letter) != -1){
      //Invalid             
}
相关问题