1

[解决了]

我搜索了许多论坛以及 Stack Overflow 的关于将不断变化的随机数转换为字符串的问题,但我找不到针对我的具体问题的解决方案。

如何将 customerID 转换为字符串?

    public class UniqueCustomerNumber {

    private int customerID;

    public void setCustNum(int cNumber) {
        Random x = new Random();
        cNumber = x.nextInt(800000001) + 100000000;
        customerID = cNumber;
    }

    public int getCustNum() {
        return customerID;
    }
}
4

2 回答 2

4

使用Integer.toString(int i)它是类中的一种静态方法Integer,它将一个int作为参数并将其文本表示形式返回为String.

public class UniqueCustomerNumber {

    private String customerID;

    public void setCustNum() {
        Random x = new Random();
        this.customerID = Integer.toString(x.nextInt(800000001) + 100000000);
    }

    public String getCustNum() {
        return this.customerID;
    }
}

代码:

公共类 UniqueCustomerNumberTest {

public static void main(String[] args) {
    UniqueCustomerNumber uin = new UniqueCustomerNumber();
    uin.setCustNum();
    System.out.println("Unique Customer Number = " + uin.getCustNum());
}

输出:

Unique Customer Number = 748816502

附注:使用此方法可能不符合您的类名,UniqueCustomerNumber. 我知道概率非常小,但是如果您以这种方式生成 2 个客户,则理论上可能会发生 2 个客户具有相同的 ID。一个更简单的方法是从某个数字(例如 1)开始为客户分配他们的 ID。

在每次分配时,您都会将计数器增加 1。缺点是您需要将该计数器保存在某个位置(DB、txt 文件、w/e)。

于 2012-07-14T18:17:58.087 回答
0

有两种方法可以做到...

1.将它连接到一个字符串(可以是一个空字符串)。

例如:

int i =  5;
String s = i + "" ;    // i is now converted to String.

2.使用toString() 方法,但这仅适用于 Object 类型。所以首先你需要将原始类型 int 转换为 Wrapper 对象 Integer

例如:

   int i = 5;
   Integer o = new Integer(i);
   o.toString() ;
于 2012-07-14T18:25:31.613 回答