Disini saya akan mencoba menggukan fungsi switch and case langsung saja ini source codenya :
package latihan.scanner;
import javax.swing.JOptionPane;
public class LatihanSwitchCase {
public static void main(String[] args) {
String input0 , input1 , input2 , input3 , input4 , input5 ,input6 ;
String input7 , input8 , input9 ,input10 ;
int totalhargadiskon , totalbelanja ,barang , pilihan=0 , jumlahbeli=0;
int kopi, hasilkopi,hargakopi,diskonkopi=0,totalkopi=0;
int telur, hasiltelur,hargatelur,diskontelur=0,totaltelur=0;
int beras , hasilberas,hargaberas,diskonberas=0,totalberas=0;
int gula ,hasilgula ,hargagula,diskongula=0,totalgula=0;
int sabun ,hasilsabun,hargasabun, diskonsabun=0 ,totalsabun=0;
JOptionPane.showMessageDialog(null, "Daftar Barang: \n 1.Kopi\n 2.Telur\n 3.Beras\n 4.Gula\n 5.Sabun");
input0 = JOptionPane.showInputDialog("masukan Kode Barang yang akan anda pilih :");
pilihan = Integer.parseInt (input0);
switch(pilihan){
case 1: JOptionPane.showMessageDialog(null, "Anda memilih Kopi");
input1 = JOptionPane.showInputDialog("Jumlah Kopi yang dibeli (Sachet)");
input2 = JOptionPane.showInputDialog("Harga Kopi per Sachet");
kopi = Integer.parseInt (input1);
hargakopi = Integer.parseInt(input2);
hasilkopi = kopi*hargakopi;
if (kopi >= 5){
JOptionPane.showMessageDialog(null, "Anda mendapat diskon 5%");
diskonkopi = hasilkopi*2/100;
}
else {
JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 5%");
}
totalkopi = hasilkopi-diskonkopi;
break;
case 2: JOptionPane.showMessageDialog(null, "Anda memilih Telur");
input3 = JOptionPane.showInputDialog("Jumlah telur yang dibeli (kg)");
input4 = JOptionPane.showInputDialog("Harga telur per kg");
telur = Integer.parseInt (input3);
hargatelur = Integer.parseInt(input4);
hasiltelur = telur*hargatelur;
if (telur >= 5){
JOptionPane.showMessageDialog(null, "Anda mendapat diskon 4%");
diskontelur = hasiltelur*4/100;
}
else {
JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 4%");
}
totaltelur = hasiltelur-diskontelur;
break;
case 3: JOptionPane.showMessageDialog(null, "Anda memilih Beras");
input5 = JOptionPane.showInputDialog("Jumlah Beras yang dibeli (per kg)");
input6 = JOptionPane.showInputDialog("Harga Beras per kg");
beras = Integer.parseInt (input5);
hargaberas = Integer.parseInt(input6);
hasilberas = beras*hargaberas;
if (beras >= 5){
JOptionPane.showMessageDialog(null, "Anda mendapat diskon 8%");
diskonberas = hasilberas*8/100;
}
else {
JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 8%");
}
totalberas = hasilberas-diskonberas;
break;
case 4: JOptionPane.showMessageDialog(null, "Anda memilih Gula");
input7 = JOptionPane.showInputDialog("Jumlah Gula yang dibeli (kg)");
input8 = JOptionPane.showInputDialog("Harga Gula per kg");
gula = Integer.parseInt (input7);
hargagula = Integer.parseInt(input8);
hasilgula = gula*hargagula;
if (gula >= 5){
JOptionPane.showMessageDialog(null, "Anda mendapat diskon 10%");
diskongula = hasilgula*10/100;
}
else {
JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 10%");
}
totalgula = hasilgula-diskongula;
break;
case 5: JOptionPane.showMessageDialog(null, "Anda memilih Sabun");
input9 = JOptionPane.showInputDialog("Jumlah Sabun yang dibeli (batang)");
input10 = JOptionPane.showInputDialog("Harga Sabun per batang");
sabun = Integer.parseInt (input9);
hargasabun = Integer.parseInt(input10);
hasilsabun = sabun*hargasabun;
if (sabun >= 5){
JOptionPane.showMessageDialog(null, "Anda mendapat diskon 15%");
diskonsabun = hasilsabun*15/100;
}
else {
JOptionPane.showMessageDialog(null, "Anda tidak mendapat diskon 15%");
}
totalsabun = hasilsabun-diskonsabun;
break;}
totalbelanja = totalkopi+totaltelur+totalberas+totalgula+totalsabun;
JOptionPane.showMessageDialog(null,"Total Belanja Anda Rp "+totalbelanja, "Total Belanja", JOptionPane.PLAIN_MESSAGE);
}
}