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

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

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

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

Q&A

解決済

4回答

2233閲覧

1から100の整数を順に生成した後Stringの配列に代入してFor文を使って表示したい。

souhan

総合スコア8

Java

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

0グッド

0クリップ

投稿2018/03/28 05:18

前提・実現したいこと

1から100の整数を順に生成、Stringの配列に代入してFor文を使って表示したい。
その際に、一度Stringの配列を作る。

現在javaを学んでおり、この問題に取り組んでいるのですが
うまくいきません。
どなたかご教授お願いします。

詳しくはないので解説を頂けると非常に助かります

該当のソースコード

public class hairetu {

public static void main(String[] args) { int number = 100; String number1 = String.valueOf(number); number1 = number + ""; String[] strarray = new String[100]; for (int i = 1; i <= strarray.length; i++) { strarray[i] = String.valueOf(1); strarray[0] = String.valueOf(1); strarray[1] = String.valueOf(2); strarray[2] = String.valueOf(3); strarray[3] = String.valueOf(4); strarray[4] = String.valueOf(5); strarray[5] = String.valueOf(6); strarray[6] = String.valueOf(7); strarray[7] = String.valueOf(8); strarray[8] = String.valueOf(9); strarray[9] = String.valueOf(10); System.out.println(i);{ } } }

}

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

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

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

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

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

guest

回答4

0

ベストアンサー

こんにちは
1から100までを表示するのでfor文またはwhile文を使いましょう(今回はfor文)
1.1から100までの文字を格納する配列を用意する (下のソースではnumberとしています。)
2.String.valueOfを使ってint型の整数をString型の文字列に変換する。
3.配列numberにそれぞれ文字列を格納したのでfor文で表示する。

以上のことをすれば1から100まで表示されると思います。
以下ソースコードとなります。

Java

1public class Main { 2 3 public static void main(String args[]) { 4 5 String []number = new String[100]; 6 7 for(int i = 0; i < number.length; i++){ 8 number[i] = String.valueOf(i + 1); 9 } 10 for(int i = 0; i < number.length; i++){ 11 System.out.println(number[i]); 12 } 13 } 14 15}

投稿2018/03/28 05:41

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

souhan

2018/03/28 06:13

わかりやすくコードを用いて解説してくださりありがとうございます。 手順も書いてくださっているため、一つ一つのコードの意味を把握しやすいです。 ありがとうございます!
souhan

2018/03/28 14:27

今更なんですが、「for(int i = 0; i < number.length; i++){ 」 このコードが2つ見られるのですが、何か意味があるのでしょうか? 無知で申し訳ありません。もし差し支えなければコードについて解説を お願いできませんでしょうか?
退会済みユーザー

退会済みユーザー

2018/03/29 09:23

1つ目のfor文ではint型の変数をString型の文字列に変換し、配列に格納する「処理」をしています。 2つ目のfor文では文字列を格納した配列を「結果」として表示しています。 一般的に「処理」と「結果」は分けて書きます。 (今回の場合は、一つのfor文にまとめてもエラーが出ませんが  一つにまとめるとエラーが出るケースも存在します。)
souhan

2018/03/30 02:00

ありがとうございます!非常にわかりやすいです。 おかげでコード一つ一つの意味を理解できました!
guest

0

public class Main { public static void main(String args[]) { String[] arr = new String[100]; for(int i = 0; i < arr.length; arr[i++] = "" + i); for(int i = 0; i < arr.length; System.out.println(arr[i++])); } }

こんな書き方もあるでよ。

投稿2018/03/28 06:04

tkturbo

総合スコア5572

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

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

souhan

2018/03/28 06:17

実行してみたところしっかりと表示されました。 これは少し短縮した書き方なのでしょうか? 参考になります! ありがとうございました!
guest

0

まず、繰り返しを行うなら for なり while なりを使うことをまず考えましょう。
※配列になってしまうと Iterator を使うことを考えますが、それはこの後の話

さて、1~100 の整数を順に生成して配列に代入してするのですから、繰り返しです。

手順としては、

  1. 100個の要素を入れられる string 型の配列を用意する
  2. for で 1. の配列の各要素に、数値を文字列化して設定する
  3. for で 1. の配列の各要素(すでに中身は入っている)を、出力する

ということになります。
※2. と 3. を一つの for でやれなくもないのですが、設問の意図を考えると別々にやるのを求めているように見えます

Java では変数の型は厳密ですから、数値を文字列にするにはそれなりの変換処理をしてやらねばなりません。Java の標準ライブラリの中に、toString() というそのものズバリの名前のメソッドがあります。これを使えば、「ある数値を表す文字列」を作ることは簡単です。

valueOf でもいいのですが、どちらかといえば toString() を使う方が多いですね。
※ただし厳密に言えば、プリミティブ型である int を Integer 型に auto-boxing してから toString() するので、遅くなります

投稿2018/03/28 05:28

編集2018/03/28 05:46
tacsheaven

総合スコア13703

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

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

swordone

2018/03/28 05:53

プリミティブのオーバーロードもあるので問題ないです。
souhan

2018/03/28 06:10

正直、自分の中でコードを書く手順がわからないところがあったので 参考になります! ありがとうございます!
guest

0

まず、配列に入れるのを忘れて、「1から100の整数を順に『表示』する」コードを書いてみてください。

投稿2018/03/28 05:25

swordone

総合スコア20651

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

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

souhan

2018/03/28 06:09

頭の中がかなり混乱していたのでありがたい助言です。 一から書いてみます。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問