有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何保存变量I的值

在这里,我编写了生成客户id的逻辑,但是如何保留i的值,以便下次调用函数时i=11而不是i=10。每当我运行它时,它总是从i=10开始运行

public class TestId {

    public static void main(String[] args) {
        String start = "CUST";
        String total = "";
        int i = 10;
        if (10 <= i && i < 100) {
            total = start + "000" + i;
            i++;
        } else {

            if (i <= 100 && i < 1000) {
                total = start + "00" + i;
                i++;
            } else {
                if (i <= 1000 && i < 10000) {
                    total = start + "0" + i;
                    i++;
                } else {

                    total = start + i;
                    i++;

                }
            }
        }
        System.out.println(total);

    }
}

共 (3) 个答案

  1. # 1 楼答案

    我建议您使用以下变量统计:

    public class TestId {
        static int i = 10;
        public static String total(){
            String start = "CUST";
            String total = "";
            if (10 <= i && i < 100) {
                total = start + "000" + i;
                i++;
            } else {
    
                if (i <= 100 && i < 1000) {
                    total = start + "00" + i;
                    i++;
                } else {
                    if (i <= 1000 && i < 10000) {
                        total = start + "0" + i;
                        i++;
                    } else {
    
                        total = start + i;
                        i++;
    
                    }
                }
            }
    
            return total;
        }
    
        public static void main(String[] args) {
            System.out.println("first call "+total()); // output: CUST00010
            System.out.println("second call "+total()); // output: CUST00011
            System.out.println("second call "+total()); // output: CUST00012
        }
    }
    
  2. # 2 楼答案

    您可以在main方法之外声明变量int i = 10;,例如,在调用该方法的地方。这样每次调用main方法时,值都不会更改

    编辑: 如果要在应用程序新启动后读取i的前一个值,则应将其存储在数据库或文件中,即使程序未运行,该文件也会保持i的值

  3. # 3 楼答案

    要在每次运行应用程序时保持i的值,唯一的方法是将其保存到驱动器、数据库或其他您可以想到的地方。每次应用程序退出时,所有数据都会丢失,您需要将其存储在应用程序之外

    可能最简单的方法是使用java.nio并在每次增加i的值时将该值保存到文件中,然后在每次启动应用程序时读取该文件

    对于不同的东西,你可能需要更多的时间,但我不知道你的要求是什么