我的程序不打印没有 'g' and/or 'n' 的字符串。为什么会这样?
My program is not printing the string without 'g' and/or 'n'. Why is it so?
这是我的代码:
public class test
{
public static void main(String y)
{
int l =y.length();
for(int i=0;i<=l-1;i++)
{
if(y.charAt(i)!='g'||y.charAt(i)!='n')
System.out.print(y.charAt(i));
else
continue;
}}
}
我认为 && 会起作用。
或运算符检查是否只有一个语句为真。
因此,结果将始终为真,输入字符串与输出字符串相同。
问题是您使用了 OR (||) 而不是 AND (&&)
此代码将始终 return 正确:
(y.charAt(i)!='g' || y.charAt(i)!='n')
试试这个:
public class test
{
public static void main(String y)
{
int l =y.length();
for(int i=0;i<=l-1;i++)
{
if(y.charAt(i)!='g' && y.charAt(i)!='n')
System.out.print(y.charAt(i));
else continue;
}
}
}
试试这个:
public class test
{
public static void main(String y)
{
int l =y.length();
for(int i=0;i<=l-1;i++)
{
if( y.charAt(i) == 'g'|| y.charAt(i) == 'n'){
continue;
} else {
System.out.print(y.charAt(i));
}
}
}
}
这是我的代码:
public class test
{
public static void main(String y)
{
int l =y.length();
for(int i=0;i<=l-1;i++)
{
if(y.charAt(i)!='g'||y.charAt(i)!='n')
System.out.print(y.charAt(i));
else
continue;
}}
}
我认为 && 会起作用。 或运算符检查是否只有一个语句为真。 因此,结果将始终为真,输入字符串与输出字符串相同。
问题是您使用了 OR (||) 而不是 AND (&&)
此代码将始终 return 正确:
(y.charAt(i)!='g' || y.charAt(i)!='n')
试试这个:
public class test
{
public static void main(String y)
{
int l =y.length();
for(int i=0;i<=l-1;i++)
{
if(y.charAt(i)!='g' && y.charAt(i)!='n')
System.out.print(y.charAt(i));
else continue;
}
}
}
试试这个:
public class test
{
public static void main(String y)
{
int l =y.length();
for(int i=0;i<=l-1;i++)
{
if( y.charAt(i) == 'g'|| y.charAt(i) == 'n'){
continue;
} else {
System.out.print(y.charAt(i));
}
}
}
}