请各位高手帮帮忙:
不清楚什么原因以下代码编译出错?是否写错了什么,或漏写了什么啦?
import java.io.*;
import java.security.*;
import COM.ibm.db2.app.*;
import java.lang.*;
import java.lang.String;public class MyUDF1 extends UDF { public static String identity_id_18(String id)
{
final int [] w = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1};
final String [] a = {"1", "0", "x", "9", "8", "7", "6", "5", "4", "3", "2"};
int i,j,s=0;
String newid;
newid = id;
if (newid.length() = 18)
{return newid;};
if (newid.length() = 15)
{
if ( Integer.parseint( newid.substring(6,12)) > 141231 )
{
newid = newid.substring(0,6) + "19" + newid.substring(6,id.length());
};
if ( Integer.parseint(newid.substring(6,12)) <= 141231 )
{
newid = newid.substring(0,6) + "20" + newid.substring(6,id.length());
};
for ( i=0;i<newid.length() ;i++ )
{
j = Integer.parseint(newid.substring(i,i+1))*w[i];
s = s + j;
}
s = s % 11;
newid=newid+a[s];
return newid;
} ;
}
}
不清楚什么原因以下代码编译出错?是否写错了什么,或漏写了什么啦?
import java.io.*;
import java.security.*;
import COM.ibm.db2.app.*;
import java.lang.*;
import java.lang.String;public class MyUDF1 extends UDF { public static String identity_id_18(String id)
{
final int [] w = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1};
final String [] a = {"1", "0", "x", "9", "8", "7", "6", "5", "4", "3", "2"};
int i,j,s=0;
String newid;
newid = id;
if (newid.length() = 18)
{return newid;};
if (newid.length() = 15)
{
if ( Integer.parseint( newid.substring(6,12)) > 141231 )
{
newid = newid.substring(0,6) + "19" + newid.substring(6,id.length());
};
if ( Integer.parseint(newid.substring(6,12)) <= 141231 )
{
newid = newid.substring(0,6) + "20" + newid.substring(6,id.length());
};
for ( i=0;i<newid.length() ;i++ )
{
j = Integer.parseint(newid.substring(i,i+1))*w[i];
s = s + j;
}
s = s % 11;
newid=newid+a[s];
return newid;
} ;
}
}
1、将代码作良好的格式化,以方便阅读。
2、在发帖文本框的上方单击“#”按钮,选择 Java
3、将代码粘贴到【code=Java】和【/code】之间。发出来的帖子就会是下面的效果:public class Hello { // 程序入口
public static void main(String[] args) {
System.out.println("Hello!");
}
}
你的代码不全,你也不说在哪出错,晕死~
需要:变量
找到:值
if (newid.length() = 18)需要:变量
找到:值
if (newid.length() = 15)
赋值才是 = ,这个是比较值得用 == 。
if (newid.length() = 18) //布尔表达式 if(newid.length() == 18) {return newid;}; if (newid.length() = 15) //布尔表达式if(newid.length() == 15)
{
if ( Integer.parseint( newid.substring(6,12)) > 141231 ) // Integer.parseInt()