帮看看怎么样修改才能运行我的程序啊 要实现输入数量、价格--然后计算:代码如下public class Invoice {
private String turns;
private String station;
double amount;
double price;
public void setturns(String name)
{ turns=name;
}
public  String getturns()
{  return  turns;
}
public void setstation(String st)
{ station=st;
}
public double setamount(double A)
{ amount=A;
}
public double getamount(double A)
{ return A;
}
public double setprice(double pc)
{ price=pc;
}
public double getamount(double pc)
{ return pc;
}
public double   getInvoiceamount()
{ sum=amount*price;
   System.out.printf("结果是%s",sum);
}
}创建的主类如下
public class TestInovice{
public void main(String args[]);
Invoice L=new Invoice();
L.Invoice(sum);
}

解决方案 »

  1.   

    public static void main(String[] args) {
       Invoice L=new Invoice();
               L.Invoice(sum);
    }
    你那个main应该这样写吧!
      

  2.   


    不止这样,我就没找到L.Invoice(sum)这个方法写到哪里在?!
      

  3.   

    你的程序太乱了,调用自己类里面的方法不需要可以不用重构私有变量。
    import java.Scanner;
    public class Invoice {
    double sum=0;
    double amount=0;
    double price=0;
    Scanner scanner=new Scanner(Syatem.in);
    System.out.print("\n请输入物品价格:");
    price=scanner.nextDoubl();
    System.out.print("\n请输入物品价格数量:");
    amount=scanner.nextDoubl();
    public double getInvoiceamount()
    { sum=amount*price;
    System.out.println("结果是" + sum);
    }
      

  4.   

    我是见我们课本上的习题叫要给每个变量设一个set和 get方法 顺便用构造方法初始化的啦
      

  5.   

    //Invoice.java
    public class Invoice {
        private String turns;
        private String station;
        double amount;
        double price;
        public void setturns(String name){ 
         turns=name;
        }
        public String getturns(){ 
         return turns;
        }
        public void setstation(String st){ 
         station=st;
        }
        public void setamount(double A){ 
         amount=A;
        }
        public double getamount(){ 
         return amount;
        }
        public void setprice(double pc){
          price=pc;
        }
        public double getpricet(){
          return price;
        }
        public void getInvoiceamount(){ 
         double sum=amount*price;
          System.out.println("结果是:"+sum);
        } 
    }
    //TestInovice.java
    public class TestInovice{
        public static void main(String args[]){
          Invoice L=new Invoice();
          L.setamount(20);
          L.setprice(1.5);
          L.getInvoiceamount();
      }
    }
    两个文件都已经调试过了,可以运行。
    看的出来,你学过一点c语言。但是这个程序里面的输出,你注意到了吗,是System.out.println("结果是:"+sum),中间是假好,不是逗号。另外,注意函数的返回值。一般来说,get()函数不需要参数的。那个main()也是函数,你忘记了花括号。还有,注意sum你没有声明就突然拿出来,肯定要double sum才可以的。看得出你程序写的很少,这应该是第一个java程序吧,可以先把书上的例子抄几遍,自己学着调试一下。加油。
      

  6.   

    那个TestInvoice注意拼写,看看你怎么写的,下次注意一点。
      

  7.   

    写的太乱了,有些方法不应该带参数的,你是要get,而不是set啊。
      

  8.   

    main方法就有问题,一般声明为静态的
      

  9.   

    楼主看看代码吧import java.util.Scanner ;
    public class Test
    {
    public static void main(String[] args) 
    {
    double price = 0 ;
    double amount = 0 ;
        Invoice invoice = new Invoice() ;
    Scanner input = new Scanner(System.in) ; System.out.print("please input price:");
    price = input.nextDouble() ;
    invoice.setPrice(price) ; System.out.print("please input amount:");
    amount = input.nextDouble() ;
    invoice.setAmount(amount) ; System.out.println("invoice.getInvoiceamount():" + invoice.getInvoiceamount() );
    }
    }
      

  10.   

    main方法必须是静态的,否则程序运行不了
      

  11.   

    查找类库java.util.Scanner的用法吧,
      

  12.   

    把后面那一句改成invoice.getInvoiceamount();好像就运行得了
      

  13.   

    import java.util.Scanner ;
    class PriceCule {
      double sum;
     String turns;
     String station;
    double amount;
    double price;
    public void setturns(String name)

     turns=name;
    }
    public String getturns()
    { return turns;
    }
    public void setstation(String st)
    {
      station=st;
    }
    public double setAmount(double A)

     return amount=A;
    }
    public double getamount(double A)
    { return A;
    }
    public double setPrice(double pc)
    {
    return  price=pc;
    }
    public double  getInvoiceamount()
    {
         return  sum=amount*price;
           } 
    }class Test
    {
        public static void main(String[] args) 
        {
            double price = 0 ;
            double amount = 0 ;
            PriceCule invoice = new PriceCule() ;
            Scanner input = new Scanner(System.in) ;        System.out.print("请输入价格:");
            price = input.nextDouble() ;
            invoice.setPrice(price) ;        System.out.print("请输入数量:");
            amount = input.nextDouble() ;
            invoice.setAmount(amount) ;
          System.out.println("invoice.getInvoiceamount():" + invoice.getInvoiceamount() );
        }
    }
    自己学习了一下~~~~~~~~~~