【发布时间】:2016-06-22 17:30:01
【问题描述】:
我的程序旨在返回用户输入的任何字符串的反转版本,但如果字符串包含任何符号,它也应该报告错误输入。我似乎找不到办法做到这一点。顺便说一句,该程序带有一个 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);
}
}
【问题讨论】:
-
你能再扩展一点吗?我对 java 还很陌生
-
您传递给
contains的String是一个正则表达式。但是,contains不会将其视为一个;它将搜索您指定的确切字符。因此,除非字符串包含[\!\*\@\#\-\+\.\^\:\.\],否则它不会匹配,即使它包含这些字符之一。您应该使用我在上面发布的链接中提出的解决方案。 -
我查看了您发布的链接,但似乎答案适用于您想要查找某些单词但省略符号的情况。而不是自己查找符号并报告错误输入。