Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅由字母、空格、连字符和单引号组成的字符串_Java_String - Fatal编程技术网

Java 仅由字母、空格、连字符和单引号组成的字符串

Java 仅由字母、空格、连字符和单引号组成的字符串,java,string,Java,String,我是编程新手,我想做一个关于某件事的程序,在这个程序中,人必须输入一个名字,他们的名字可以由字母、空格、单引号和连字符组成。如果名称包含非法字符,用户必须重新输入名称。我想使用for循环对此进行编码,如何实现它?您可以定义一个自定义方法来检查字符串是否合法。可以使用charAtint方法检查每个字符,也可以使用java的character.isleterchar方法检查它是否是字母。 例如 有很多方法,你试过什么?我明白了,我可以在后面添加一个do-while循环吗? public boolea

我是编程新手,我想做一个关于某件事的程序,在这个程序中,人必须输入一个名字,他们的名字可以由字母、空格、单引号和连字符组成。如果名称包含非法字符,用户必须重新输入名称。我想使用for循环对此进行编码,如何实现它?

您可以定义一个自定义方法来检查字符串是否合法。可以使用charAtint方法检查每个字符,也可以使用java的character.isleterchar方法检查它是否是字母。 例如


有很多方法,你试过什么?我明白了,我可以在后面添加一个do-while循环吗?
public boolean checkString(String str) {
    for (int i = 0; i < str.length(); i++) {
        if (!(Character.isLetter(str.charAt(i)) || 
              str.charAt(i) == ' ' || 
              str.charAt(i) == '-' || 
              str.charAt(i) == '\'')) 
        {
            System.out.println("Re-enter the string");
            return false;
        } else {
            return true;
        }
    }
}