Java 如何按用户检查字符串是否包含给定单词的字母
如何检查字符串是否包含用户喜欢的给定单词的字母Java 如何按用户检查字符串是否包含给定单词的字母,java,string,letter,contain,Java,String,Letter,Contain,如何检查字符串是否包含用户喜欢的给定单词的字母 Enter the pattern string: shl Enter a string: school shl occurs in ”school” Enter a string: okul shl does NOT occur in ”okul” Enter a string: salaries are neither high nor low shl occurs in ”salaries are neither high nor
Enter the pattern string: shl
Enter a string: school
shl occurs in ”school”
Enter a string: okul
shl does NOT occur in ”okul”
Enter a string: salaries are neither high nor low
shl occurs in ”salaries are neither high nor low”
Enter a string: This is a good school, isn’t it?
shl occurs in ”This is a good school, isn’t it?”
Enter a string: I love programming
shl does NOT occur in ”I love programming”
if (occursIn(pattern,str)){
System.out.println(pattern + " occurs in " + str);
}
else{
System.out.println(pattern + " does not occurs in " + str);
}
public static boolean occursIn(String pattern, String str){
for(int i=0;pattern.charAt(i)<=str.length();i++){
if(str.contains(pattern.charAt(i))){
return true;
}
else {
return false;
}
}
输入模式字符串:shl
输入字符串:school
shl发生在“学校”
输入一个字符串:okul
shl不会出现在“okul”中
输入字符串:工资既不高也不低
shl出现在“工资不高也不低”中
输入字符串:这是一所好学校,不是吗?
shl出现在“这是一所好学校,不是吗?”
输入字符串:我喜欢编程
shl不会出现在“我爱编程”中
if(发生(模式,str)){
System.out.println(模式+”出现在“+str”中);
}
否则{
System.out.println(模式+”不出现在“+str”中);
}
公共静态布尔占位符(字符串模式,字符串str){
对于(int i=0;pattern.charAt(i),请检查以下代码(我已经测试过):
你回来得太快了。顺便说一句,有更干净的方法可以做到这一点,但我只是在调整你的代码示例
public static boolean occursIn(String pattern, String str){
boolean allLettersFound = true;
for(int i=0;pattern.charAt(i)<=str.length();i++){
if(!str.contains(pattern.charAt(i))){
allLettersFound = false;
break;
}
}
return allLettersFound;
}
公共静态布尔占位符(字符串模式,字符串str){
布尔allLettersFound=true;
对于(int i=0;pattern.charAt)(i)请自己尝试,如果您无法解决它,请发布您的尝试,然后我们可以帮助您。它仍然会在for循环中给出关于“contains”的错误。类型字符串中的方法contains(CharSequence)不适用于参数(char)试试@Tsung Ting Kuo的解决方案。他说他已经测试过了,我刚刚解决了提前返回的问题。非常感谢您的帮助。我想再问您一个问题,如果模式中包含像“*”这样的野生字符除了任何其他字符。通配符的每次出现都代表一个字符序列。代码可以是什么样的?shl出现在love ssh中,shl也出现在love ssh中我只想忽略“*”符号你在吗?我只想添加“*(星)”字符作为通配符。我的意思是*出现在每个字符中。shl也应该出现在love ssh中。这是我最后一次想知道它是如何工作的。谢谢你的帮助。我将向你发送所有信息以编写此代码。2.编写一个程序,从用户处请求模式字符串。该模式包括通配符“*”以及任何其他字符。每出现一个通配符都代表一个字符序列。获取模式后,程序会连续请求用户输入一个字符串,并使用公共静态布尔occursIn(string pattern,string str)方法检查该模式是否出现在字符串中.当用户输入“退出”时,程序将退出。
s*h*l occurs in love hss
public static boolean occursIn(String pattern, String str){
boolean allLettersFound = true;
for(int i=0;pattern.charAt(i)<=str.length();i++){
if(!str.contains(pattern.charAt(i))){
allLettersFound = false;
break;
}
}
return allLettersFound;
}