🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

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

Q&A

解決済

4回答

3593閲覧

1~100までの出力while文1回だけ

Takoyaki_0000

総合スコア8

Java

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

0グッド

0クリップ

投稿2019/11/22 12:57

編集2019/11/22 13:00

1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20



91 92 93 94 95 96 97 98 99 100

上のような実行結果になるように1~100までの整数を出力したいです。なお、while文は1回だけ使うものにしたいです。(数字が綺麗に揃うようにスペースも入れます。)

public

1 public static void main(String[] args){ 2 int n = 1; 3 while(n<10){ 4 System.out.print(” ”+n); 5 n++; 6 } 7 System.out.println(” ”+n); 8 n++; 9 while(n < 100){ 10 while((n % 10) !=0){ 11 System.out.print(” ” + n); 12 n++; 13 } 14 System.out.println(” ” + n); 15 n++; 16 } 17 } 18 } 19

これをwhile文1回だけ使うプログラムにしたいです。

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

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

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

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

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

otn

2019/11/22 13:37 編集

コードの全角文字を半角文字にしましょう。 数字がきれいにそろいませんが、コードの空白がおかしい??
guest

回答4

0

java

1public static void main(String[] args){ 2 while (false) {} 3 System.out.println(" 1 2 3 4 5 6 7 8 9 10"); 4 System.out.println("11 12 13 14 15 16 17 18 19 20"); 5 System.out.println("21 22 23 24 25 26 27 28 29 30"); 6 System.out.println("31 32 33 34 35 36 37 38 39 40"); 7 System.out.println("41 42 43 44 45 46 47 48 49 50"); 8 System.out.println("51 52 53 54 55 56 57 58 59 60"); 9 System.out.println("61 62 63 64 65 66 67 68 69 70"); 10 System.out.println("71 72 73 74 75 76 77 78 79 80"); 11 System.out.println("81 82 83 84 85 86 87 88 89 90"); 12 System.out.println("91 92 93 94 95 96 97 98 99 100"); 13}

他には、二つある while のうちの一方を for に書き換えても、while を一度だけ使うという条件に当てはまります。

まあ、質問には合致するため回答しましたが、自分でもこんな回答を望んでいるわけではないと思っています。
しかし、かと言ってこの質問だとどういう回答を求めているのかよくわかりません。
このまま回答を募っても大喜利にしかならないと思います。
もしこういう回答を望んでいるわけではないというのであれば、どういう回答を望んでいるのか明確に提示してください。

投稿2019/11/22 13:23

2KOH

総合スコア999

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

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

退会済みユーザー

退会済みユーザー

2019/11/22 14:05

ちなみに3つある
2KOH

2019/11/22 14:14

あ、本当ですね。 入れ子になっている方しか見てませんでした。 まあ、3つあっても、そのうち2つを for に置き換えればいいだけですけど。
guest

0

int n=0; while (++n<=100) System.out.printf("%4d"+(n%10==0?"%n":""),n);

字合わせ4桁で10の倍数出力するときは改行を入れる、
タブレット入力でノーテストなのでイメージのみ。

投稿2019/11/22 13:56

編集2019/11/22 13:59
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

ベストアンサー

こんにちは

一案を回答します。

java

1class Main { 2 public static void main(String[] args) { 3 int n = 1; 4 String[] a = new String[10]; 5 while (n <= 100) { 6 a[(n-1) % 10] = String.format("%2d", n); 7 if (n % 10 == 0) { 8 System.out.println(String.join(" ", a)); 9 } 10 n ++; 11 } 12 } 13} 14

投稿2019/11/22 13:23

編集2019/11/22 13:36
jun68ykt

総合スコア9058

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

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

退会済みユーザー

退会済みユーザー

2019/11/22 13:46

まともにやるなら3lでかけるな。
退会済みユーザー

退会済みユーザー

2019/11/22 14:03

最後100なんで2桁合わせは崩れるのでは
jun68ykt

2019/11/23 04:57 編集

> 最後100なんで2桁合わせは崩れるのでは 上記について返答します。 d_tutuzさんの回答への、質問者Takoyaki_0000さんからの2019/11/22 22:30のコメントに > すいません、説明不足だったみたいですが、1~10は下の数字に合わせてスペースを入れてください。(例えば、1は、11の1の位の上に置くようにしてください。) > それと、実行してみましたが101も出力されます。 とあって、上記には > 1~10は下の数字に合わせてスペースを入れてください。 という要件が明示されています。これに加えて、もし、100の一の位の0と、その上の90の0とを位置合わせることも、must要件に含まれるのであれば、(d_tutuzさんの回答に記載されている出力結果で、100 と 90 とは、一の位での位置合わせになっていないことから、)上記のTakoyaki_0000さんのコメントに併記されているのが自然と思われましたが、その記載はなかったので、100の一の位の0と、90の0とを合わせることはmust要件ではないと考えました。 もちろん、(Takoyaki_0000さんにとってはmust要件ではないかもしれないが、)100の一の位の0と、90の0とを合わせるようにしたほうがよいかもしれない、とも思いましたが、考慮の末、その点は本回答のコードに盛り込むスコープからは外した次第です。以上、何卒、ご理解賜りたく。
guest

0

なにかの課題でしょうか?以下に回答例を示します。

java

1public class Main { 2 public static void main(String[] args){ 3 int n = 0; 4 while(n++ <= 100){ 5 if(n % 10 == 0){ 6 System.out.println(" "+ n); 7 n++; 8 } 9 System.out.print(" " + n); 10 } 11 } 12}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

投稿2019/11/22 13:11

d_tutuz

総合スコア730

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

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

Takoyaki_0000

2019/11/22 13:30

すいません、説明不足だったみたいですが、1~10は下の数字に合わせてスペースを入れてください。(例えば、1は、11の1の位の上に置くようにしてください。) それと、実行してみましたが101も出力されます。
jun68ykt

2019/11/22 13:51 編集

これだと、最後の行として、 "101" が表示されませんか?
d_tutuz

2019/11/22 13:38

ちょっと雑でした。すみません。 スペースを 100 などの数字にあわせるとすると、フォーマットするほうがよいでしょう。 ```java public class Main { public static void main(String[] args){ int n = 0; while(++n <= 100){ if(n % 10 == 0){ System.out.printf("%4d\n", n); } else { System.out.printf("%4d", n); } } } } ```
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問