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

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

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

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

Q&A

解決済

3回答

271閲覧

解答例とその解説教えて頂けると幸いです。よろしくお願いいたします。

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

0グッド

2クリップ

投稿2018/05/28 18:05

編集2018/05/28 22:42

解答例とその解説教えて頂けると幸いです。よろしくお願いいたします。
小生、java超入門者です。

●繰り返し処理を用いての文字列を表示するプログラム
●条件分岐処理を用いての文字列を表示するプログラム

といった入門を学び中、こちらの問題に当たり、1日トライしましたが分からずこちらに書き込みました。何が分からないかを説明出て来ない程度の初心者につきこのような足らず文お許し下さい。
イメージ説明

(追記分)
説明不足で申しわけありません。
下記内容この課題の前のテキスト内容になります。
直後、この課題が投げかけれらたので、どうして良いか分からず、止まってしまいました。
イメージ説明

ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

次のプログラムの実行結果を推測し,選択肢から選べ。

public void paint(Graphics g){

int xPosition = 10, yPosition = 10; for(int i=0; i<10; i++){ String star = ""; yPosition = yPosition + 10; for(int j=0; j<10; j++){ if(i<j)star = star + "★"; } g.drawString(star, xPosition, yPosition); }

}

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/05/28 20:43

Java Appletは廃止の方向なので入門書を変えた方がいいと思います。
m.ts10806

2018/05/28 21:38

さすがに何もコードなしに丸投げは回答者の負担が大きすぎるかとー。入門書をご利用であれば(Appletがいいかは別として)書籍内に必ずヒントがあるのでそれを元に組み立ててください。自分でやらないと「できた気」になってしまって身につきません。特にこの手のものは「考え方」なのでここで出来る限り自分で書く癖をつけておかないと入門だけで終わります。
umyu

2018/05/28 22:09

現状できている部分のソースコードを質問文に追記してくださいな。
退会済みユーザー

退会済みユーザー

2018/05/28 22:47

学校の課題は無意味なことが多いから仕方がないなw
退会済みユーザー

退会済みユーザー

2018/05/28 22:50

アプレットはすでに廃止がきまってるのになぜ勉強するんですかって質問をするための課題?
m.ts10806

2018/05/29 00:08

これは自身のコードではなく書籍のコードでは。”課題に対して自分で組んだコードを提示してください” あと、コードは質問内容としては最も重要な部分であるため、見やすくしていただけると助かります。<code>ボタン押下→「コード」部分にコードを貼り付け→「ここに言語を入力」に対象言語名記入(エラーメッセージの場合は不要)の手順で「コードハイライト化」してください。(質問編集画面ではリアルタイムでプレビューが表示されるので見ながら調整してください)
guest

回答3

0

・色を付けて文字を出力する方法
・文字出力の法則
・色出力の法則
まずはこれらを考える必要がありますねー
あなたはどう思いますか

投稿2018/05/28 22:44

y_waiwai

総合スコア87749

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

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

退会済みユーザー

退会済みユーザー

2018/05/29 11:19

見た感じ、似たようなモノを作ってみたのですが、これでは色の設定ができないですよね、、。困り果てておりました。 何かヒントを頂戴できれば幸いです。 ーーーーーーーーーーーーーーーーーーーーーーーーー public void paint(Graphics g){ int xPosition = 30, yPosition = 30; for(int i=1; i<14; i++){ String star = ""; yPosition = yPosition + 10; for(int j=1; j<5; j++){ if(i%3==1) star = star+"●▲◼︎"; if(i%3==2) star = star+"▲◼●︎"; if(i%3==0) star = star+"◼●︎▲"; } g.drawString(star, xPosition, yPosition); } } }
guest

0

ベストアンサー

図3のように、3色以上および3種類以上の文字を用いて13x13個の文字を出力するプログラムを作成せよ。
なお、図において使用している文字は「★」、「◆」、「♪」である。

まずは「決まった法則で順番に文字を出力する」という点に着目してみましょうか。

提示されているイメージでは先頭2行は下記のようになっています。

1 4 7 10 13 ★◆♪★◆♪★◆♪★◆♪★ ◆♪★◆♪★◆♪★◆♪★◆

↑これより、「★◆♪」という文字列に含まれる文字が規則的に出力されていることが分かります。

「n文字目に出力される文字はxである」 -- 命題1

↑この命題に対して、xの求め方は分かりますか?
「★」が出力されるのは、1文字目、4文字目、7文字目... というようになりますね。
ここに規則性は見出せませんか?

