这是我的建议,但最终我会遇到问题,
。例如,我将:
create table(field 1 varchar(50) not null,field 2 varchar(45) not null,);
我的问题是如何删除最后,
???
String req = "CREATE TABLE " + db.getTable_Name() + " (";
for (int i = 0; i < db.getColumns_number(); i++) {
req += db.getField() + " " + db.getType() + "(" + db.getSize() + ")" + " " + db.getNullabilité () + ",";
}
req += ")";
答案 0 :(得分:1)
您只需使用以下代码
if(i<db.getColumns_number()){
//add ","
}
答案 1 :(得分:1)
试试这段代码:
String req="CREATE TABLE " +db.getTable_Name()+" (";
for(int i=0;i<db.getColumns_number();i++){
req+= db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité();
//add comma until is not last column
if (i < (db.getColumns_number()-1)) {
req+=",";
}
}
req+=")";
答案 2 :(得分:1)
您只需切换添加逗号的方式即可。例如:
String req = "CREATE TABLE " + db.getTable_Name() + " (";
for (int i = 0; i < db.getColumns_number(); i++) {
req += (i > 0 ? ", " : "") + db.getField() + " " + db.getType() + "(" + db.getSize() + ")" + " " + db.getNullabilité();
}
req += ")";
这将检查我们是否在第一个索引之后。如果我们在第一个索引之后,我们在开头添加一个逗号。如果它是第一个索引,我们什么都不添加。
答案 3 :(得分:0)
替换最后一个,很容易。没有正则表达式:
String s = "create table(field 1 varchar(50) not null,field 2 varchar(45) not null,);";
int n = s.lastIndexOf(',');
System.out.println(s.substring(0, n) + s.substring(n+1));
结果:
create table(field 1 varchar(50)not null,field 2 varchar(45)not null);
答案 4 :(得分:0)
您可以这样做:
for(int i=0;i<db.getColumns_number();i++){
if(i!=0){
req+=", ";
}
req+= db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité();
//req+= ((i!=0)?", ":"") + db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité();
//req+= db.getField()+" "+db.getType()+"("+db.getSize()+")" +" "+db.getNullabilité() + ((i != (db.getColumns_number()-1))?",":"");
}