我正在尝试制作一个简单的“翻译”项目,因为我还在学习 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”。此外,如果我输入“@”和其他几个,我会得到一个错误。有什么问题?有灯吗?