文字列を大文字にするコードを書き込もうとしています(つまり、 "hello"は "HeLlO"になります)。このフォーラムで別の質問から同様のコードを借用しました(Java Case Switcher) 、コードは大文字(最初)、その後、小文字、などのパターンを有するのではなく、文字のケースを切り替える文字列を大文字に変更しようとしています
を私がこれまで持っているもの:。
public String altCase(String text)
{
String str = "";
for (int i = 0; i <= text.length(); i++)
{
char cA = text.charAt(i);
if (text.charAt(0).isUppercase)
{
str += Character.toLowerCase(cA);
}
if (text.charAt(0).isLowercase)
{
str += Character.toUpperCase;
}
if(i != 0 && Character.isUpperCase(cA))
{
if (text.charAt(i)-1.isUpperCase || text.charAt(i)+1.isUpperCase)
{
str += Character.toLowerCase(cA);
}
else
{
str += cA;
}
}
if(i != 0 && Character.isLowerCase(cA))
{
if (text.charAt(i)-1.isLowerCase || text.charAt(i)+1.isLowerCase)
{
str += Character.toUpperCase(cA);
}
else
{
str += cA;
}
}
}
return str;
}
私は比較的まだです一般的なコーディングには新しいので、私の非効率性を言い表してください。また、私のコーディングでの経験の欠如から誘発する可能性のある頭痛もありません。私が間違っているのは、「text.charAt(i)-1.isLowerCase」と入力したとき以外は間違っているかもしれませんが、文が少し不合理であるように見えますが、同じことを達成するために何かを思いつくことはできませんもの。それとも、私のエラーは完全にどこかにあるのですか?事前に助けてくれてありがとう。
括弧を慎重に見てください。 – SLaks
カッコが見つからない、追加したり、誤用しましたか?最初の2つを見つけることができないようです。 –
'text.charAt(i)-1'はどういう意味ですか?あなたは何から引きますか? – SLaks