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

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

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

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

Q&A

解決済

1回答

315閲覧

javaのarraylistについて

keitarou9

総合スコア1

Java

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

0グッド

0クリップ

投稿2020/10/20 10:47

scannerで入力値をwhile文でdouble型のarray listに格納するまでは上手くいっていますがsize要素数とget値を使って格納した値を取得したいのですが上手くいきません。どなたか教えてください。

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

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

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

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

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

m.ts10806

2020/10/20 10:58

自身ができているところまで提示してください。 あと「うまくいかない」は何も伝わらない表現なので、具体的に記載してください。
keitarou9

2020/10/22 06:10

import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class BildWidth { public static double totalBildWidth; public static double bildWidthList; public static void bildWidthGet() { final int ikken = 1820; //1間 = 1820cm Scanner sc = new Scanner(System.in); List<Double> bildWidthList = new ArrayList<>(); int nokisaki_keraba ; //軒先、ケラバ double kensuu ; //間数 double bildWidth = 1;//建物の横の長さ double totalBildWidth = 0;//建物の横の長さの合計 while(bildWidth > 0) { System.out.println("建物の横の長さ(間数)を入力してください。"); System.out.println("入力を終了するには(間数 0 )、(軒先、ケラバ 0 )を入力してください。"); kensuu = sc.nextDouble(); System.out.println("軒先、ケラバを入力してください。"); nokisaki_keraba = sc.nextInt(); bildWidth = ((kensuu * ikken) + nokisaki_keraba); //建物の横の長さ bildWidthList.add(bildWidth); System.out.print("建物の横の長さ" + bildWidthList+ "(cm)です。"); totalBildWidth += bildWidth; //建物の横の長さの合計 System.out.println("建物の横の長さの合計" + totalBildWidth + "(cm)です。"); if(bildWidth == 0.0) { System.out.print("入力を終了しました。"); break; } } } public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ bildWidthGet() ; } } import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class SumTotalKawara { public static void main(String[] args) { // TODO 自動生成されたメソッド・スタブ Scanner sc = new Scanner(System.in); BildWidth width = new BildWidth(); System.out.println("瓦の横(働き寸法)の長さを入力してください。"); double kawaraWide = sc.nextDouble(); //瓦の横の働き寸法 瓦によって違う為標準入力で取得 width.bildWidthGet(); List<Double> kawaraNamberList = new ArrayList<>(); double kawaraNamber;//瓦の枚数 for (int i = 0; i < width.bildWidthList.size() ; i++) { // bildWidthListの要素数分だけ計算。基本タイプdoubleで起動しませんとでます。 kawaraNamber = width.bildWidthList.get(i) / kawaraWide; //bildWidthListの要素を取り出す。基本タイプdoubleで起動しませんとでます。 System.out.println("瓦の枚数は" + kawaraNamber + "(枚)です。"); kawaraNamberList.add(kawaraNamber); } } }
keitarou9

2020/10/22 06:14 編集

返信遅くなりました。 Eclipseを使ってコードを書いています。 エラーは一番下の方になります。 勉強の為色々と分けてコードを書いています。 for (int i = 0; i < width.bildWidthList.size() ; i++) { // bildWidthListの要素数分だけ計算。基本タイプdoubleで起動しませんとでます。 kawaraNamber = width.bildWidthList.get(i) / kawaraWide; //bildWidthListの要素を取り出す。基本タイプdoubleで起動しませんとでます。
m.ts10806

2020/10/22 06:13

「質問への追記修正依頼」です。 もう1つのコメントにも「質問を編集しましょう」とあります。 こちらのコメントに追記されてもマークダウンが使えませんし、デフォルト非表示なので目につきません。
guest

回答1

0

ベストアンサー

BildWidthList に size というメソッドがないためにエラーが起きてます。
double型のBildWidthListとList型のBildWidthListが二つ存在しているような状態かと思います。そして、エラーで参照しているのはdouble型のためにエラーが起きているのではないかと思います。(自分も初心者のため、あやふやな回答ですみません。)
public static double bildWidthList; の行を public static List<Double> bildWidthList; に変更し、
List<Double> bildWidthList = new ArrayList<>(); の行を bildWidthList = new ArrayList<>(); に変更することでコンパイルエラーはなくなりました。
動作に関しては途中で止まることはないですが、どういう動作をすれば正しいのかわからないので確認してください。

投稿2020/10/25 06:09

norapomu

総合スコア224

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

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

keitarou9

2020/10/25 06:50

ありがとうございます。試してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問