2013-02-19 23 views
0
case 1: 
if (text1Input.charAt(i+1) <= text1Input.length() && 
    Character.isUpperCase(text1Input.charAt(i+1))) 
{ 
    a += 60; 
    b += 100; 
} 
else 
{ 
    a += 55; 
    b += 60; 
} 
break; 

这行代码是否有意义?它不工作如何我想要它,并不能找出问题。代码旨在检查字符串中的下一个字符。如果该字符存在(意思还没有达到字符串的末尾),并且该字符是大写字母,则它使用这些坐标。否则,它使用其他的。我的问题是它总是使用后者而不管大小写。为什么`text.charAt(i + 1)<= text.length()`不起作用?

回答

4

线

text1Input.charAt(i+1) <= text1Input.length() 

没有意义。什么会更有意义,是

i+1 < text1Input.length() 

你在做什么,现在比较的text1Inputi+1个字符到它的长度,这是荒谬的ASCII值。 (你也应该使用i+1 < text1Input.length(),而不是<=。)

+0

是啊的。谢谢。 – 2013-02-19 20:24:03

7

你是一个性格比较到一个位置,这可能不是您所希望的东西,所以你可能会使用i+1代替x.charAt(i+1)

相关问题