gpt4 book ai didi

Java 发票程序 - 将数量设置为 0 将价格设置为 0.0

转载 作者:行者123 更新时间:2023-11-30 11:10:27 26 4
gpt4 key购买 nike

我几乎完成了这个程序,除了当我将价格或数量对象设置为负数时它不会设置为 0。说明说如果价格不是正数它应该设置为 0.0,如果数量不是正数,应设置为 0。这是我的代码,谁能告诉我哪里出错了。

这个练习是3.12 Invoice class form Deitel 10th edition How program:

public class Invoice {  
private String partNumber;
private String partDescription;
private int quantity;
private double priceperitem;
private double amount;
public Invoice(String number, String partDescription, int quantity, double price)
{
this.partNumber = number;
this.partDescription = partDescription;
this.quantity = quantity;
this.priceperitem = price;
}
public void setPartNumber(String number)
{
partNumber = number;
}
public String getPartNumber()
{
return partNumber;
}
public void setPartDescription (String description)
{
partDescription = description;
}
public String getPartDescription(){
return partDescription;
}
public void setQuantity(int count){
if(count > 0)
quantity = 0;
}
public int getQuantity(){
return quantity;
}
public void setPrice (double price){
if(price > 0.0)
priceperitem = price;
if(price < 0.0)
priceperitem = 0.0;
}
public double getPrice(){
return priceperitem;
}
public double getInvoiceAmount(){
amount = getQuantity() * getPrice();
return amount;
}
}

import java.util.Scanner;
public class InvoiceTest {
public static void main(String[] args) {
int quantity;
double price;
double invoiceAmount;
Invoice invoice1 = new Invoice("1234","Hammer",-5, -39.75);
Scanner keyboard = new Scanner (System.in);
System.out.printf( "Part number: %s\n", invoice1.getPartNumber());
System.out.printf( "Part Description: %s\n", invoice1.getPartDescription());
System.out.printf( "Quantity: %s\n", invoice1.getQuantity());
System.out.printf( "Price: %s\n", invoice1.getPrice());
}
}

最佳答案

您正在检查条件 if price<0然后将价格设置为 0,在你的 setter 方法中,即在方法 setPrice 中.但是您正在为 price thorugh 构造函数传递 -ve 参数,它没有这样的检查。也添加 checkin 构造函数:-

public Invoice(String number, String partDescription, int quantity, double price)
{
this.partNumber = number;
this.partDescription = partDescription;
this.quantity = quantity;

if(price > 0.0)
priceperitem = price;

if(price < 0.0)
priceperitem = 0.0;

}

数量检查也是如此,在构造函数中以类似的方式添加数量检查。

另请注意,您在 setQuantity 中的条件无效,请将其更改为:-

  if(quantity > 0)
this.quantity = price;

if(quantity < 0)
this.quantity = 0.0;

关于Java 发票程序 - 将数量设置为 0 将价格设置为 0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27684345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com