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

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

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

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

Q&A

4回答

153閲覧

二重ループについて。

Valgau

総合スコア8

Java

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

0グッド

0クリップ

投稿2018/07/04 06:44

public static void main(String[] args){
for(int y=0; y<3; y++){
for(int x=0; x<3; x++){
System.out.print((char)('A'+(x+y*3)));
}
System.out.println();
}
}
}
実行結果は
ABC
DEF
GHI  となりますがこれを

A
BC
DEF という実行結果にするにはどう変更したらいいですかね...?

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

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

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

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

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

m.ts10806

2018/07/04 06:45

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

2018/07/04 06:46

一応、指摘しておきますと、このままでは丸投げです、自身が試したコードを提示して、何がどう分からなかったか、起きた現象などもあわせて記載してください。
m.ts10806

2018/07/04 07:10

あと、このコードはカッコ{}の数が合っていないため動きません。Classの閉じカッコも持ってこられたのでしょうか?いっそのことコード全て提示されたほうが間違いないように思います。
guest

回答4

0

とりあえず三角形状に出力するには、内部のループの条件部を少し修正すればよいです。

Java

1for(int x=0; ここを工夫する; x++){

一周目は一文字、二周目は二文字... さて、どのように書き換えれば良いでしょうか。


次のように表示できるようになってから、『Aから順に並べる方法』を検討しましょう。
段階的に考えていくのが大事です。

plain

1A 2DE 3GHI

投稿2018/07/04 06:52

LouiS0616

総合スコア35660

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

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

m.ts10806

2018/07/04 07:01

>次のように表示できるようになってから ここまで出来ても考えの方向をミスると泥沼にハマりそうですね。
LouiS0616

2018/07/04 07:06

段階的にヒントは出していくつもりです。 丸投げ回答は避けたいと思いつつ、初心者さんが直接的な回答を欲しがる気持ちもわかりますので。
Valgau

2018/07/04 13:26

段々にはできたのですが、Cが2つ表示されます。どうしてなのでしょうか??
LouiS0616

2018/07/04 13:29

ちょっとCが二回出る状況が想像できないので、現状完成しているコードをお見せください。
Valgau

2018/07/04 13:35

public static void main(String[] args) { for (int y = 0; y<3; y++) { for (int x = 0; x <= y; x++) { System.out.print((char) ('A' + (x+y*1))); } System.out.println(); } } } 今はこうなってます。
LouiS0616

2018/07/04 16:02 編集

なるほど。確かにCが二回出ますね。 --- 解決する方法はいくつかありますが、わかりやすいのは出力回数をカウントする方法です。 ループ外に int index = 0 とでも宣言しておき、出力ごとに index++ すれば良いです。 出力したい文字自体は 'A' + index で取得できます。
guest

0

java

1for (int y = 0, c = 0; y < 3; y++) { 2 for (int x = 0; x <= y; x++, c++) { 3 System.out.print((char) ('A' + c)); 4 } 5 System.out.println(); 6}

投稿2018/07/04 10:26

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

javascript

1(()=>{ 2for(let i = 0, n = 0; i < 3; i++){ 3 let line = ""; 4 for(let j = 0; j <=i; j++){ 5 line += (n++); 6 } 7 console.log(line); 8} 9})()

他の言語だと、このようにすると出力結果が

0 12 345

このように。

投稿2018/07/04 08:07

tkturbo

総合スコア5572

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

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

0

java

1public static void main(String[] args){ 2 for(int y=0; y<3; y++){ 3 for(int x=0; x<y; x++){ 4 System.out.print((char)('A'+(x+y*3))); 5 } 6 System.out.println(); 7 } 8}

これでできるかと思います。

投稿2018/07/04 06:54

ta_ku0419

総合スコア13

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

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

LouiS0616

2018/07/04 06:56

このコードだと次のように表示されます。 (空行) D GH
m.ts10806

2018/07/04 07:03

検証済みか未検証かは書いてあげたほうが良いです。 未記載だと検証済みだと思ってしまいます。ただ既に指摘があるように要件通りには出ません。 すぐ環境用意できないのでしたら下記のようなWebサービスを利用されてはいかがでしょうか。 https://paiza.io/ja/projects/new
ta_ku0419

2018/07/04 07:03

確認不足ですみません。 やってみたところ LouiS0616さんと同じ状態になってしまいました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問