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

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

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

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

Q&A

解決済

1回答

2443閲覧

JAVA:2つの入力値の間の、整数の和を求めたい

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

0グッド

0クリップ

投稿2020/05/04 08:49

編集2020/05/04 09:36

前提・実現したいこと

JAVA超初心者です
下記の練習問題に苦戦しており、何をどのように考えたらよいのか、初心者向けにご教示いただけますと幸いです。

2つの入力値の、間の整数の和を求めるプログラムを実装したいです。

例えば、「1」と「3」を入力した際には、
下記のように「6(1+2+3)」が表記されるようにしたいです。

>java toi2 1 3 >1 から3 を足した合計は6

発生している問題・エラーメッセージ

c:\practice>javac toi2.java toi2.java:19: m は f(int,int) で定義されています。 int m,n; ^ toi2.java:19: n は f(int,int) で定義されています。 int m,n; ^ toi2.java:20: シンボルを見つけられません。 シンボル: 変数 args 場所 : toi2 の クラス m = Integer.parseInt(args[0]); ^ toi2.java:21: シンボルを見つけられません。 シンボル: 変数 args 場所 : toi2 の クラス n = Integer.parseInt(args[1]); ^ toi2.java:24: total は f(int,int) で定義されています。 int total=n; ^ エラー 5 個

該当のソースコード

class toi2{ public static void main(String args[]){ int a; a = args.length; if(a !=2){ System.out.println("整数を2つ入力してください"); return; } } public static int f(int m,int n){ int total = 0; int m,n; m = Integer.parseInt(args[0]); n = Integer.parseInt(args[1]); if(m>n){ int total=n; n = m; m = total; System.out.print(n+"から"+m+"を足した合計は"); } }; }; }

試したこと

何回か打ち直しはしてみました。
合計を求める部分はネットで調べながらなんとか真似してみたものの、理解が追い付いていない状態です。

補足情報(FW/ツールのバージョンなど)

java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

windowsです

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

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

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

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

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

Yasumichi

2020/05/04 09:06

2つの入力値の、間の整数の和を求める所を具体例で説明してください。
dodox86

2020/05/04 09:08 編集

