所以,我输入了两个字符串,并且在mString中查找了subString。当我将方法更改为boolean时,它返回true或false的正确输出(通过在contains语句上使用return)。
我不知道如何使用该语句来检查包含运算符的结果。我完成了以下工作。
public class CheckingString
{
public static void main(String[] args)
{
// adding boolean value to indicate false or true
boolean check;
// scanner set up and input of two Strings (mString and subString)
Scanner scan = new Scanner(System.in);
System.out.println("What is the long string you want to enter? ");
String mString = scan.nextLine();
System.out.println("What is the short string that will be looked for in the long string? ");
String subString = scan.nextLine();
// using the 'contain' operator to move check to false or positive.
// used toLowerCase to remove false negatives
check = mString.toLowerCase().contains(subString.toLowerCase());
// if statement to reveal resutls to user
if (check = true)
{
System.out.println(subString + " is in " + mString);
}
else
{
System.out.println("No, " + subString + " is not in " + mString);
}
}
}
有没有办法让检查字段正常工作以在if-else语句中返回一个值?
答案 0 :(得分:5)
if (check = true){
应该是:
if (check == true){
通常你会写:
if(check)
检查是否真实
和
if(!(check))
或:
如果(!检查)
检查是否错误。
答案 1 :(得分:5)
琐碎的错误:
将if(check = true)
更改为if(check == true)
或仅if (check)
通过执行check = true
,您指定为true以进行检查,因此条件if(check = true)
将始终为真。
答案 2 :(得分:0)
在if语句中使用布尔变量的首选方法是
if (check)
请注意,您不需要使用等于运算符,这可以避免您所犯的错误。
答案 3 :(得分:0)
试试吧
if (check) {
System.out.println(subString + " is in " + mString);
} else {
System.out.println("No, " + subString + " is not in " + mString);
}