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

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

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

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

Q&A

解決済

3回答

1484閲覧

合計人数が表示されません。

mari1105murata

総合スコア7

Java

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

0グッド

0クリップ

投稿2019/09/30 01:18

java

1コード

public class Kadai2 {
public static void main(String[] args) {
int sum = 0;

int[][] intArray = { { 30, 24, 24 }, //1年:1組,2組,3組 { 29, 21, 26 }, //2年:1組,2組,3組 { 31, 31, 31 }, //3年:1組,2組,3組 }; String[] strArray = { "1年", "2年", "3年" }; System.out.println("各学年の合計人数は、"); } public static void intArray(int[][]a){ System.out.println("年"); for(int i=0;i<a.length;i++){ System.out.print("人"); for(int j = 0;j < a[i].length; j++){ System.out.print(a[i][j]+ "人"); } } System.out.println("です。"); }//main

}// class

*【出力結果】

  • 各学年の合計人数は、
  • 1年:78人
  • 2年:76人
  • 3年:93人
  • です。

と出したいのに

各学年の合計人数は、

しかでません。

どの様に直せばいいでしょうか?

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

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

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

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

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

swordone

2019/09/30 02:53

課題が言っていることと、自分がコードでやっていることが全く違うことに気づいてください。
mari1105murata

2019/09/30 04:06

すみません。 よくわかっていないもので。。。 for文を二回つかってという条件もあったので。 まったくちがうんですね。 教えてくださってありがとうございます。
swordone

2019/09/30 04:17

メインの課題はなんですか? 「各学年の合計人数を出す」ことではないのですか?私が「課題が言ってること」というのはこっちの話ですよ。
mari1105murata

2019/09/30 04:23

以下の条件を満たすプログラムを完成させてください。 * * 【条件】 * ・プログラムに書かれている変数は必ず使用する * ・for文を二回使用する * *【出力結果】 * 各学年の合計人数は、 * 1年:78人 * 2年:76人 * 3年:93人 * です public class Kadai2 { public static void main(String[] args) { int sum = 0; int[][] Array = { { 30, 24, 24 }, //1年:1組,2組,3組 { 29, 21, 26 }, //2年:1組,2組,3組 { 31, 31, 31 }, //3年:1組,2組,3組 }; String[] strArray = { "1年", "2年", "3年" }; System.out.println("各学年の合計人数は、"); } public static void intArray(int[][]a){ です。
swordone

2019/09/30 04:51

そういう意味じゃ無くて… コメントで「for文を2回使う」ことに固執、というか「for文を2回使えばそれでOK」のように思われている節があったので、「そもそも何をするためのコードを書くの?」ということを自分で確認してもらいたく、コメントしました。
mari1105murata

2019/09/30 07:28

そうでしたか、よくわかっておらず申し訳ないです。 丁寧に回答してくださってありがとうございます!
guest

回答3

0

ベストアンサー

java

1 public static void main(String[] args) { 2 int sum = 0; 3 4 int[][] IntArray = { 5 {30, 24, 24}, //1年:1組,2組,3組 6 {29, 21, 26}, //2年:1組,2組,3組 7 {31, 31, 31}, //3年:1組,2組,3組 8 }; 9 10 String[] strArray = {"1年", "2年", "3年"}; 11 12 System.out.println("各学年の合計人数は、"); 13 intArray(IntArray); 14 } 15 16 public static void intArray(int[][] a) { 17 System.out.println("年"); 18 for (int i = 0; i < a.length; i++) { 19 System.out.print("人"); 20 for (int j = 0; j < a[i].length; j++) { 21 System.out.print(a[i][j] + "人"); 22 } 23 } 24 System.out.println("です。"); 25 }//main

のコードで

text

1run: 2各学年の合計人数は、 34人30人24人24人人29人21人26人人31人31人31人です。 5BUILD SUCCESSFUL (total time: 0 seconds)

と、なりますが・・・

「追記」ぜったい“これが正解"とは言えないのですが・・・

java

1/* 2 * Copyright © 2019 CatEye <cateye@sirius.ocn.ne.jp> 3 */ 4package javatest1; 5 6/** 7 * 8 * @author CatEye <cateye@sirius.ocn.ne.jp> 9 */ 10public class Javatest1 { 11 12 /** 13 * @param args the command line arguments 14 */ 15 public static void main(String[] args) { 16 17 int[][] IntArray = { 18 {30, 24, 24}, //1年:1組,2組,3組 19 {29, 21, 26}, //2年:1組,2組,3組 20 {31, 31, 31}, //3年:1組,2組,3組 21 }; 22 23 intArray(IntArray); 24 } 25 26 public static void intArray(int[][] a) { 27 System.out.println("各学年の合計人数は、"); 28 for (int i = 0; i < a.length; i++) { 29 int sum = 0; 30 for (int j = 0; j < a[i].length; j++) { 31 sum += a[i][j]; 32 } 33 System.out.println(i + 1 + "年:" + sum + "人"); 34 } 35 System.out.println("です。"); 36 } 37 38}

結果

text

1run: 2各学年の合計人数は、 31年:78人 42年:76人 53年:93人 6です。 7BUILD SUCCESSFUL (total time: 0 seconds)

投稿2019/09/30 02:36

編集2019/09/30 04:27
cateye

総合スコア6851

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

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

mari1105murata

2019/09/30 02:40

コードを考えてくださってありがとうございます。 ですが問題では for文を二回使う っという条件があるんです><
cateye

2019/09/30 02:50

出力のおかしなところに注目して下さい。・・・なぜそうなると思いますか?
cateye

2019/09/30 03:15 編集

main()で宣言したsumやstrArrayの使いみちは? System.out.println("年");やSystem.out.print("人");は、ここであっていますか? System.out.print(a[i][j] + "人");は、各クラスの人数を表示するだけですよね?
mari1105murata

2019/09/30 04:08

使い道とかわからずにやっていました。 すみません!
mari1105murata

2019/09/30 04:11

どこに書くと正しいのか、わからず書いていました。 合計人数が表示したいですが全然できていないですね。 テキストを読んでいますが本当にわかっておらず、文系大学しかでてないので理解力がないのかもしれません。
mari1105murata

2019/09/30 04:12

丁寧に回答してくださっているのに申し訳ないです。 ありがとうございます。
cateye

2019/09/30 04:22

一応、(たぶんw)大丈夫なソース上げますが、処理内容をしかり確認して下さい。
mari1105murata

2019/09/30 04:28

ご親切にありがとうございます!<(_ _)> 処理内容 理解できるよう、見直しします。
guest

0

main関数が、
「各学年の合計人数は、」を出力するところで終わってます

おそらく、intArray関数を実行する必要があると思われますが。

投稿2019/09/30 01:22

y_waiwai

総合スコア87774

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

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

mari1105murata

2019/09/30 01:34

ありがとうございます! intArray関数を実行する というのはどうすればできるのでしょうか?
y_waiwai

2019/09/30 01:41

> System.out.println("各学年の合計人数は、"); というのは、 System.out.println という関数を実行させている、ってことです。 同じように書けば、その関数も実行できますが、 main関数の中で同名の変数を定義してしまっているので、どちらかの名前を変えないと呼び出せませんね。
mari1105murata

2019/09/30 01:44

同名の変数 というのはint のことでしょうか? 理解力が乏しくて申し訳ないです。。。
cateye

2019/09/30 02:28 編集

関数のintArray()と配列のintArrayのことです。
swordone

2019/09/30 02:28

メソッド名と変数名は区別できるはずだから、そこはコンパイル上は問題ないと思うけど、 わかりにくいので変えたほうがいいのは確か。メソッド名の方を。
mari1105murata

2019/09/30 02:29

ありがとうございます! intArray()と配列のintArrayです。 これのどちらかを何かに変えないとだめなのですね。 何に変えたらいいでしょうか? もし初心者にも わかりそうなページがあれば教えてください。 インデント とてもよくわかりました!ありがとうございます。
guest

0

正しくインデントを入れてみてください。

java

1public static void main(String[] args) { 2 int sum = 0; 3 4 int[][] intArray = { 5 { 30, 24, 24 }, //1年:1組,2組,3組 6 { 29, 21, 26 }, //2年:1組,2組,3組 7 { 31, 31, 31 }, //3年:1組,2組,3組 8 }; 9 10 String[] strArray = { "1年", "2年", "3年" }; 11 12 System.out.println("各学年の合計人数は、"); 13}

「各学年の合計人数は、」を出力したところでmainメソッドが終わっているのですから、それしか出ないのは当然です。

投稿2019/09/30 01:22

swordone

総合スコア20651

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

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

mari1105murata

2019/09/30 01:35

ありがとうございます! インデントって{}のことでしょうか? 見直してみます。
swordone

2019/09/30 01:38

インデントは「段落下げ」のようなものです。 大体タブを入れるとか、タブが非推奨なところだと半角スペース4つ程度を入れます。
mari1105murata

2019/09/30 01:40

段落下げ のことをなのですね わかりました。 覚えます。ありがとうございます!
mari1105murata

2019/09/30 02:14

詳しく説明しているページを教えてくださってありがとうございます。 よく読んで勉強したいと思います!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問