Редактировать: я переделываю кодирование.Теперь он работает нормально, но некоторые из моих выводов не печатаются - PullRequest
0 голосов
/ 26 марта 2019

Я делаю код оплаты. Но это не работает. Как я могу заставить это работать?

Редактировать: Теперь я немного изменил свой код. Он может работать сейчас, но все равно не распечатал вывод, который я хотел Он выводит только 2 строки из всего, что я хотел. Я понятия не имею, в чем была проблема, но я думаю, что это было в основной части. Какие-либо предложения?

        import java.util.Scanner;
        public class BusPayment {
        public int number_of_adults;
        public int number_of_children;
        public double adult_price;
        public double children_price;
        public double totalprice;

     public BusPayment(){

        }

    public int getnumber_of_adults(){
        return number_of_adults;
    }

    public int getnumber_of_children(){
        return number_of_children;
    }

    public double getadult_price(){
        return adult_price;
    }

    public double getchildren_price(){
        return children_price;
    }

    public double gettotal_price(){
        return totalprice;
    }

    public void setadult_price(double adult_p){
        adult_price=adult_p; 
    }

    public void setchildren_price(double children_p){
        children_price=children_p;
    }

     public void settotalprice(double total_price){
        totalprice=total_price;
    }

    public BusPayment(double adult_p, double children_p){
        adult_price=adult_p;
        children_price=children_p;
    }

    public void BusPaymentPart(){
       number_of_adults=0;
       number_of_children=0;
       adult_price=15.00;
       children_price=10.00;
       totalprice=0.00;
    } 

    public double calculate_totalprice(){
    number_of_adults= 0;
    number_of_children= 0;
    totalprice= (number_of_adults*adult_price)+ 
   (number_of_children*children_price);
    return totalprice;
        }

        public static void main (String []args){
    BusPayment test = new BusPayment();

    Scanner input=new Scanner(System.in);
System.out.println("Payment");
System.out.println("The price of an adult ticket is RM15.00.");
    System.out.println("The price of a children's ticket is RM10.00.");

    int number_of_adults=input.nextInt();
    System.out.println("The number of adults are: " +number_of_adults);
    number_of_adults=input.nextInt();

    int number_of_children=input.nextInt();
    System.out.println("The number of children are: "+number_of_children);
    number_of_children=input.nextInt();

    double totalpri = test.calculate_totalprice();
    System.out.println("The total price you need to pay: " +totalpri);

}

}

Я хотел, чтобы результат был таким:

Цена билета для взрослого составляет 15,00. (это было напечатано)

Цена детского билета 10,00. (это было напечатано)

Количество взрослых:

Количество детей:

Общая цена, которую вы должны заплатить:

Оплата прошла успешно!

Ответы [ 2 ]

1 голос
/ 26 марта 2019

Похоже, вы вычисляете значения после того, как пытаетесь их напечатать:

System.out.println("The number of adults are: " + number_of_adults);
System.out.println("The number of children are: " + number_of_adults);
System.out.println("The total price you need to pay: " + totalprice);
calculate_totalprice();

Кроме того, вы вызываете нестатический метод calculate_totalprice() из статической области:

public static void main (String []args){
    ...
    calculate_totalprice(); 
}
0 голосов
/ 26 марта 2019

Я думаю, вам может понадобиться сначала вызвать вычисления.

calculate_totalprice();

System.out.println("The number of adults are: " + number_of_adults);
System.out.println("The number of children are: " + number_of_adults);
System.out.println("The total price you need to pay: " + totalprice);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...