这不符合我的预期。样本输入将包括一个类似于0或1的星号。其余的是比较以查看数字是否匹配。当我试图查看一个字符是否为星号时,它不会像我期望的那样工作。
样品:
org = * 01
位= 001 || 101 || 011
public static void doesItWork(String org, String bit)
{
for(int i = 0; i <= org.length() - 1; i++)
{
System.out.println(org.substring(i, i + 1));
if(org.substring(i, i + 1) != "*" && org.substring(i, i + 1) != bit.substring(i, i + 1))
break;
if(i == org.length() - 1)
System.out.println(bit);
}
}
谢谢你的帮助。
答案 0 :(得分:7)
!=
上的 String
无法按照您的意愿执行操作。 Java String.equals versus ==解释,但简而言之,
org.substring(i, i + 1) != "*"
应该是
!org.substring(i, i + 1).equals("*")
或理想情况
org.charAt(i) != '*'
答案 1 :(得分:0)
!=使用Strings可能不是个好主意。试试!x.equals(“*”);