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

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

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

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

Q&A

解決済

2回答

4709閲覧

(“ans = ” + ans);の読み方を理解して、int ans =___;の導き方がわかるロジックを教えてください。

carl2020

総合スコア9

Java

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

0グッド

1クリップ

投稿2020/04/03 09:52

編集2020/04/03 11:44

以下のプログラムを完成させなさい。

Java
public static void main(String[] args){
int a = 1;
int b = 2;
int c = 3;
int ans =______________________;
System.out.println(“ans = ” + ans);
}

以上の内容で、実行結果が ans = 9 になるとした場合、
int ans =______________________;
この枠線の中に何を書けばよいのかいまいちわかりません。

恐らく、最後の実行命令となる(“ans = ” + ans);
の意味がわからないからだと思います。

どなたか文系の頭でもわかるように平たく教えていただけますでしょうか?

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

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

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

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

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

ShintaroNomiya

2020/04/03 10:41

どんな教材使ってます?正直問題として成立してない気がしますが… 自分の予想だとそこに入るのはa + b + cです 多分数の合計を出力しろってことなんでしょう >(“ans = ” + ans);の意味がわからない とのことですが、何かしらJavaの入門書を読むのがいいです、質問もできればそれが終わってからのほうがよいでしょう 「スッキリわかるJava入門」って本がおすすめです 文系とか関係なしにやれば誰でもできるようになるので頑張ってください
carl2020

2020/04/03 11:50

ご返事ありがとうございます。 補足にも書き込みましたが、実行結果が ans = 9 になると仮定した場合、どのような演算の書き方ができるか問われていました。 a+b+Cだと6ですので、他の書き方はありますでしょうか? 「スッキリわかるJava入門」の本、ぜひチェックしたいと思います!
ozwk

2020/04/03 11:54 編集

a, b, c使えとも書いてないんで そのまま 9 でいいんじゃないですかね。
guest

回答2

0

ベストアンサー

(“ans = ” + ans);の読み方を理解したいようですが、
まず は全角文字なので間違いです。
半角の " に修正した ("ans = " + ans); で説明します。

"ans = " はリテラル文字列で、型は String です。

ans は変数で、型は int です。

  • は演算子です。

int + int は簡単ですよね。5 + 13 は 18 です。

String + String は文字列の連結です。"abc" + "defg" は "abcdefg" です。
"5" + "13" は "513" です。"18" ではありません。

String + int の場合、int を String に変換してから連結します。
"abc" + 13 は、"abc" + "13" になり、"abc13" になります。

int ans = 9; の場合、
"ans = " + ans は、"ans = " + 9 であり、"ans = " + "9" となり、
最終結果は "ans = 9" です。

("ans = " + ans); の括弧 () ですが、これは
println というメソッドを呼び出すときの引数を囲むものです。
最後の ; は文の終わりを示します。

ここから後は蛇足です。無視してください。
System.out.println("ans = " + ans); について、
System はクラス名。正式には java.lang.System。
out は Systemクラスの static なフィールド。型は PrintStream。
println は PrintStreamクラスのメソッド。

投稿2020/04/03 23:42

編集2020/04/03 23:46
kazuma-s

総合スコア8224

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

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

carl2020

2020/04/04 03:51

わかりやすいご回答をありがとうございます。 慣れるまで繰り返し参照したいと思います◎
guest

0

ans = 9 になるとした場合・・・違う解もあるのですか?

色々解がありそうですが・・・取り敢えずa,b,cを全て使って計算するなら・・・
a*10+b-c,(a+b)*c・・・・など?

ozwkさんも仰ってますが、使う必要がなければ2+3+4や9とかc*cもありか?

投稿2020/04/03 12:56

cateye

総合スコア6851

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問