这个是处理函数
public static String ascii2String(String ASCIIs) {
String[] ASCIIss = ASCIIs.split(",");
StringBuffer sb = new StringBuffer();
for (int i = 0; i < ASCIIss.length; i++) {
sb.append((char) ascii2Char(Integer.parseInt(ASCIIss[i])));
}
return sb.toString();
}
这个是主函数
public static void main(String[] args){
String output="1041011081123210910133";
System.out.println("output="+output);
String op=new String();
op=ascii2String(output);
System.out.println("op="+op);
}
为什么控制台老是说
Exception in thread "main" java.lang.NumberFormatException: For input string: "1041011081123210910133"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at ascii.ascii2String(ascii.java:59)
at ascii.main(ascii.java:108)
我该如何修改啊!!!要哭了都!
你这编码很怪啊,结果竟然是help me!
1041011081123210910133哈哈,被你发现了。。。
追答public class TTTTT {最终版,你原先的程序是超过Integer的取值范围了,关键是逻辑也不对。
还请采纳!
一会英国恢复行不行= =
这是一部分代码。output是将字符串变成的ascii码。现在要变回去。。
追答你的output是十进制的ASCII码值?
追问是的
public static char ascii2Char(int ASCII) {
return (char) ASCII;
}
public static int char2ASCII(char c) {
return (int) c;
}
输出结果:op=Бn???!