What's new

Closed ano pwede baguhin sa codes? need lang ng different codes (may ss sa output nya)

Status
Not open for further replies.

Falln

Forum Veteran
Established
Joined
Mar 16, 2016
Posts
1,883
Reaction
280
Points
844
import java.util.*;
public class distance
{
public static void main(String[]args)
{
System.out.println("A GRAB Taxi charges P50.00 minimum fare for the first 300 meters and 5.00pesos for every succeeding 100 meters.");
double mf=50;
double distance;
double pay;
double change;

Scanner one= new Scanner(System.in);
System.out.print("Distance(m):");
distance = one.nextDouble();
if (distance<=300)
{
System.out.println("Total Fare :" +mf);
System.out.print("Payment :");
pay=one.nextDouble();

if(pay >= mf)
{
double Change=(pay-mf);
System.out.println("Your Changes :" +Change);
System.out.println("Thank you i hope you enjoy the ride!");
}
else if (pay< mf)
{
System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
System.out.print("Payment :");
pay=one.nextDouble();
double Change=(pay-mf);
System.out.println("Your Changes :" +Change);
System.out.println("Thank you i hope you enjoy the ride!");
}

}
else if (distance>300)
{
double A=distance-300;
double B=A/100;
double C=B*5;
double D=C+50;
Scanner Two= new Scanner(System.in);
System.out.println("Total fare:" +D);
Scanner two= new Scanner(System.in);
System.out.print("Payment :");
pay=two.nextDouble();

if(pay >= mf)
{
double Change=(pay-mf);
System.out.println("Your Changes :" +Change);
System.out.println("Thank you i hope you enjoy the ride!");
}
else if (pay< mf)
{
System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
System.out.print("Payment :");
pay=two.nextDouble();
double Change=(pay-mf);
System.out.println("Your Changes :" +Change);
System.out.println("Thank you i hope you enjoy the ride!");
}
}


}
}
 

Attachments

Java beginner, still learning c++ pero gets naman...

yung double change; mo hindi nmn nagamit since nagdeclare ka ulit ng panibagong variables sa if else conditions mo.

Pwede mong palitan yung part na:

Java:
else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = one.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }

to:

Java:
else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = one.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }

Since understood naman na kapag mababa yung payment, eto ang gagawin ni program di na need gumawa ng condition. It's default. Pwede ka rin mag add ng while loop sa loob nyan in case na nagbigay ulit si user ng maling input.

Another thing is yung:
Java:
else if (distance > 300) {
            double A = distance - 300;
            double B = A / 100;
            double C = B * 5;
            double D = C + 50;
            Scanner Two = new Scanner(System.in);
            System.out.println("Total fare:" + D);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

Mas maganda kung tangalin nlng yung else if kasi understood na kung False ang unang condition, then no choice fall siya sa else statement:


Java:
else {
            double A = distance - 300;
            double B = A / 100;
            double C = B * 5;
            double D = C + 50;
            Scanner Two = new Scanner(System.in);
            System.out.println("Total fare:" + D);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

Sayang din yung memory kung nag declare ka ng 4 na variables so instead nag shortcut method nalang tayo using the PEMDAS rule:
Code:
From:
 double A = distance - 300;
            double B = A / 100;
            double C = B * 5;
            double D = C + 50;
To:
double A;
            A = (distance - 300) / 100 * 5 + 50;

Another thing is may logic error sa else distance mo sir. Assuming na ang input ko is 500 meters then the minimum fair should be 60 diba? The pay input na nilagay ko is 50 pero ang sagot is 0 so may logic error. Bakit?

Code:
Since nag initialize ka na ng:
double mf = 50;

and ang statement mo is:
     if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }
        
Sa first condition mo palang sir, pasok na. Kaya ang calculation ng program is 0. Kasi yung mf ay may value na which is 50. Kung ang paymentko is 60, then the change is 10.
Eh dapat mag stick ka sa minimum fare na naka compute na. So balik tayo sa PEMDAS na ginawa kong code:

 System.out.println("Total fare:" + A);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= A) {
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

Bakit:
    if (pay >= A)

Kasi yun yung nacompute na exceeding 300 meters and nadagdagan na yung fare. So instead of computing the default minimum fare na 50, ang computation natin is
yung na compute na exceeding 300 meters.

Hope make sense HAHAHA
 
Java beginner, still learning c++ pero gets naman...

yung double change; mo hindi nmn nagamit since nagdeclare ka ulit ng panibagong variables sa if else conditions mo.

Pwede mong palitan yung part na:

Java:
else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = one.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }

to:

