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

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

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

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

Q&A

解決済

2回答

1671閲覧

java 不特定人数の合計値集計

stzyang

総合スコア6

Java

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

0グッド

0クリップ

投稿2020/09/07 03:47

javaにて初めに人数を入力してもらい、そのあとその人数分だけ所定の値を入力してもらい、その合計値を出すプログラムを作っています。
人数を取得してその分だけ所定の値を入力するプログラムまではできたのですが合計値を出すところで詰まってしまっています
初歩的なことかもしれませんが教えてください。

java

1import java.util.Scanner; 2public class stet { 3 public static void main (String[]args) { 4 System.out.println("初めに人数を入力してください"); 5 int ninzuu = new Scanner(System.in).nextInt(); 6 for (int i = 1; i <= ninzuu; i++) { 7 System.out.println("所持金を入力してください"); 8 int k = new Scanner(System.in).nextInt(); 9 int j =+ k; 10 if (i == ninzuu) { 11 System.out.println("合計金額は" + j + "です"); 12 } 13 } 14 } 15} 16

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

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

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

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

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

coco_bauer

2020/09/07 04:03

「int j =+ k;」を「int j += k;」にしてみてください。
guest

回答2

0

3点。

1.合計を表すjの宣言位置
元ソースコードだと、for文で繰り返しするたびに初期化されてしまいます。
for文の外でjを宣言すると、意図した内容になるでしょう。

2.合計するための演算子間違い
また、「=+」は「+=」かと思います。

3.合計金額の出力
「1.」と同じ理由でfor文の外でjの表示がされなかったと推測します。
適切なjの宣言位置で、for文後に表示できます。

Java

1 System.out.println("初めに人数を入力してください"); 2 int ninzuu = new Scanner(System.in).nextInt(); 3 int j = 0; 4 for (int i = 1; i <= ninzuu; i++) { 5 System.out.println("所持金を入力してください"); 6 int k = new Scanner(System.in).nextInt(); 7 j += k; 8 } 9 System.out.println("合計金額は" + j + "です");

投稿2020/09/07 04:04

kay-ws

総合スコア106

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

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

stzyang

2020/09/08 22:18

返信遅くなり申し訳ありません。 丁寧な解説ありがとうございます!! 無事解決できました!
guest

0

ベストアンサー

int j =+ k;forループの内側で宣言しているので、この変数はループ1回毎にリセットされます。

int j = 0;をループ直前で宣言して、中ではj+=k;としていきましょう。

投稿2020/09/07 03:52

maisumakun

総合スコア146018

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

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

stzyang

2020/09/07 03:59

素早い回答ありがとうございます forループの繰り返しごとのリセット完全に忘れてました。 もっと基礎を磨きますm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問