永久转换将随机生成的整数转换为字符串

时间:2012-07-14 18:13:16

标签: java

[解决]

我搜索了许多论坛以及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;
    }
}

2 个答案:

答案 0 :(得分: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个客户如果以这种方式生成相同的ID。一个更简单的方法是从一些数字1开始为它们开始分配它们的ID,例如。

在每个作业中,你的计数器都会增加1.缺点是你需要保存那个计数器(DB,txt文件,w / e)。

答案 1 :(得分:0)

两种方法......

<强> 1。将它连接到一个String(可以是一个空字符串)。

<强>例如

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

2。使用 toString()方法,但此仅适用于对象类型。首先,您需要将基本类型int转换为Wrapper对象Integer

<强>例如

   int i = 5;
   Integer o = new Integer(i);
   o.toString() ;