Java:
else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = one.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }

Since understood naman na kapag mababa yung payment, eto ang gagawin ni program di na need gumawa ng condition. It's default. Pwede ka rin mag add ng while loop sa loob nyan in case na nagbigay ulit si user ng maling input.

Another thing is yung:
Java:
else if (distance > 300) {
            double A = distance - 300;
            double B = A / 100;
            double C = B * 5;
            double D = C + 50;
            Scanner Two = new Scanner(System.in);
            System.out.println("Total fare:" + D);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

Mas maganda kung tangalin nlng yung else if kasi understood na kung False ang unang condition, then no choice fall siya sa else statement:


Java:
else {
            double A = distance - 300;
            double B = A / 100;
            double C = B * 5;
            double D = C + 50;
            Scanner Two = new Scanner(System.in);
            System.out.println("Total fare:" + D);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

Sayang din yung memory kung nag declare ka ng 4 na variables so instead nag shortcut method nalang tayo using the PEMDAS rule:
Code:
From:
double A = distance - 300;
            double B = A / 100;
            double C = B * 5;
            double D = C + 50;
To:
double A;
            A = (distance - 300) / 100 * 5 + 50;

Another thing is may logic error sa else distance mo sir. Assuming na ang input ko is 500 meters then the minimum fair should be 60 diba? The pay input na nilagay ko is 50 pero ang sagot is 0 so may logic error. Bakit?

Code:
Since nag initialize ka na ng:
double mf = 50;

and ang statement mo is:
     if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else if (pay < mf) {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }
       
Sa first condition mo palang sir, pasok na. Kaya ang calculation ng program is 0. Kasi yung mf ay may value na which is 50. Kung ang paymentko is 60, then the change is 10.
Eh dapat mag stick ka sa minimum fare na naka compute na. So balik tayo sa PEMDAS na ginawa kong code:

System.out.println("Total fare:" + A);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= A) {
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

Bakit:
    if (pay >= A)

Kasi yun yung nacompute na exceeding 300 meters and nadagdagan na yung fare. So instead of computing the default minimum fare na 50, ang computation natin is
yung na compute na exceeding 300 meters.

Hope make sense HAHAHA

Eto yung revised na nagawa ko:

Java:
import java.util.*;

public class distance {
    public static void main(String[] args) {
        System.out.println(
                "A GRAB Taxi charges P50.00 minimum fare for the first 300 meters and 5.00pesos for every succeeding 100 meters.");
        double mf = 50;
        double distance;
        double pay;

        Scanner one = new Scanner(System.in);
        System.out.print("Distance(m):");
        distance = one.nextDouble();
        if (distance <= 300) {
            System.out.println("Total Fare :" + mf);
            System.out.print("Payment :");
            pay = one.nextDouble();

            if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = one.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }

        } else if (distance > 300) {
            double A;
            A = (distance - 300) / 100 * 5 + 50;
            System.out.println("Total fare:" + A);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= A) {
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

    }
}

Good luck :)
 
Eto yung revised na nagawa ko:

Java:
import java.util.*;

public class distance {
    public static void main(String[] args) {
        System.out.println(
                "A GRAB Taxi charges P50.00 minimum fare for the first 300 meters and 5.00pesos for every succeeding 100 meters.");
        double mf = 50;
        double distance;
        double pay;

        Scanner one = new Scanner(System.in);
        System.out.print("Distance(m):");
        distance = one.nextDouble();
        if (distance <= 300) {
            System.out.println("Total Fare :" + mf);
            System.out.print("Payment :");
            pay = one.nextDouble();

            if (pay >= mf) {
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = one.nextDouble();
                double Change = (pay - mf);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }

        } else if (distance > 300) {
            double A;
            A = (distance - 300) / 100 * 5 + 50;
            System.out.println("Total fare:" + A);
            Scanner two = new Scanner(System.in);
            System.out.print("Payment :");
            pay = two.nextDouble();

            if (pay >= A) {
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            } else {
                System.out.println("**YOUR PAYMENT IS NOT ENOUGH PLSSS PAY AGAIN BEFORE YOU LEAVE**");
                System.out.print("Payment :");
                pay = two.nextDouble();
                double Change = (pay - A);
                System.out.println("Your Changes :" + Change);
                System.out.println("Thank you i hope you enjoy the ride!");
            }
        }

    }
}

Good luck :)
Sir thank you gawin ko mamaya to
 
sir gusto ko sana lagyan ng design na taxi ung drawing sa lines lang. wala ako makuha sa net pano kaya?
 
Status
Not open for further replies.
Back
Top