質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

3回答

7639閲覧

【java】MySQLで取得した件数分、2次元配列を作成する

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2016/04/19 02:25

編集2022/01/12 10:55

こんにちは。
独学で、javaを勉強しております。

現在、MySQLから取得したデータを
2次元配列に格納するメソッドを作っているのですが、
とてもてこづっております・・・・

どのように作ればうまくいくでしょうか。
御助言頂けますと幸いです。

[条件面]
Select文を実行し、取得した値を返すメソッドを作る
引数 sql ←SQL文(SELECT)が渡されてくる
戻り値 取得した値を二次元配列にて戻す

下記は、私が作成したソースです。

public String[][] selectExec(String mysql) throws SQLException { Statement resultStatement = connection.createStatement(); ResultSet result = resultStatement.executeQuery(mysql); String[][] string = new String[10][0]; int i = 0; while (result.next()) { string[i][0] = result.getString("number"); System.out.println(string[i][0]); i++; } result.close(); return null; }

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

new String[10][0]で配列を作成して、[i][0]を参照したら例外になります。
少なくとも2つ目の括弧の中が1以上じゃないとStringを格納していく用途には使えませんし、2以上じゃないと2次元配列の意味がないです。
どういう形の2次元配列にしたいかわからないと助言も難しいです。

投稿2016/04/19 03:13

編集2016/04/20 02:04
swordone

総合スコア20649

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/19 04:05

ご回答ありがとうございます。 MySQLのnumberに1-10の文字が入っているのですが、 それを2次元配列に格納していきたいと考えております。
swordone

2016/04/19 06:21

その2次元配列への格納の仕方がわかりません。SQLのレコードとnumberが1対1ならどう2次元配列にするのですか?
guest

0

問題文が
「byteの二次元配列に入れる」と勘違いしているという可能性はないでしょうか?

byteの1次元配列に、1個のインスタンスのデータを格納できるので、
byteの2次元配列にする意味はあります。

java

1public byte[][] selectExec(String mysql) throws SQLException { 2 3 Statement resultStatement = connection.createStatement(); 4 5 ResultSet result = resultStatement.executeQuery(mysql); 6 7 byte[][] bytes = new byte[10][]; 8 int i = 0; 9 10 while (result.next()) { 11 ByteArrayOutputStream ByteStream = new ByteArrayOutputStream(); 12 ObjectOutputStream objectStream = new ObjectOutputStream(ByteStream); 13 objectStream.writeObject(result.getObject("number")); 14 ByteStream.close(); 15 objectStream.close(); 16 bytes[i] = ByteStream.toByteArray(); 17 i++; 18 } 19 20 result.close(); 21 22 return bytes; 23}

投稿2016/04/19 08:14

uniuni

総合スコア57

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんにちは。

二次元配列ということですが、string[~][0]しか使わないのであれば二次元配列である必要がないように思えるのですが・・・。
何か意図があるのでしょうか??

ちなみに、自分ならArrayLsitを使ってString[]を詰めて、toArray()で最終形に整えていきます。

投稿2016/04/19 04:28

編集2016/04/19 04:28
kaputaros

総合スコア1844

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/04/19 05:10

ご回答ありがとうございます。 今回2次元配列と指定されているので、 それで作成しなければいけないのです・・・ 私もArrayListを活用して2次元配列にしてみようと思ったのですが、 複雑になってしまったので、断念しました・・・
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問