【PTA】【Java】基本文法-浮動小数点数計算(next()とnextLine()の違い、BigDecimal解説)

9097 ワード

コンピュータ科学技術専門Javaプログラム設計練習集
7-1 jmu-Java-02基本構文-05-浮動小数点数計算(10点)2つの浮動小数点数を入力し、
69.1 0.02のようにその和と積を出力する
入力サンプル:69.1 0.02 1.99 2.01出力サンプル:69.12 1.382 4.00 3.9999
作者:鄭如浜単位:集美大学時間制限:400 msメモリ制限:64 MBコード長制限:16 KB
知識点1.Scannerクラス(next()とnextLine()の違い)説明参考リンク
    next():
    1、                  。
    2、              ,next()3、                             ,next()nextLine()1、 Enter    ,     nextLine()2、      。

2.Java BigDecimal説明参考リンク:
// BigDecimal       
1.       import java.math.BigDecimal;

2.      BigDecimal a1=new BigDecimal(a);//  a         String

3.      :b1.multiply(a1)4.    :System.out.println(b1.multiply(a1));

3.注意:PTAにJavaコードを提出するにはpublicクラス名をMainに変更する必要があります
コード1.この問題の直感的なやり方を見る(本コードは間違っていて、提出が通過しない.理由はJava BigDecimalの紹介を参照)
import java.util.Scanner;
public class Practice1{//          Main
	public static void main(String args[]){
		Scanner reader=new Scanner(System.in);
		double x=reader.nextFloat();
		double y=reader.nextFloat();
		System.out.println(x+y);
		System.out.println(x*y);
		//System.out.printf("%lf",x+y);
		//System.out.printf("%lf",x*y);
	}
}

2.BigDecimalを使用した後のコード(正しく動作)
import java.math.BigDecimal;
import java.util.Scanner;
public class P1
{
	public static void main(String args[])
	{
		Scanner reader=new Scanner(System.in);
		while(reader.hasNext())
		{
			String a=reader.nextLine();
			String b=reader.nextLine();
			BigDecimal a1=new BigDecimal(a);
			BigDecimal b1=new BigDecimal(b);
			System.out.println(b1.add(a1));
			System.out.println(b1.multiply(a1));
			///System.out.println(a1+b1);
			///System.out.println(a1*b1);
		}
	}
}