gpt4 book ai didi

java - 在 for 循环中使用 SetString

转载 作者:行者123 更新时间:2023-12-01 15:45:52 27 4
gpt4 key购买 nike

我在 for 循环中使用 setString 时遇到问题。

我有这一行要插入到我的数据库中的表中

12.S777.V77.D88.wagon/1.Train/889

和777代表二等舱的乘客数量。问题是乘客数量是可变的,最多可以有3种情况,如下例:

12.F123.S777.V77.wagon/1.Train/889

代码

String rs="insert into ligne1(date,immatr,number_passenger,version,wagon,train) VALUES(?,?,?,?,?,?)";
PreparedStatement ps = conn.prepareStatement(rs);

ps.setString(1, message[0]);
ps.setString(2, message[1]);
ps.setString(3, message[2]);

int b=0;

for(b=4;b<chaine.length-1;b++){
ps.setString(b,melement[b]);
}

//I'm stuck here ! :(

ps.setString(5, message[3]);
ps.setString(6, message[4]);
ps.executeUpdate();

最佳答案

看起来您的输入格式具有可变数量的字段。在这种情况下,在 . 处分割字符串是不够的,您必须解析数据。

我将为货车实现一个简单的值持有者类和一些逻辑来根据输入字符串创建实例。喜欢:

public class Ligne1 {
private String date;
private int seatsInFirstClass;
private int seatsInSecondClass;
// ...

public Ligne1(String data) {
String values[] = data.split("\.");
for (String value:values) {
if (value.startsWith("F")) {
setSeatsInFirstClass(value);
} else if (value.startsWith("wagon")) {
setWagon(value);
}
// ...
}
}

private void setSeatsInFirstClass(String value) {
seatsInFirstClass = Integer.parseInt(value.substring(1));
}
public int getSeatsInFirstClass() {
return seatsInFirstClass;
}

// if we need the total
public int getNumberOfPassengers() {
return seatsInFirstClass + seatsInSecondClass;
}

// ...
}

最后,您使用 Ligne1 的实例及其 getter 方法来设置准备好的语句上的值。

(注意:代码仅提示我选择的解决方案,它不完整,并且不处理源数据中的错误)

关于java - 在 for 循环中使用 SetString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7024496/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com