2015-04-10 2 views
-4

Моя домашняя говорит мне, чтобы сделать это ....государственной статической силы основных не работает

а. Создайте класс с именем Purchase. Каждая покупка содержит номер счета-фактуры, сумма продажи и сумму налога с продаж. Включите методы набора для счета-фактуры номер и сумма продажи. В рамках метода set() для суммы продажи рассчитывайте налог с продаж как 5% от суммы продажи. Также включите метод отображения, который отображает сведения о покупке. Сохраните файл как Purchase.java.

b. Создайте приложение, объявляющее объект «Покупка», и запросит у пользователя информацию о покупке. Когда вы запрашиваете номер счета-фактуры, не разрешайте пользователю , пока не будет введено число от 1000 до 8000. Когда вы запрашиваете сумму продажи, не действуйте до тех пор, пока пользователь не введет неотрицательное значение. После того как действительный объект Purchase был создан, отобразите номер счета-фактуры объекта, сумму продажи и налог с продаж. Сохраните файл как CreatePurchase.java.

Это то, что я до сих пор ......

import java.util.*; 
public class Purchase{ 
      public double invoiceNumber; 
      public double saleAmount; 
      public double salesTax; 

      public void setInvoice(double number){ 
        this.invoiceNumber = number; 
} 
      public void saleAmount(double sale){ 
        this.salesTax = sale*.05; 
        this.saleAmount = sale; 
} 
      public void displayPurchase(){ 
        System.out.print("Invoice Number " + invoiceNumber + " Sale Amount " + saleAmount + " Sales Tax " + salesTax); 
} 
} 


import java.util.*; 
public class CreatePurchase extends Purchase{ 

      Scanner input = new Scanner(System.in); 
      double inputSale = input.nextDouble(); 
      double inputNumber = input.nextDouble(); 

     public void valueChecker(){ 

       if(1000 >= inputSale && inputSale <= 8000){ 
       saleAmount(inputSale); 
       invoiceChecker(); 
      } 

      else if(inputSale <= 0){ 

       System.out.print(" Not a valid invoice "); 
       } 
     } 

     public void invoiceChecker(){ 

      setInvoice(inputNumber); 
      displayPurchase(); 

     } 
     public static void main(String[] args){ 
     } 
} 

Почему это не работает?

+0

Что не работает? – deW1

+1

У вас есть пустой метод 'main', и вы ожидаете, что что-то произойдет в вашей программе? Это не дает вам никаких заданий, а затем удивляется, что вы не выполнили никаких заданий. – Tom

+0

Я думаю, что ваша основная ошибка - «CreatePurchase extends Purchase» - нет причин, по которым создатель покупок должен «продлить» класс «Купить». – OldCurmudgeon

ответ

8

потому что вы ничего не вызвали в main методе. Ваш метод main пуст.

public static void main(String[] args){ 
    // you need to call other methods from here 
    CreatePurchase purchaseObject = new CreatePurchase(); 
    purchaseObject.valueChecker();// or whatever method you want to call depending upon your logic. 
    } 
+0

как бы это сделать в моем коде ??? Можете ли вы показать мне, где? –

+0

один из лучших ответов в SO когда-либо ... xDDDDDD –

+0

@JordiCastilla Я использую сарказм много, но я не уверен, что понял это на этот раз: D: D –

0

1) Есть ли у вас ошибка времени компиляции? вызова метода поиска Java для основного метода для выполнения, но в текущем основного метода, он не имеет ничего, чтобы выполнить или NIL вызовы

public static void main(String[] args){ 
     } 

Так что ничего не будет executed.Call методы от основного метода с необходимые входные данные, чтобы основные методы выполнялись с вызовом вызова.

1
import java.util.Scanner; 

public class CreatePurchase extends Purchase { 
    public void invoiceChecker(double inputnumber, CreatePurchase cp) { 
     cp.setInvoice(inputnumber); 
     cp.displayPurchase(); 
    } 

    public static void main(String[] args) { 
     @SuppressWarnings("resource") 
     Scanner input = new Scanner(System.in); 
     double inputSale = input.nextDouble(); 
     double inputNumber = input.nextDouble(); 
     CreatePurchase cp = new CreatePurchase(); 
     System.out.println(inputSale + " " + inputNumber); 
     if (inputSale >= 1000.0 && inputSale <= 8000.0) { 
      cp.saleAmount(inputSale); 
      cp.invoiceChecker(inputNumber, cp); 
     } else if (inputSale <= 0.0) { 
      System.out.print(" Not a valid invoice "); 
     } 
    } 
} 

TestInput and Output;

1500.2 
3.0 
1500.2 3.0 
Invoice Number 3.0 Sale Amount 1500.2 Sales Tax 75.01 
+1

вы можете объединить оба ответа. –

+0

все это дало мне несколько ошибок ... не могли бы вы, ребята, не заставлять меня чувствовать себя глупо, я знаю, что это, наверное, глупо, но можете ли вы просто показать мне? –

+0

Было бы неплохо, если бы вы смогли объединить обе ваши ответы Мохана. –

Смежные вопросы

 Смежные вопросы