import java.util.*;
public class BugFixes
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
altCaps("Computer Science");
}
static void altCaps(String hi)
{
String hi2 = hi;
int locate = 0;
for(int i = 0; i < hi2.length();i++)
{
if((Character.isLetter(hi2.charAt(locate))))
{
if(hi2.charAt(locate) % 2 == 0)
{
System.out.print(hi2.toLowerCase().charAt(locate));
locate++;
}
else if(hi2.charAt(locate) % 2 == 1)
{
System.out.print(hi2.toUpperCase().charAt(locate));
locate++;
}
}
else if(hi2.charAt(locate) == ' ')
{
System.out.print(" ");
locate++;
}
}
}
}
これは私の現在の研究室での問題の1つです。私はいくつかの間違いを修正することができましたが、私はこれを見つけることができません。forループとcharAt()を使用します。文字列の文字を交互に印刷する
私の質問は「COMpUtER SCIEnCE」を出力する理由です。私はここで何が起こっているのか分からず、私は今一時間それを見てきました。私の目標は "CoMpUtEr ScIeNcE"を出力することです
私は(hi2.charAt(locate)%2 == 0)と思っていましたが、その逆は文字列の偶数と奇数の位置の間で交互になりますが、どこかで間違い。私はそれを見つけることができません。
BlueJのV3.1.7
1年間の高校コンピュータサイエンスの経験を使用して、現在APコンピュータサイエンス
任意のヒントに在籍?
プログラムをデバッグする方法を学ぶ必要があります。次に、出力がどのように生成され、プログラムの状態を見て、バグのプログラミングを見つけるかを段階的に調べることができます。 –