私はまだJavaを学んでいるので、簡単な「翻訳」プロジェクトを作ろうとしています。しかし、何かがうまくいかず、何時間も費やしましたが、まだ修正方法がわかりません. コードは次のとおりです。
public static void main(String[] args)
{
char[] abcCode = {'!','@','#','$','%','^','&','*','(',')','_','-','+','=','|','`','~','}','{','[',']','"',';',':','>','<','?','/','\''};
char[] numCode = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','x','y','z'};
String src = args[0];
String result = "";
for(int i=0; i < src.length();i++)
{
char ch = src.charAt(i);
if ('a' <= ch && ch <= 'z')
result += abcCode[ch-'a'];
else if (abcCode[0] <= ch && ch <= abcCode[15])
result += numCode[ch-abcCode[0]];
}
System.out.println("src: "+src);
System.out.println("result: "+result);}}
たとえば、「lol」と入力すると、必要な「-|-」が表示されます。しかし、その逆は機能しません。-|- と入力して "lol" を取得することになっています。また、「@」などをいくつか入力すると、エラーが発生します。どうしたの?ライトはありますか?