JavaScript To Java线程"main"numberformatexception:用于
JavaScript To Java Exception in thread "main" java.lang.NumberFormatException: For input string: ""
我试图将我的JavaScript解密方法转换为Java似乎无法做到这一点,因为我被困在这里,我正在输入字符串,我不知道为什么它说不…
错误代码:
Exception in thread "main" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:592)
at ae.df.sux.Main.Decrypt1(Main.java:42)
at ae.df.sux.Main.main(Main.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:140)
Java代码:public static String Decrypt1(String strIn) {
String strOut = "";
int lenIn = strIn.length();
int i = 0;
int A;
int B;
while (i < lenIn) {
A = Integer.parseInt(strIn.substring(i, 2), 27);
B = Integer.parseInt(strIn.substring(i + 2, 2), 27);
strOut+= fromCharCode(A - B);
i+=4;
}
return strOut;
}
JavaScript: Decrypt1 = function (strIn) {
var strOut = String();
var lenIn = strIn.length;
var i = 0;
var numA;
var numB;
while (i < lenIn) {
numA = parseInt(strIn.substr(i, 2), 27);
numB = parseInt(strIn.substr(i + 2, 2), 27);
strOut += String.fromCharCode(numA - numB);
i += 4;
}
return strOut;
};
java错误行:
B = Integer.parseInt(strIn.substring(i + 2, 2), 27);
所以这个值是加密的:
431o5m215e1e723d7o3h6f2j401j4j2d7b345k1c631o59267j3g6627531a7a385o3g5125582g592n4l1l66395d2d4b1l4i1p531m4a1f5k2g4p2e4o205h2j693j3l1f593g7d3679317832511p5i1f6l2m6i2p7f3d58305f397g3j5c1a712k4e21783c5m267d374g1o5p3b4b234p314h2l4q2n52325e3i391b44215a3d5a344q36793c74325i1a411f6h2l5i226o2i4o254e205k3c552q391g682e7b3b5h216l2e6k2o3j1b
它应该返回:
<flash><strToken>MICQNQGJYLUANOG</strToken><intCharID>32962493</intCharID></flash>
我不知道是什么问题,谢谢你的帮助。
并非所有Java函数的行为都与其他javascript函数完全相同。你必须检查函数返回的是什么。我已经修改了您的java代码,以获得所需的输出。
public static String Decrypt1(String strIn) {
String strOut = "";
int lenIn = strIn.length();
int i = 0;
int A;
int B;
int nextIndex = 0;
while (i < lenIn) {
nextIndex = i+4;
String aStr= strIn.substring(i, i+2);
String bStr= strIn.substring(i + 2, nextIndex);
System.out.println("astr:"+aStr);
System.out.println("bstr:"+bStr);
A = Integer.parseInt(aStr, 27);
B = Integer.parseInt(bStr, 27);
System.out.println("A:"+A);
System.out.println("B:"+B);
int C = A- B;
System.out.println("C:"+C);
String charStr = new String(Character.toChars(C));
System.out.println("charStr :" +charStr);
strOut+= charStr;
i+=4;
}
System.out.println("output:"+strOut);
return strOut;
}
output:<flash><strToken>MICQNQGJYLUANOG</strToken><intCharID>32962493</intCharID></flash>
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 插入“;img src"在javascript中