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

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

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

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

Q&A

解決済

2回答

623閲覧

javaで画像とその説明文をランダムに表示したい

naruriru

総合スコア18

Java

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

0グッド

0クリップ

投稿2019/01/08 14:59

前提・実現したいこと

javaをつかって、画像とその説明をランダムに表示させたいと思っています。
文章だけのランダム表示はできるものの、それに対応した画像を
どうつければ良いのかわかりません。

java超初心者です。
すみません。
よろしくお願い致します。

import java.util.Random;

class uranai {
public static void main(String args[]){
Random rnd = new Random();
String [] v = new String[10];
int size=0;
// 文章
v[size++]="文章";
v[size++]="文章";

int i=0;
while(i<1){//
int no=rnd.nextInt(size);
if(v[no]!=null){
System.out.println(v[no]);
v[no]=null; //初期化
i++;
}
}
}
}

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

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

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

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

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

guest

回答2

0

計算機アプリケーションには大別して

・CUIアプリケーション(文字のみを用いてユーザーとやりとりする)
・GUIアプリケーション(文字や図形、画像などCUIより多彩な表現によりユーザーとやりとりする)

があります。あなたが書いておられるコードは前者ですが、お望みの機能は後者として作る必要があります。GUIアプリケーションを作るための機能はJavaの言語機能には直接含まれておらず、GUI用のライブラリーに含まれてます。またGUIライブラリーは一種類ではないので「どのGUIライブラリーを前提にするか」をまず絞らねばなりません。

いわゆるパソコン上での話(Windows, Macintosh, Linux)ならJavaFX, swingが標準的な選択肢です。どちらがよいと一概に言えないと思いますが、少なくともどちらを選んでもお望みのものは作れます。

ちなみにGUIアプリケーションを学ぶ際に「様々なクラスが出てきたり、それらを組み合わせて使う」ことや「イベントドリブン方式」などに戸惑うことが多いかも知れません。GUIはCUIと比べるとGUI固有の知識が必要なので難易度が高いです。しかし自分で書いたGUIアプリケーションが動くのを見るのはなかなかに楽しいので、それを励みに頑張ってほしいと思います。

swing/JavaFXどちらにするかなどもう少し調べてみた上で実際にトライすることをお勧めします。

投稿2019/01/09 03:15

KSwordOfHaste

総合スコア18394

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

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

KSwordOfHaste

2019/01/09 03:20 編集

mts10806さんの回答を拝見して「あわわ」と思いました。 > 画像をどうつければ良いのか これを > 画像をどう表示すれば良いのか と受け取って回答してしまいました。 的外れな回答だったかも知れません。外してたらゴメンナサイ。
m.ts10806

2019/01/09 05:17

いえ目標としては「表示させたい」と書かれているので >画像とその説明をランダムに表示させたいと思っています。 CUIだけでは無理だと私も思ってますが(質問には書いてないだけで別のところで画像表示だけは試したのかなと思い込んでスルー)、どう連動させるかという考え方が先と思ってあえてその部分を省きました。
KSwordOfHaste

2019/01/09 11:29

コメントありがとうございます。 なるほど、やはり質問のポイント、というか回答側が着目すべき点としてはmts10806さん回答のの方であるように感じます。 反応が遅くて失礼しました。
m.ts10806

2019/01/09 11:41

急いでないので大丈夫ですよ。(質問者さんも質問後丸1日無反応ですし) まあでも書いてある通りにしか取れないので質問内容をどう読み取るかは回答者次第です。 今のコードそのままだと「画像を表示ができない」のは明らかなので回答としてはありだと思います。
naruriru

2019/01/09 14:03

遅くなりました。すみません。 GUIも勉強してみたいと思います! 何せ独学なもので、何とかあれやこれや書いてみながら 日々勉強中です…。 きっと分かる人にとっては超初心者な質問になってるかと思います。 すみません。 こんな奴にご丁寧に説明していただいて感謝です。 ありがとうございます!
KSwordOfHaste

2019/01/10 11:09

コメント遅くなりましたが・・・ 回答に「アプリケーションにはCUIアプリとGUIアプリがある」と書きましたが正確には「スタンドアロンアプリケーションにはCUIアプリとGUIアプリがある」というつもりで書いてます。質問者さんが「Webアプリケーション」を想定しているなら自分の回答はあまり参考にならないはず・・・ ゆえに自分の回答がベストアンサーになっていると閲覧者の多くは違和感を抱くと思います。mts10806さんの回答の方なら「スタンドアロンアプリケーション/Webアプリケーションの枠組みとは独立した内容」ですのでベストアンサーにふさわしいと思います。できたらBAを付け替えていただけないでしょうか?
naruriru

2019/01/20 11:56

遅くなり申し訳ありません。 付け替えさせていただきました。 皆様にお世話になったので、ベストアンサー選びたくないくらいですね(^^;) ありがとうございました。
guest

0

ベストアンサー

配列に持てばいいのではないでしょうか。

イメージ

[0]=>[image:01.jpg, text:文章1 ], [1]=>[image:02.jpg, text:文章2 ], [2]=>[image:03.jpg, text:文章3 ], ....

あとはランダムで番号を指定させてimageとtextを利用する。


コードはマークダウンのcode機能を利用して提示してください(質問は編集できます)
マークダウンが何か分からなければヘルプを読むか、質問投稿左下に「Markdown記法と使うと・・・」というタブがあるので開いてどの記述がどのような効果があるかを確認してください。

投稿2019/01/09 01:25

m.ts10806

総合スコア80842

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

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

naruriru

2019/01/09 14:01

ありがとうございます。 仕事で返信が遅くなりました(-_-;) 色々やってみたいと思います。
m.ts10806

2019/01/09 14:12

KSwordOfHasteさんの回答とあわせて、 ゴールを明確にした上で適切なやり方を探ってください。 「画像を表示」とはどのような状態なのか。もちろんコマンドで実行する限りコマンド内は文字列しか扱えませんので「画像を表示」とはなりません。 GUIにするにしても、Swingのようなデスクトップアプリケーションにしたいのか、サーブレットのようなWebアプリケーションにしたいのか。 やりたい方向性により利用するライブラリやフレームワークが違ってきます。 今の状態だと「要件不明瞭」ということを認識してください。
naruriru

2019/01/10 03:55

webアプリケーションにしたいです。 色々探ってみます。 ありがとうございます!!
m.ts10806

2019/01/10 03:56

では、ひとまずサーブレットですね。 「画面でレイアウトを見る」これはGUIです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問