求高手点拨一个“系统授权序列号”的错误的原因...
高手,您好:
我是一名学习软件工程的学生,我在写一个“CS结构的聊天系统”,今天,我碰到了一个代码问题:
我想写一个“生成系统功能授权”的“序列号生成器”,弟我写成的类文件,代码如下:


弟我的这个计算序列号的类,是“首先调用了"产生随机数"的整个序列号组成单元的发动机:抓取本地系统毫秒数的"System.currentTimeMillis(); "方法”进行的计算.
并且,这里的构造方法,是在“每一次需要进行一个新的序列号的计算”,这个时间点下出现的.
并且,这里的得到的打印结果是:

经过多方的朋友的相助,现在,初步将错误定位在了:
第37行的“code字符数组转字符串”的过程,应该用“new String();”构造方法来代替,于是,我将代码修改成了下述结果:

弟我将第37行的“toString(code);”方法,修改成了“new String(code);”,但是,没有得到应有的“输出结果”,得到的输出结果如下:

结果,没有得到“任何预期的系统服务授权码"...
希望高手能够告诉我上面代码的错误原因,如果高手能够帮助我”,希望高手在告诉了弟我“错误的原因”之后,能够将修改的方法和修改后的代码,写到回复上.
谢谢高手的点拨!!
一位日日夜夜向着理想奔跑的筑梦者
2013年9月5日星期四晚上23点23分 string 调试 类型转换 代码结构逻辑 Java调试
[解决办法]
Arrays.toString(code)
[解决办法]
package d_port_package;
public class D_port_Calc_The_Customer_useAuthorizationCode {
static int[] a = new int[50];
static char[] code = new char[9];
int random = 0;
static int random0_4 = 0;
static int random1_50 = 0;
static int random1_50jumb5 = 0;
public D_port_Calc_The_Customer_useAuthorizationCode(){
long time2=System.currentTimeMillis();
String dataformat = Long.toString(time2);
String Standarddataformat = dataformat.substring(12,13);
System.out.println(Standarddataformat);
random0_4 = Integer.parseInt(Standarddataformat)/2;
random1_50jumb5 = Integer.parseInt(Standarddataformat+1)*5/2;
random1_50 = Integer.parseInt(Standarddataformat)-random0_4;
a[0] = random1_50;
a[3] = random1_50;
a[6] = random1_50;
a[8] = 55;
a[2] = 41 - a[0];
a[5] = 91;
a[4] = 28 - a[6];
a[1] = 66 - a[0] - a[5];
a[7] = 99 - a[3] - a[1];
}
public static void main(String[] args){
String[] str = new String[200];
for(int i = 0;i<200;i++){
new D_port_Calc_The_Customer_useAuthorizationCode();//为什么多次进行创建对象?难道会因为时间改变把初始化的东西也改变了?
for(int j = 0;j<9;j++){
str[i] = new String(a[j]);
System.out.println(str[i]);
}
}
}
}