brave83のプロフィール
- ベストアンサー数
- 3
- ベストアンサー率
- 100%
- お礼率
- 50%
- 登録日2009/12/10
- 6桁の数字を重複なしでランダムに取り出す方法を教えてください。
JAVAにて、6桁の数値を重複なしでランダムに取り出したいのですが、どのようにすればよろしいでしょうか? 下記関数を使って6桁の数値を取り出す事についてはできたのですが、これだと何万分の一(?)ですが、取得数値が重複する可能性があります。これを防止する為にはどうしたらよろしいでしょうか。皆様のお知恵を拝借いたしたく宜しくお願いいたします。 newNo = (int)(Math.random() * 999999 + 100000);
- データベースから取得したデータを配列に格納できません。
jTableにSQL文の結果を表示させようとして結果を以下のように配列に 格納しようとしました。 public String[][] Serch(){ int i=0; String[][] rowData; String str = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=helloTable.mdb"; try { // ドライバクラスをロード Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // データベースへ接続 Connection con = DriverManager.getConnection(str, "", ""); // ステートメントオブジェクトを生成 Statement stmt = con.createStatement(); String sql = "SELECT * FROM ハローテーブル"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ // NOを取得 String no = String.valueOf(rs.getInt("NO")); // 言語を取得 String lang = rs.getString("言語"); // メッセージを取得 String msg = rs.getString("メッセージ"); rowData[i][0] = no; rowData[i][1] = lang; rowData[i][2] = msg; i++; } stmt.close(); con.close(); } catch (Exception e) { e.printStackTrace(); } return rowData; } このメソッドで得た配列を表示させようとすると以下の結果が表示されます。 java.lang.NullPointerException 正常なSQL文の結果は以下の通りです。 1 日本語 こんにちは世界 2 英語 Hello World 3 ドイツ語 Hallo Welt 配列の行数はSQL文の結果の行数に合わせたかったのですがうまくいきません。 どのように直せばSQL文の結果を配列にすべて格納できるでしょうか?