> 2つの入力値の、間の整数の和 と言う表現が分かりません。"間の整数の和"とは。単なる入力された2つの整数の和ではないのでしょうか。 また、n が m未満であるときにのみ計算をしようという意図が見えますが、これは問題の条件に入っていない気がしますがいかがでしょうか。 > if(m>n){ > int total=n; > n = m; の部分です。
退会済みユーザー

退会済みユーザー

2020/05/04 09:13

変数のスコープやメソッドについて理解できていますか? 最低でもこれらが理解できていなければこの問題を解くのは困難です。
退会済みユーザー

退会済みユーザー

2020/05/04 09:38

コメント早々にありがとうございます。 実装したい内容について、わかりづらくすみませんでした。 例えば、「1」と「3」を入力した際には、 下記のように「6(1+2+3)」が表記されるようにしたいです。 >java toi2 1 3 >1 から3 を足した合計は6
退会済みユーザー

退会済みユーザー

2020/05/04 09:40

カナあり古いバージョンですが、 windows 10 じゃまともにうごくんだろうかこれ> java 1.5 (タイガー)
退会済みユーザー

退会済みユーザー

2020/05/04 09:41

>>変数のスコープやメソッドについて理解できていますか? まだGWに入ってから始めたばかりなので、このあたり理解しきれていない部分が多いです。 問題を解きながらググっている状況なので、もう少し写経してから再挑戦しるべきなのかもしれません><
退会済みユーザー

退会済みユーザー

2020/05/04 09:48

>>カナあり古いバージョンですが、 windows 10 じゃまともにうごくんだろうかこれ> java 1.5 (タイガー) 最新版の課金をしておらず無料でDLしてしまったのですが、結構古いのですね・・まだ初歩の初歩なので今までは問題なく動いてきたのですが、今後そのあたりも調べてみます。
退会済みユーザー

退会済みユーザー

2020/05/04 09:59 編集

java 15 ⇒ 商用にかかわらない開発用とならば無料 java 14 ⇒ 商用にかかわらない開発用とならば無料 java 13 ⇒ EOL(商用にかかわらない開発用とならば無料) java 12 ⇒ EOL(商用にかかわらない開発用とならば無料) java 11 ⇒ EOL(サードパーティのサポートはあり) java 10 ⇒ EOL(商用にかかわらない開発用とならば無料) java 9 ⇒ EOL(商用にかかわらない開発用とならば無料) java 8 ⇒ 基本無料 java 7 ⇒ EOL(基本無料) java 6 ⇒ EOL(基本無料) java 5 ⇒ EOL(基本無料) どこぞの怪しいサイトでダウンロードしたのでしょうか? # オラクルIDは登録無料です
退会済みユーザー

退会済みユーザー

2020/05/04 10:01

知りませんでした・・商用に関わらない開発では無料なのですね。詳しく教えてくださって本当にありがとうございます。
dodox86

2020/05/04 10:02

便利な一覧です(笑)>asahina1979さん
退会済みユーザー

退会済みユーザー

2020/05/04 10:04

@dodox86 じゃあ EOL使ってる人みつけたらこれはってくれ
退会済みユーザー

退会済みユーザー

2020/05/04 10:10

そもそももう少し前のレベルの問題に慣れてから、こちらの問題に取り組んだ方が良さそうですね。 とても丁寧にみなさん教えてくださっているのに、理解が追い付いていない部分もあって恐縮です。(でも感謝してます) 初心者向け問題の回答漁って、写経になれたころにリベンジしてみます!!
dodox86

2020/05/04 10:18

JavaについてはOpenJDKと言う手もあります。Oracle版との比較に関連してteratailでも何度も話題にあがっているので、参照してみると良いです。
退会済みユーザー

退会済みユーザー

2020/05/04 11:22

問題を解くことも重要だとは思いますが、まずは基礎的な知識を学んだ方がいいかもしれません。 初心者用の参考書を1冊読むのをお勧めしますが、サイトでも1から体系的に教えてくれるところもあるのでそこで勉強をするのもありです。 まずはインプット中心の勉強をして、ある程度基礎を理解してから問題を解くことをお勧めします。
退会済みユーザー

退会済みユーザー

2020/05/04 11:34

了解しました、ありがとうございます。一旦体系的に勉強してから取り組んでみようと思います。 皆さん詳しくありがとうございました。
guest

回答1

0

ベストアンサー

1 括弧の対応がおかしくなっています。

2 一度、宣言した変数を宣言しなおしているのでエラーが出ています。

3 main 関数のみで宣言されている args を f 関数でも使おうとしてエラーが出ています。

以下、一応、コンパイルは通るようにしたバージョンです。まだ、意図通りには動作しません。

java

1class toi2{ 2 3 public static void main(String args[]){ 4 int a; 5 int m, n; 6 7 a = args.length; 8 9 if(a !=2){ 10 System.out.println("整数を2つ入力してください"); 11 return; 12 } 13 14 m = Integer.parseInt(args[0]); 15 n = Integer.parseInt(args[1]); 16 f(m, n); 17 } 18 19 public static void f(int m,int n){ 20 int total = 0; 21 22 if(m>n){ 23 total=n; 24 n = m; 25 m = total; 26 System.out.print(n+"から"+m+"を足した合計は"); 27 } 28 } 29}

投稿2020/05/04 09:02

編集2020/05/04 11:59
Yasumichi

総合スコア1773

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

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

退会済みユーザー

退会済みユーザー

2020/05/04 09:23

早々にありがとうございます! 「宣言」の概念が理解しきれてなかったようですね・・・そこの部分もっと勉強したいと思います。 コンパイル通るよう添削してくださってありがとうございます。だいぶ悩んで頭こんがらがってきていたので、非常に感謝しております;; あとは計算結果がでるように 「public static void f(int m,int n)」以下の部分を考え直してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問