Java 如何修复作为junit测试运行的解决方案代码
这是我的解决方案代码,没有问题Java 如何修复作为junit测试运行的解决方案代码,java,junit,c,Java,Junit,C,这是我的解决方案代码,没有问题 public boolean hasAdjacentRepeats(String s){ for(int i = 0; i<s.length(); i++){ if(s.charAt(i) == s.charAt(i + 1)){ return true; } } return false; } }
public boolean hasAdjacentRepeats(String s){
for(int i = 0; i<s.length(); i++){
if(s.charAt(i) == s.charAt(i + 1)){
return true;
}
}
return false;
}
}
第一个错误是正确的。eclipse显示更改类型应为布尔值
第二个错误是intactual=s.hasAdjacentRepeats(输入)
与上述问题相同
因此,我不知道修复我的解决方案代码的合适方式是什么。Java不支持从
boolean
到int
的隐式转换(例如,这样做)。因此,expected
和actual
都应该定义为boolean
s,而不是int
s
另一方面,由于您正在计算
s.charAt(i+1)
,因此循环应该以s.length()-1
结束,而不是s.length()
,否则您将得到索引自动边界异常
您知道int
的意思吗?非常感谢您,我完全解决了我的问题!!
@Test public void tests6(){
code.Solution s = new code.Solution();
String input = "hhhhhey ";
int expected = true;
int actual = s.hasAdjacentRepeats(input);
assertTrue("Expected was" +true+"but the actual was" +false , expected == actual);