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

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

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

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

Q&A

解決済

3回答

1906閲覧

java メソッド 問題 プログラミング

a.smile

総合スコア13

Java

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

1グッド

1クリップ

投稿2018/11/13 19:25

編集2018/11/14 15:20

javaのプログラミングで、質問です。
methodを習いたてなのですが、まだ使いこなせずわからない問題があります。

問題;すべて0でない整数列で初期化されている配列を受け取って、その数列の総和を返すメソッドを記述せよ。

記述例:int a[]={1,2,3,4,5,6,7,8,9,10}
System.out.println("総和は"+calSum(a));
出力例;55

class MethodExample5_6{
public static int calsum(int a[]){
int sum=0;
for(int i=0;i<a.length;i++){
sum+=a[i];
/System.out.println(sum);/
}
return sum;

} public static void main(String[] args){ int a[]={1,2,3,4,5,6,7,8,9,10}; System.out.println("総和は"+ calsum(a)); }

}
コメントアウトしている部分をもともとはコメントアウトしておらずエラーがでていたのですが、なぜだめだったのでしょうかといった疑問です。

drinkva👍を押しています

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

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

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

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

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

phpsyoshinsya

2018/11/13 19:35

なにが問題となっていて、どこがわからないのでしょうか?理解できない点をお知らせください。
m.ts10806

2018/11/13 20:34 編集

学校での問題なら先生に聞いてください。課題や宿題の代行サイトではありません。
m.ts10806

2018/11/13 20:36

もしそのような意図ではないのでしたらまず自身が思う通りに組んでみてその上でつまずいたことを質問してください。その問題の出所や背景を誰も知らない以上、本来は解答(質問ではなく問題なので)を持っているのは先生やその問題集ですよね。
m.ts10806

2018/11/13 20:37

あと、タグがJavaScriptなのでJavaに修正しておいてください
guest

回答3

0

コメントアウトしている部分は

System.out.println (sum);

これではsum関数はなにを足し合わせればいいの?ちゃんとデータくれないと動作できないからそこんとこ何とかしてということだと想像します。

System.out.println (sum(a));

とすればエラーにはならないのではないかと。

このような関数を使うのもいいですが、

System.out.println (a[0]+a[1]+...a[9]);

これでも同じ答えが得られると思いますよ。

投稿2018/11/15 04:22

phpsyoshinsya

総合スコア156

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

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

LouiS0616

2018/11/15 04:39

sumはcalsumメソッド内のローカル変数です。
phpsyoshinsya

2018/11/15 04:52

私のチェック不足で申し訳ありませんでした。
a.smile

2018/11/16 03:19

ありがとうございます。 うまくいきました。本当にありがとうございました。
guest

0

ベストアンサー

java

1package teratail; 2 3public class MainTera { 4 public static void main(String[] args) { 5 int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; 6 System.out.println("総和は" + calSum(a)); 7 } 8 9 static int calSum(int[] ary) { 10 int sum = 0; 11 for (int v : ary) { 12 sum += v; 13 } 14 return sum; 15 } 16}

入門書や入門サイトでメソッド, for, 配列 について学んでみてください。

投稿2018/11/13 21:47

katoy

総合スコア22324

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

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

a.smile

2018/11/14 15:11

丁寧な解答をありがとうございました。じつは回答者様のアンサーを拝見する前に解決してしまったのですが、簡単な問題なのにわざわざ丁寧に答えてくださり、感謝しております。ありがとうございました。
guest

0

まず、あなたが学習中なのは、
JavaScript
Java

どちらですか?

JavaとJavaScriptの違いはご存知ですか?

提示されているコードはJavaです。
それなら、クラス定義やmain関数がないとコンパイルできません。
JavaScriptなら全く書き方が変わってきます。

どちらもオブジェクト指向には違いませんが、区別ははっきりさせた方がいいと思いますよ。

投稿2018/11/13 19:44

phpsyoshinsya

総合スコア156

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

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

m.ts10806

2018/11/13 20:33 編集

その指摘は間違ってます。 記述例から明らかにJavaです。 なぜJavaScriptを引き合いに出されているのでしょうか。 質問者さんが余計に混乱するだけでは。
phpsyoshinsya

2018/11/13 20:36

はい、私もJavaと思ってますが、どの部分のアドバイスが間違っているかお知らせいただけますか?
phpsyoshinsya

2018/11/13 20:38

それはタイトルにジャバスクリプトとあり、本文内でジャバとなっているのと、タグでジャバスクリプトが選択されているためです。
m.ts10806

2018/11/13 20:40

別途コメントで指摘した通りです。 強いてなら「回答になってない」ですね。 この質問内容ですとそもそも回答すべきかどうか一考すべきですし、回答するなら実際のコードになります。 この回答内容は「追記修正依頼」にとどめる内容かと。
phpsyoshinsya

2018/11/13 20:56

はい、それは認めます。また追記修正依頼として何がわからなくてなにを理解できないのかお知らせいただくようにしています。
m.ts10806

2018/11/13 21:00

それも私が書いた通りです。 明らかにJavaなのであればタグの修正を促すだけで良いです。質問内容の要件不明瞭なのと、丸投げなのと、問題課題不明瞭なのがこの質問の指摘点なので。(teratail的に非推奨)
m.ts10806

2018/11/13 21:02

つまり確認中であればその返信があってから回答しないと何も解決にならなくて、質問者さんを混乱させるだけになります。
phpsyoshinsya

2018/11/13 21:12

そうかもしれませんが、もしかしてJavaはタグで選択もしくは書き込みできないようにはなっているのでしょうか?
m.ts10806

2018/11/13 21:17

それは「タグ一覧」確認すると良いですよ。または他のJavaの質問。 ご自身で新規質問画面を投稿ボタン押さずに確認しても良いですし。
phpsyoshinsya

2018/11/13 21:24

それは少し私の考え方とは合わないようですね。確かに非推奨であるのは事実ですが、そうであったとしても早いうちにJavaScriptとJavaの区別を促すのも、これから大切になってくるでしょうし、また学習中であるならそこは少しでも寛大に対処してもいいのではないかと。
m.ts10806

2018/11/13 21:36 編集

回答に対するコメントと、追記修正依頼のコメントは切り分けてください。 私はあくまでteratailのヘルプや質問するときのヒントから指摘をしているだけなので、それを「合わない」とご自身の考えを前面に出すのであればteratailに合わないとイコールにもなり得ます。 「区別できてない」のか「使い方に慣れていない」のか「確認しないまま投稿してしまった」のかは現在の内容から断定はできませんし、実際に質問者さん本人にしか分かりません。 なので、そこは「区別ができていない」と決めうちで指摘するよりも状況から内容修正を促して、気づくのを待つのが回答者としてのやり方だと思います。 あまり別件をここで取り上げるのは良くありませんが、ご自身も未解決の質問を複数抱えられていますし、そちらが先決では?
a.smile

2018/11/14 15:09

このようなサイトの使い方をまだ知らずに質問してしまい、自分である程度考えたうえでの質問だったのですが、回答者さまからすると、何がわからなくて躓いているのかわからないなと反省いたしました。ご迷惑おかけして申し訳ありませんでした。なお、この問題は自分の力で解決できましたので、考える力も身についたように思います。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問