ここから本文です

Java言語のBigDecimalが理解できず困っています、力を貸していただけないでしょう...

abc********さん

2017/9/802:00:05

Java言語のBigDecimalが理解できず困っています、力を貸していただけないでしょうか。

1、四角形の面積計算をメインメソッド内で行う。
(縦×横です)

2、四角形の面積計算を別メソッド

に切り出し、 メインメソッドから呼び出して、コンソールに表示。戻り値がある形で実装。

3、円の半径を変数で設定,円の面積と円周を計算し画面に表示。

この3つの考え方とソースコードを教えて頂きたいです。
特に、2の「別メソッドに切り出し、メインメソッドから呼び出し」の部分が分かりません。
宜しくお願いします。

閲覧数:
309
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

aoh********さん

2017/9/810:53:59

2の「別メソッドに切り出し、メインメソッドから呼び出し」は、BigDecimalと直接は関係ありません。


Javaプログラムで実際に行う処理は、mainメソッドに直接書いて実行することも、別のメソッドに書いてそれをmainメソッドから呼び出して実行することもできます。
1では「mainメソッドに直接書け」、2では「別メソッドに書いて呼び出せ」と指定されています。


以下、サンプルコードです。
一応BigDecimalを使っています。tateとyokoというそのものズバリの変数を宣言し、それぞれ10と5で初期化します。

9行目:
System.out.println("縦10、横5の四角形の面積は、" + tate.multiply(yoko));
これが、mainで直接計算するコード、

10行目:
System.out.println("縦10、横5の四角形の面積は、" + sikaku(tate, yoko));
こちらが、メソッドsikakuを呼び出して結果を出力するコードです。

そして、17行目以降:
public static BigDecimal sikaku(BigDecimal a, BigDecimal b){
return a.multiply(b);
}
これがメソッド定義の部分です。BigDecimalで受けて、BigDecimalを返します。


3については、コマンドライン引数で半径の値を受けて、面積と円周を出力するようにしています。


import java.math.BigDecimal;
public class Menseki {
public static void main(String[] args){
BigDecimal tate = new BigDecimal("10");
BigDecimal yoko = new BigDecimal("5");
BigDecimal hanke = new BigDecimal(args[0]);
BigDecimal pai = new BigDecimal("3.14");

System.out.println("縦10、横5の四角形の面積は、" + tate.multiply(yoko));
System.out.println("縦10、横5の四角形の面積は、" + sikaku(tate, yoko));
System.out.println("円の面積は、" + pai.multiply(hanke.pow(2)));
System.out.println("円周は、" + pai.multiply(hanke.add(hanke)));
}

public static BigDecimal sikaku(BigDecimal a, BigDecimal b){
return a.multiply(b);
}
}


実行例

D:\home\tmp> java Menseki 10
縦10、横5の四角形の面積は、50
縦10、横5の四角形の面積は、50
円の面積は、314.00
円周は、62.80

この回答は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる