【Javaプログラミング】スキャナー(Scanner)を使用した簡単な割引計算-プロショvol.93

スポンサーリンク
Java攻略

スキャナーを使用したコードについて見ていく。
スキャナーはユーザーが文字を入力することができるため、よく使用される。

今回はお買い物にも利用できる「割引」について扱うことにする。

簡単な計算だから比較的取り組みやすいと思う。

それでは早速行ってみよー。

 

スポンサーリンク

割引計算のコード

 

早速コードを見ていくことにする。

スキャナーを使用する前に割引計算だけを行ったコードを見ていくことにする。

public class Discount {

public static void main(String[] args) {

double d,total,price,rate;

price=650;
d=30;

System.out.println(“値段は”+price+”円”);
System.out.println(“割引は”+d+”%”);

rate=100-d;
total=(650*rate)/100;
System.out.println(“割引後の値段は”+total+”円”);

}

}

以上を実行すると以下の結果が得られる。

値段は650.0円
割引は30.0%
割引後の値段は455.0円

d=30;というのは割引(discount)が30(%)ということを示しているもの。

30%引きということは元の値段から考えると70%の値段になっているということ。

1000円の商品が30%引き⇒300円引き

1000円から300円引くと700円⇒元の値段(1000円)の70%の値段になった。

rateは70になっているけれど、rateの単位は「%」になっている。

そのため、計算できるように「70%」を変換する必要がある。

よって70/100(70÷100)をするということになる。

夕方の割引セールで使えるかもしれないし使えないかもしれない。

 

スキャナーを使用する

 

スキャナーを使用することで、上のように「price=650」などとコード内で設定しなくてもユーザーから文字を入力できるようになる。

import java.util.Scanner;

public class Discount {

public static void main(String[] args) {

double price,d,rate,total;

Scanner s = new Scanner(System.in);

System.out.print(“値段を入力:”);
price = s.nextDouble();

System.out.print(“割引を入力(%):”);
d=s.nextDouble();

System.out.println(“値段は”+price+”円”);
System.out.println(“割引は”+d+”%”);

rate=100-d;
total=(price*rate)/100;
System.out.println(“割引後の値段は”+total+”円”);

}

}

スキャナーを使用しなかったものと主に異なる部分をピンクのマーカーで示した。

以上を実行すると以下の結果が得られる。
※値段には「562」、割引には「20」と入力

値段を入力:562
割引を入力(%):20
値段は562.0円
割引は20.0%
割引後の値段は449.6円

まずは黄色の部分の「値段を入力:」という部分が表示される。

値段を入力すると次に「割引を入力(%):」という部分が表示される。

この2つを入力すると計算されたデータが表示されるようにした。

 

消費税を含んだ計算式

 

消費税を含んだ計算式を作ることもできる。

扱う部分は「total=(price*rate)/100;」のところ。

このまま計算すると割引後の結果が出る。

食料品ということを考えて軽減税率の8%で考えてみることに。

更に消費税8%とした計算結果を表示させようとすると、上記の結果に「1.08」を掛けると消費税込みの金額が出る。

⇒「0.08」だけをかけてしまうと、割引後の値段の8%の金額しか表示されない。
割引後の値段に消費税を上乗せしたいから、必ず「1.08」を掛ける。

実際に1000円とかで計算してみると分かるかも。

 

rate=100-d;
total=(price*rate)/100*1.08;
System.out.println(“割引後の値段は”+total+”円(税込み)”);

 

追加した部分は赤色部分のみ。

値段を「1000」と入力して割引を「20」とした結果が以下。

値段を入力:1000
割引を入力(%):20
値段は1000.0円
割引は20.0%
割引後の値段は864.0円(税込み)

20%引きの計算だと「800円」になるが、800円に消費税8%が上乗せされて864円になっているのが分かる。

 

最後に

 

夕方くらいにスーパーに行くと3割引きや半額シールがよく貼られている。

Javaで計算すると今回のような形でコードを組める。

消費税も入れてみたけれど、10%で計算したかったら「1.08」の部分を「1.1」にすればよい。

このエントリーをはてなブックマークに追加

コメント

タイトルとURLをコピーしました