新手提问啊

wufengye12 2010-04-09 01:47:08
帮看看怎么样修改才能运行我的程序啊 要实现输入数量、价格--然后计算:代码如下

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);
}

...全文
248 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
feiqin 2010-04-11
  • 打赏
  • 举报
回复
学Java也不容易啊
duanningfeng520 2010-04-11
  • 打赏
  • 举报
回复
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() );
}
}
自己学习了一下~~~~~~~~~~
soooooga 2010-04-10
  • 打赏
  • 举报
回复
LZ可以结贴了。。。。
soooooga 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 wufengye12 的回复:]

引用 11 楼 love_t 的回复:
楼主看看代码吧

Java code

import java.util.Scanner ;
public class Test
{
public static void main(String[] args)
{
double price = 0 ;
double amount = 0 ;
Invoice i……
把后面那一句改……
[/Quote]

....................................
wufengye12 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 love_t 的回复:]
楼主看看代码吧

Java code

import java.util.Scanner ;
public class Test
{
public static void main(String[] args)
{
double price = 0 ;
double amount = 0 ;
Invoice i……
[/Quote]把后面那一句改成invoice.getInvoiceamount();好像就运行得了
zhc8501 2010-04-10
  • 打赏
  • 举报
回复
查找类库java.util.Scanner的用法吧,
soooooga 2010-04-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wufengye12 的回复:]

引用 11 楼 love_t 的回复:
楼主看看代码吧

Java code

import java.util.Scanner ;
public class Test
{
public static void main(String[] args)
{
double price = 0 ;
double amount = 0 ;
Invoice i……
貌似运行不……
[/Quote]
额 你报什么错呢
wufengye12 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 love_t 的回复:]
楼主看看代码吧

Java code

import java.util.Scanner ;
public class Test
{
public static void main(String[] args)
{
double price = 0 ;
double amount = 0 ;
Invoice i……
[/Quote] 貌似运行不了哦
yymn_love 2010-04-09
  • 打赏
  • 举报
回复
main方法必须是静态的,否则程序运行不了
soooooga 2010-04-09
  • 打赏
  • 举报
回复
楼主看看代码吧

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() );
}
}
yeqingguo 2010-04-09
  • 打赏
  • 举报
回复
main方法就有问题,一般声明为静态的
OoSmallCat 2010-04-09
  • 打赏
  • 举报
回复
写的太乱了,有些方法不应该带参数的,你是要get,而不是set啊。
wufengye12 2010-04-09
  • 打赏
  • 举报
回复
呵呵谢了啦 不过我是想自己输入数字的 不是设定
lsdfjj 2010-04-09
  • 打赏
  • 举报
回复
那个TestInvoice注意拼写,看看你怎么写的,下次注意一点。
lsdfjj 2010-04-09
  • 打赏
  • 举报
回复
//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程序吧,可以先把书上的例子抄几遍,自己学着调试一下。加油。
lsdfjj 2010-04-09
  • 打赏
  • 举报
回复
我也是新手,你这个题目我应该可以做好,等等。我调试好了就传上来。
wufengye12 2010-04-09
  • 打赏
  • 举报
回复
我是见我们课本上的习题叫要给每个变量设一个set和 get方法 顺便用构造方法初始化的啦
endy 2010-04-09
  • 打赏
  • 举报
回复
你的程序太乱了,调用自己类里面的方法不需要可以不用重构私有变量。
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);
}
jacky花园 2010-04-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dinglongfei 的回复:]
public static void main(String[] args) {
Invoice L=new Invoice();
L.Invoice(sum);
}
你那个main应该这样写吧!
[/Quote]

不止这样,我就没找到L.Invoice(sum)这个方法写到哪里在?!
dinglongfei 2010-04-09
  • 打赏
  • 举报
回复
public static void main(String[] args) {
Invoice L=new Invoice();
L.Invoice(sum);
}
你那个main应该这样写吧!

62,624

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