为字符循环检查字符串
问题描述:
我需要验证用户输入字符串以确保它包含逗号。如果它不包含逗号,则它必须打印“错误”并允许用户重新输入。我只是不确定要使用哪个循环。如果其他人可以工作,但我需要它循环回扫描仪以供用户输入。或者使用.contains的while循环?谢谢。为字符循环检查字符串
答
如果你想使用一个循环,我推荐for-each循环:
boolean found = false;
while (found == false) {
String input = "this is a sentence, with a comma"; // read input here
for (char ch: input.toCharArray()) {
if (ch == ',') {
found = true;
}
}
if (found == false) {
System.out.println("Error");
}
}
有可能会是“(字符)string.contains”内置在Java中此功能,如返回布尔值
input.contains(",")
答
for循环将最适合这种情况。但是你可以使用任何你喜欢的循环来解决这个问题。使用循环
解决方案可以说你得到的字符串是在一个变量字符串1
enterdata: //ask for user to enter the string here
for(int i=0;i<string1.length();i++){
char c = string1.charAt(i);
if(",".equals(c))
continue correct;
}
if(true) continue enterdata; //this is just like goto statement
correct:
//write your code here
+0
其中'c'是'char','“,”。equals(c )'永远不可能是真的。字符串永远不会等于'char'。 – khelwood
+0
它会工作,如果我与==而不是等于比较? –
您已经添加标签!至少尝试一次。 问题要求我们推荐或找到一本书,工具,软件库,教程或其他非本地资源,因为它们倾向于吸引自以为是的答案和垃圾邮件,所以不适合堆栈溢出。相反,请描述问题以及到目前为止解决问题所做的工作。 – nullpointer
如果你搜索,你会发现很多关于循环输入验证的问题。是的,使用['String.contains'](http://docs.oracle.com/javase/8/docs/api/java/lang/String.html#contains-java.lang.CharSequence-) – khelwood