如何在while循环中验证多个数据?

时间:2015-10-23 04:01:22

标签: java

所以我使用while循环来检查用户输入的字符串是否为空字符串,如果是,则会导致错误,然后再次询问问题,如果有效则不重复。我得到了这个,但是如何检查一个字符串,然后检查60个字符串,与空字符串相同,并检查字符串是否以问号结尾。如何在循环中实现多项检查



while ( x.length() == 0||x.length >100){
            System.out.println("empty string not allowed .");
        	System.out.print( "ask another question: " );
        	x = scan.nextLine();
  
  
  }




所以我有一个循环检查多个条件,其中我有空字符串的错误消息,如果输入的字符串为空,大于100个字符,或者没有以问号结束,则打印输出。它会一直持续到输入有效的问题为止。如果输入空字符串或字符串大于100或字符串不以问号结尾,我将如何实现错误消息

2 个答案:

答案 0 :(得分:1)

你可以在条件检查中使用'或'。

while ( x.length() == 0 || x.length<60 || [Any other condition comes here]){
        System.out.println("empty string not allowed .");
        System.out.print( "ask another question: " );
        x = scan.nextLine();

希望这能回答你的问题。

答案 1 :(得分:0)

这应该可以解决你的目的

while( x.trim().length()==0 || x.length()>60 || !x.endsWith("?") 
||(x.length().trim()==1 && x.endsWith("?")) ) {
   System.out.println("empty string not allowed .");
   System.out.print( "ask another question: " );
   x = scan.nextLine();
}

最后一个条件是检查用户是否只输入“?”,然后再次循环以便让他询问带有内容的问题。所以实际上这个循环运行如果:
用户输入空字符串
用户输入超过60个字符
用户不会以“?”结束问题 用户只需输入'?'没有任何内容