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

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

ただいまの
回答率

90.33%

  • Java

    14464questions

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

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

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 297

makyo

score 1

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

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

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

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

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

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

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

}

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • asahina1979

    2018/05/29 07:50

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

    キャンセル

  • mts10806

    2018/05/29 09:08

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

    キャンセル

  • 退会済みユーザー

    2018/05/29 11:36

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

回答 3

+3

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

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/05/29 20: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);
    }
    }
    }

    キャンセル

checkベストアンサー

+1

図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 17: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);
    }
    }
    }

    キャンセル

  • 2018/05/29 17:39 編集

    > if(i%3==1) star = star+ "★";

    ↑これでは1行丸ごと「★」になりますね。

    キャンセル

  • 2018/05/29 20: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);
    }
    }
    }

    キャンセル

  • 2018/05/29 23:02

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

    キャンセル

  • 2018/05/29 23: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);
    }
    }
    }

    キャンセル

  • 2018/05/29 23:39

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

    キャンセル

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)
{

}

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Java

    14464questions

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