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

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

詳細はこちら
Java

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

解決済

3回答

15570閲覧

ArrayList変数にfor文のループ処理をしたい(Java)

mon_00

総合スコア18

Java

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

0クリップ

投稿2019/10/23 03:09

編集2019/10/23 03:55

ArrayList変数を宣言したのち、1から10までの数値を要素として追加したいです。

その際、for文のループ処理を使用したいです。

また処理したのちに、要素全てを出力したいです。

初心者なりに書いてみましたが、エラー続きです。


Main.java:11: error: <identifier> expected
System.out.print(datas.get(total));
^
Main.java:11: error: <identifier> expected
System.out.print(datas.get(total));
^


アドバイスよろしくお願いします。

Java

1import java.util.ArrayList; 2 3public class main{ 4 public static void main(String[] args){ 5 ArrayList<Integer> datas = new ArrayList<>(); 6 int total = 0; 7 for (int i = 0; i<11;i++); 8 total += i; 9 datas.add(total); 10 } 11 System.out.print(datas.get(total)); 12}

期待値としては「12345678910」が望ましいです。

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

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

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

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

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

m.ts10806

2019/10/23 03:18

コードはマークダウンのcode機能を利用してご提示ください。 また「エラー続き」だけでは起きている問題は伝わりません。エラーメッセージ、ログをコピペしてください(「質問するときのヒント」も参照してください)
swordone

2019/10/23 03:31

> 1から10までの数値を「for文」を用いてループ処理したものを要素として追加したいです。 この日本語が意味不明です。これが適切な日本語で言えれば問題はほぼ解消したも同然です。
guest

回答3

0

ベストアンサー

私も研修中にArrayListの夢に魘されるくらいにはArrayListが嫌いでした。

でも慣れればどうということはありません。

結果をまとめて出力するサンプル1

Java

1public class Main { 2 public static void main(String[] args){ 3 ArrayList<Integer> datas = new ArrayList<>(); 4 5 int total = 0; 6 for (int i = 0; i<11;i++){ 7 // ループ処理はこの中に書かないと意味がない 8 datas.add(i); // Listに数値を追加(iに数値が入るからそれを利用) 9 } 10 System.out.println(datas); // まとめて出力 11 } 12}

サンプル1出力結果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

結果を1つずつ出力するサンプル2

Java

1public class Main { 2 public static void main(String[] args){ 3 ArrayList<Integer> datas = new ArrayList<>(); 4 5 int total = 0; 6 for (int i = 0; i<11;i++){ 7 // ループ処理はこの中に書かないと意味がない 8 datas.add(i); // Listに数値を追加(iに数値が入るからそれを利用) 9 } 10 11 for(int num : datas){ 12 // このfor文は拡張for文といってdatasの中身を一つずつ numに格納してくれます 13 System.out.println(num); // 1つずつ改行して出力 14 } 15 } 16}

サンプル2出力結果

0 1 2 3 4 5 6 7 8 9 10

拡張for文を使わずに結果を1つずつ出力するサンプル3

Java

1public class Main { 2 public static void main(String[] args){ 3 ArrayList<Integer> datas = new ArrayList<>(); 4 5 int total = 0; 6 for (int i = 0; i<11;i++){ 7 // ループ処理はこの中に書かないと意味がない 8 datas.add(i); // Listに数値を追加(iに数値が入るからそれを利用) 9 } 10 11 for(int j = 0; j < datas.size(); j++) { //for文はListのサイズ分回す 12 System.out.println(datas.get(j)); // datas.get(〇番目)で中身がとれる 13 } 14 } 15}

サンプル3出力結果

0 1 2 3 4 5 6 7 8 9 10

これだけサンプルがあればどれかは使いたい形に当てはまるんじゃないでしょうか。

投稿2019/10/23 04:11

編集2019/10/23 04:17
azuapricot

総合スコア2341

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

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

mon_00

2019/10/23 04:24

とても丁寧な回答ありがとうございます! サンプル1がもっとも近いコードだと思うのですが、「[ ]」と「、」を無くして連続で数値を出力する場合はどのような方法をとればいいのでしょうか?
azuapricot

2019/10/23 04:25

012345678910 って出力したいってことですか?
azuapricot

2019/10/23 04:26

↑なら println じゃなくて print に変えるだけですけど
mon_00

2019/10/23 04:45

なるほど! 理解力に乏しくて申し訳ありません。 無事にエラーが出ませんでした!
azuapricot

2019/10/23 04:46

解決したようで何よりです◎
guest

0

初心者なりに書いてみましたが、エラー続きです。

https://teratail.com/help/question-tips
ここを見て質問の仕方を参考にしてください。

今回の場合ですと特に、

エラーメッセージや実行ログをコピー&ペーストしましょう

が重要です。
あと、

ソースコードを書きましょう

の項目のソースコードの貼り方も参考にしましょう。

その他質問によって重要点は変わるので、上記ページを読むようお願いします。


で、エラーですが、
for文の書き方が不適切(文法上は問題ないけど動作上問題ある)なので
おそらく「iが宣言されてないよ」的なエラーが出ているかと思います 下の回答に沿った修正後に出ます。
それはfor文の書き方を見直しましょう。

あとたぶん

System.out.print(datas.get(total));

が書かれている位置でもエラーが出ていると思います いますね。

上記コードがmainメソッドの外で書かれているために発生しているエラーです。
mainメソッドの中に記述するように修正しましょう。

投稿2019/10/23 03:20

編集2019/10/23 04:05
dice142

総合スコア5158

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

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

mon_00

2019/10/23 04:00

修正させていただきました。アドバイスありがとうございます。
guest

0

ArrayList変数を宣言したのち、1から10までの数値を要素として追加したいです。

これをそのままやればいいだけです。
無理なら一旦forなしで書いてみては?

投稿2019/10/23 03:58

swordone

総合スコア20669

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

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

mon_00

2019/10/23 04:05

出力はどういうコードを入力するといいでしょうか? 何度か試しているのですが出力できません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問