public void AllCPUInf2Sn()
{
string str3 = "";
int num4 = Strings.Len(this.AllCPUInf);
for (int i = 1; i <= num4; i++)
{
long num;
if (i != Strings.Len(this.AllCPUInf))
{
string str = Strings.Mid(this.AllCPUInf, i, 1);
string str2 = Strings.Mid(this.AllCPUInf, i + 1, 1);
num = Strings.Asc(str);
long num2 = Strings.Asc(str2);
str3 = str3 + StringType.FromChar(Strings.Chr((int) (num - (num2 % 6L))));
}
else
{
str3 = str3 + StringType.FromChar(Strings.Chr((int) (num + 1L)));
}
}
this.SNInf = str3;
}以上是vb。net写的 求java实现我写了这些不对 好像public static String getSN(String str) { System.out.println(str.length());
String str3 = "";
try { int count = str.length();
long t = 0;
for (int i = 1; i <= count; i++) {
long num=0; if (i != count) {
String str1 = str.substring(i-1, i);
String str2 = "";
try {
str2 = str.substring(i , i+1);
} catch (Exception ex) {
}
num = (long)str1.charAt(0);
long num2 = (long)str2.charAt(0); str3 += (char) ((int) (num - (num2 % 6.0)));
} else {
str3 += (char) ((int) (t + 1.0));
}
t = num;
}
} catch (Exception ex) {
ex.printStackTrace();
return str3;
// ex.printStackTrace();
}
return str3;
}
{
string str3 = "";
int num4 = Strings.Len(this.AllCPUInf);
for (int i = 1; i <= num4; i++)
{
long num;
if (i != Strings.Len(this.AllCPUInf))
{
string str = Strings.Mid(this.AllCPUInf, i, 1);
string str2 = Strings.Mid(this.AllCPUInf, i + 1, 1);
num = Strings.Asc(str);
long num2 = Strings.Asc(str2);
str3 = str3 + StringType.FromChar(Strings.Chr((int) (num - (num2 % 6L))));
}
else
{
str3 = str3 + StringType.FromChar(Strings.Chr((int) (num + 1L)));
}
}
this.SNInf = str3;
}以上是vb。net写的 求java实现我写了这些不对 好像public static String getSN(String str) { System.out.println(str.length());
String str3 = "";
try { int count = str.length();
long t = 0;
for (int i = 1; i <= count; i++) {
long num=0; if (i != count) {
String str1 = str.substring(i-1, i);
String str2 = "";
try {
str2 = str.substring(i , i+1);
} catch (Exception ex) {
}
num = (long)str1.charAt(0);
long num2 = (long)str2.charAt(0); str3 += (char) ((int) (num - (num2 % 6.0)));
} else {
str3 += (char) ((int) (t + 1.0));
}
t = num;
}
} catch (Exception ex) {
ex.printStackTrace();
return str3;
// ex.printStackTrace();
}
return str3;
}
str3 += (char) ((int) (num - (num2 % 6.0)));
和
str3 += (char) ((int) (t + 1.0));
改为
str3 += (int) (num - (num2 % 6.0));
str3 += (int) (t + 1.0);
或
str3 += (num - (num2 % 6.0));
str3 += (t + 1.0);我不知道你到底遇到了什么错误 ,提醒一下就是
vb.net和就java中数组定义有点不一样
举个例子
一个数组HH有十个元素
vb.net
dim HH(9) as int
java
int[] HH = new int[10]