我的程序是为了返回用户输入的任何字符串的反转版本,但是如果字符串包含任何符号,它也应该报告错误的输入。我似乎无法找到办法做到这一点。顺便说一下,该程序带有一个IO.java模块。这里是我的代码如果字符串包含字母和空格以外的任何其他字符,则报告输入错误?
public class ReverseWords{
public static void main(String [ ] args){
String word= IO.readString();
if(word.contains("[\\!\\*\\@\\#\\-\\+\\.\\^\\:\\.\\]")){
IO.reportBadInput();}
word = new StringBuffer(word).reverse().toString();
IO.outputStringAnswer(word);
}
}
['contains'需要一个文本字符串,不正则表达式。](http://stackoverflow.com/questions/15130309/how-to-use-regex-in-string-contains-method-in-java) – resueman
你可以扩大一点吗?我对java相当陌生 – lazepanda
您传递给'contains'的'String'是一个正则表达式。然而,'contains'不会把它当作一个;它会搜索您指定的确切字符。因此,除非字符串包含'[\!\ * \ @ \#\ - \。\]',否则它将不匹配,即使它包含其中一个字符。你应该使用我在上面发布的链接中提出的解决方案。 – resueman