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)の静的メソッドであり、引数として 1 つを取り、そのテキスト表現を として返します。IntegerintString

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;
    }
}

コード:

public class 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。確率が非常に小さいことはわかっていますが、この方法で ID を生成すると、理論的には 2 人の顧客が同じ ID を持つ可能性があります。はるかに簡単な方法は、たとえば 1 などの数字から始まる ID を顧客に割り当て始めることです。

割り当てごとに、カウンターを 1 ずつ増やします。欠点は、そのカウンターをどこかに保存しておく必要があることです (DB、txt ファイル、w/e)。

于 2012-07-14T18:17:58.087 に答える
0

やり方は2つ...

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 に答える