13文字目を出力したら改行し、引き続き同じ規則に従って出力文字を変えていきます。

次に、文字色について。

提示されているイメージでは、出力される文字色にも法則があるようです。

1 2 3 4 5 青赤赤緑青青赤赤緑青青赤赤 青赤赤緑青青赤赤緑青青赤赤

行頭から数えて何文字目か、によって出力される文字色に規則性は見出せませんか?

「行頭からm文字目に出力される文字の文字色はyである」 -- 命題2

●繰り返し処理を用いての文字列を表示するプログラム

繰り返し処理を用いる、ということについてはすでに学習済みのようです。

・現在の文字が処理開始から何番目の出力か?
・現在の文字が行頭から何番目の出力か?

↑これについては、学習済みの内容から判定できそうですね。

●条件分岐処理を用いての文字列を表示するプログラム

↑命題1、命題2の判定もここからの応用でできそうです。

投稿2018/05/29 02:03

tkturbo

総合スコア5572

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

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

退会済みユーザー

退会済みユーザー

2018/05/29 08:20

皆様、いろいろなアドバイス、またご指摘ありがとうございます。小生、ドの着く初心者で、質問にもなっていない内容で申しわけございません。 取り急ぎ気になった点を自分なりに考えうってみたのですが、やはり思い通りにいかない状況でした。(色の設定前に、3種のパターンを13✖️13文字で出したかったのですが、、、汗) アドバイスありましたら、お願いいたします。 ーーーーーーーーーーーーーーーーーーーーーーーーーー public void paint(Graphics g){ int xPosition = 10, yPosition = 10; for(int i=1; i<14; i++){ String star = ""; yPosition = yPosition + 10; for(int j=1; j<14; j++){ if(i%3==1) star = star+ "★"; if(i%3==2) star = star + "◆︎"; if(i%3==0) star = star + "♪"; } g.drawString(star, xPosition, yPosition); } } }
tkturbo

2018/05/29 13:24 編集

> if(i%3==1) star = star+ "★"; ↑これでは1行丸ごと「★」になりますね。
退会済みユーザー

退会済みユーザー

2018/05/29 11:14

このような作り方ではたどり着けないと分かっていながら、パソコンいじっておりました。もし、何かヒントを頂戴できれば幸いです。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーー public void paint(Graphics g){ int xPosition = 30, yPosition = 30; for(int i=1; i<14; i++){ String star = ""; yPosition = yPosition + 10; for(int j=1; j<5; j++){ if(i%3==1) star = star+"●▲◼︎"; if(i%3==2) star = star+"▲◼●︎"; if(i%3==0) star = star+"◼●︎▲"; } g.drawString(star, xPosition, yPosition); } } }
tkturbo

2018/05/29 14:02

段階を踏みましょう。 まず、「処理開始から何文字目の出力ですか?」「何を出力しますか?」「何文字出力したら改行しますか?」ができるようになるのが先決です。
退会済みユーザー

退会済みユーザー

2018/05/29 14:24

最初から考え作り直したのですが、今度はカラーの指定ができずにおりました。度々申しわけございません、なにかヒントありましたらお願いいたします。 -------------------------------------------------------------------- public void paint(Graphics g){ int xPosition = 30, yPosition = 30; for(int i=1; i<14; i++){ String star = ""; yPosition = yPosition + 10; for(int j=1; j<14; j++){ if(j==1||j==5||j==6||j==10||j==11){ g.setColor(Color.blue); }else if(j==2||j==3||j==7||j==8||j==12||j==13){ g.setColor(Color.red); }else{ g.setColor(Color.green); } if((i+j)%3==2) star =star+ "●"; if((i+j)%3==0) star =star+ "▲"; if((i+j)%3==1) star =star+ "◼︎︎"; } g.drawString(star, xPosition, yPosition); } } }
tkturbo

2018/05/29 14:39

String[] colors = {"blue","red","red","green","blue"}; for(int columns = 0; columns < 13; columns++){ System.out.println(colors[columns%5]); }
guest

0

javaの文型覚えてないですが、
以下みたいな感じでやってみたらどうでしょう?

for(i=0;i<13;++i) { for(j=0;j<13;j++) { a=出力文字取得(i,j); b=文字色取得(j) 出力(a,b) } 改行 } 出力文字取得(int i,int j) { } 文字色取得(int j) { } 出力(a,b) { }

投稿2018/05/29 01:23

編集2018/05/29 01:27
tamina

総合スコア136

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問