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;

このコード行は意味がありますか? 思い通りに動かず、問題が解りません。このコードは、文字列内の次の文字をチェックするためのものです。文字が存在し (文字列の末尾に達していないことを意味します)、文字が大文字の場合、これらの座標が使用されます。それ以外の場合は、他のものを使用します。私の問題は、大文字と小文字に関係なく常に後者を使用することです。

4

2 に答える 2

7

文字を場所と比較していますが、これは意図したものではない可能性があるため、i+1代わりに使用できますx.charAt(i+1)

于 2013-02-19T20:21:37.933 に答える
4

この線

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

意味を成さない。もっと理にかなっているのは

i+1 < text1Input.length()

あなたが今行っていることは、 のi+1番目の文字のASCII 値text1Inputをその長さと比較していますが、これは無意味です。i+1 < text1Input.length()(ではなく、も使用する必要があります<=。)

于 2013-02-19T20:21:09.973 に答える