Java program to calculate the discount of a product in 3 ways:
In this tutorial, we will learn how to calculate the price of a product after the discount in Java
. I will show you how to calculate the discount and the price after the discount in different ways.
How to calculate the price after a discount:
To calculate the final price after the discount, we will have to multiply the actual price with the discount and subtract this from the original price e.g. if the actual price is 300 and the discount is 10%, the final price will be: 300 - (300 * 10/100)
. 10% discount will get you a discount of 10 for a product priced at 100. For a product priced at 1, you will get a discount of (10/100). And, for a product priced at 300, you will get a discount of 300*(10/100). We need to subtract the discount from the original price to get the final price.
If we consider it for x%
discount,
- If the product price is
100
= The discount will bex
- If the product price is
1
= The discount will bex/100
- If the product price
y
= The discount will bey * (x/100)
- The final price of the product will be
y - (y * (x/100))
We can use this algorithm to write a program to calculate the final price after a discount:
Method 1: Java Program to calculate Discount with user input values:
import java.util.Scanner;
public class Example1 {
public static void main(String[] args) {
int price;
int discount;
try (Scanner sc = new Scanner(System.in)) {
System.out.println("Enter price of the product:");
price = sc.nextInt();
System.out.println("Enter the discount(%) of the product:");
discount = sc.nextInt();
}
int discountPrice = (price * discount) / 100;
int finalPrice = price - discountPrice;
System.out.println("Discount price is: " + discountPrice);
System.out.println("Final price is: " + finalPrice);
}
}
Download this program on Github
- The integer variables
price
anddiscount
are used to assign the price and the discount percentage of the product. - It uses the
Scanner
class to read the inputs from the user. ThenextInt()
method is used to read the price and discount values entered by the user. It assigns the values to theprice
anddiscount
variables. - The discounted price is calculated with the formula we discussed above and it is assigned to the
discountPrice
variable. The final price is calculated by subtracting thediscountPrice
value from the originalprice
of the product. It is assigned to thefinalPrice
variable. - The last two lines are printing the calculated discount price and the final price.
Sample Output:
If you run the above program, it will give outputs as below:
Enter price of the product :
400
Enter the discount(%) of the product :
10
Discount price is: 40
Final price is: 360
Method 2: How to use a different method to calculate the discounted price and the final price:
Another way to solve this example is by using two separate methods. The main
method will call these methods to calculate the discounted price and the final price.
import java.util.Scanner;
public class Example2 {
static int getDiscount(int price, int discount) {
return (price * discount) / 100;
}
static int getFinalPrice(int price, int discountPrice) {
return price - discountPrice;
}
public static void main(String[] args) {
int price;
int discount;
try (Scanner sc = new Scanner(System.in)) {
System.out.println("Enter price of the product :");
price = sc.nextInt();
System.out.println("Enter the discount(%) of the product :");
discount = sc.nextInt();
}
int discountPrice = getDiscount(price, discount);
int finalPrice = getFinalPrice(price, discountPrice);
System.out.println("Discount price is: " + discountPrice);
System.out.println("Final price is: " + finalPrice);
}
}
Download this program on Github
- We have created two new methods
getDiscount
andgetFinalPrice
to calculate the discount and the final price. - The
main
method is calling these methods to calculate the values. - These are
static
methods. You can also move these methods to a different class to access these from different parts of your program.
It will print similar results.
Enter price of the product :
200
Enter the discount(%) of the product :
20
Discount price is: 40
Final price is: 160
Method 3: How to use a different class to hold the values of the discount and final price:
In this method, we will use a separate model class to hold the discount and final price of the product. We can avoid writing two methods to calculate the discount and the final price with this approach.
import java.util.Scanner;
class DiscountModel {
int finalPrice;
int discountPrice;
public DiscountModel(int finalPrice, int discountPrice) {
this.finalPrice = finalPrice;
this.discountPrice = discountPrice;
}
}
public class Example3 {
static DiscountModel getDiscount(int price, int discount) {
int discountPrice = (price * discount) / 100;
int finalPrice = price - discountPrice;
return new DiscountModel(finalPrice, discountPrice);
}
public static void main(String[] args) {
int price;
int discount;
try (Scanner sc = new Scanner(System.in)) {
System.out.println("Enter price of the product :");
price = sc.nextInt();
System.out.println("Enter the discount(%) of the product :");
discount = sc.nextInt();
}
DiscountModel result = getDiscount(price, discount);
System.out.println("Discount price is: " + result.discountPrice);
System.out.println("Final price is: " + result.finalPrice);
}
}
Download this program on Github
- The
DiscountModel
class is used as the model class. ThegetDiscount
method returns an object ofDiscountModel
. It calculates the discount and the final price of the product and assigns these to thediscountPrice
andfinalPrice
variables of theDiscountModel
object. - The
main
method is assigning the calculated value to theresult
variable and it prints the values of the member variables of theDiscountModel
class.
It will print similar outputs.
Similar tutorials :
- Java Program to count the divisors of a number
- Java program to find square root and cubic root of a number
- Java Program to calculate BMI or Body Mass Index
- Java program to find out the top 3 numbers in an array
- Java Program to reverse a number
- Java program to calculate the area and perimeter of a rectangle