Java 在0000-9999之间的顺序计数

Java 在0000-9999之间的顺序计数,java,Java,我想得到4位数的计数,即0作为0000,1作为0001,2作为0002直到9999 我正在尝试下面的代码,但它不工作。如果有人能帮忙,那就太好了 public void actionPerformed(ActionEvent ae) { String str = ae.getActionCommand(); if (str.equals("GENERATE PART NO. :")) { try { Class.forName("c

我想得到4位数的计数,即0作为0000,1作为0001,2作为0002直到9999

我正在尝试下面的代码,但它不工作。如果有人能帮忙,那就太好了

    public void actionPerformed(ActionEvent ae) {
    String str = ae.getActionCommand();
    if (str.equals("GENERATE PART NO. :")) {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost/d03", "root", "");
            st = con.createStatement();

            String s = "select value from part where mix='" + jc.getSelectedItem() + "'";

            rs = st.executeQuery(s);
            t1.getText();
            if (rs.next()) {

                String add1 = rs.getString("value");
                t1.setEditable(false);

                String str9 = "EP" + add1;

                for (j = 0; j <= 9999; j++) {

                    String.format("%04d", j);
                    String str10 = str9 + j;
                    String query = "select MC from final";
                    ResultSet rs1 = st.executeQuery(query);
                    while (rs1.next()) {
                        while (str10.equals(rs1.getString("MC"))) {
                            j++;

                            str10 = str9 + j;
                        }
                        t1.setText(str10);
                    }
                }
            }
public void actionPerformed(ActionEvent ae){
字符串str=ae.getActionCommand();
如果(str.equals(“生成零件号:”){
试一试{
Class.forName(“com.mysql.jdbc.Driver”);
con=DriverManager.getConnection(“jdbc:mysql://localhost/d03“,”根“,”);
st=con.createStatement();
String s=“从部分中选择值,其中mix=”+jc.getSelectedItem()+”;
rs=标准执行机构;
t1.getText();
如果(rs.next()){
字符串add1=rs.getString(“值”);
t1.可编辑设置(假);
字符串str9=“EP”+add1;
for(j=0;j
String.format(“%04d”,j);
执行您想要的操作,但是您需要使用
format()
方法的结果。目前您只需丢弃返回值

...
for (int j = 0; j <= 9999; j++) {
    String str = String.format("%04d", j);
    System.err.println(str);
}
...

你想做的是:

for (;str10.equals(rs1.getString("MC"));j++) {
    str10 = String.format("%s%04d", str9, j);
}

您的问题如下所示:

for (j = 0; j <= 9999; j++) {
    String.format("%04d", j);
    String str10 = str9 + j;
这会将格式化的
字符串
添加到
str9
,并将其提供给
str10


再往下看,你复制了错误的代码:

j++;
str10 = str9 + j;

你需要重新安排你正在做的事情:你的
查询
字符串是否正确?是否应该有
WHERE
或其他什么?是什么决定了查询中的订单数据?你有很多问题要问自己,我们帮不了你。

比“它不起作用”更具体一些。包括示例输出及其与所需的不同之处。定义“不工作”?它在做什么?此处=>for(int j=0;j您没有使用
String.format(“%04d”,j);
您可能指的是
String str10=str9+String.format(“%04d”,j)
您正在调用String.format,但是您使用它的方式需要将它绑定到一个变量,例如String tmp=String.format(“%04d”,j);仍然无法获得输出…..当我尝试在JTextField中显示计数时,它从最后一个值(即9999)开始计数,以此类推请快速查看我的编辑。我想你大概在问题的末尾生成值后,我必须在textfield中显示它
String str10 = str9 + String.format("%04d", j);
j++;
str10 = str9 + j;