Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中调用方法并返回啤酒成本_Java - Fatal编程技术网

在java中调用方法并返回啤酒成本

在java中调用方法并返回啤酒成本,java,Java,我应该做的是: 在中的printOrderCost()方法中添加一些必要的语句 主类,以便此方法计算并打印 订单上的所有啤酒项目。(此方法调用getCost()方法 对于每个啤酒项目,累加所有getCost() 值,然后打印总和–所有啤酒对象的总成本。) 代码: 输出: Bud 5 3.0 15.0 Canadian 5 1.0 5.0 Blue 3 2.0 6.0 White Seal 4 1.0 4.0 Bud Light 1 2.0 2.0 我觉得你的代码很好。要在toString()方

我应该做的是:

在中的
printOrderCost()
方法中添加一些必要的语句 主类,以便此方法计算并打印 订单上的所有啤酒项目。(此方法调用
getCost()
方法 对于每个啤酒项目,累加所有
getCost()
值,然后打印总和–所有啤酒对象的总成本。)

代码:

输出:

Bud 5 3.0 15.0
Canadian 5 1.0 5.0
Blue 3 2.0 6.0
White Seal 4 1.0 4.0
Bud Light 1 2.0 2.0

我觉得你的代码很好。要在toString()方法中调用getCost(),只需使用getCost()调用即可

因此,您的toString()方法应该如下所示:

public toString(){
    String s;
    s = brand + " ";
    s += quantity + " " ;
    s += itemCost + " ";
    s += getCost();

    return s;
}

希望这就是您想要的:)

从您提供的代码来看,
getCost
方法“看起来”不错

您的
toString
方法应该只需要附加到
返回
字符串
s

public String toString()  // not necessary to format the output
{
    String s;
    s = brand + " ";
    s += quantity + " " ;
    s += itemCost + " ";
    s += getCost();
    return s;
}

您可能还想看一看,这将允许您控制输出格式,以防您得到一个有趣的值;)

像您这样添加字符串通常是个坏主意,因为Java会为每次添加创建一个唯一的字符串,这会导致一些不必要的开销。您可以将StringBuilder用作通用工具,或者,如果您知道字符串的确切格式,可以使用String.format(…)

例如:

public toString() {
  return String.format("%-10s %2d %6.2f %6.2f", brand, quantity, itemCost, getCost());
}

1) 要查看它是否工作,请编写代码进行测试。2) 要调用
toString()
中的方法,只需调用它。让我们看看你想出了什么。回答完问题后,不要删除你的问题……这是一份很棒的编码工作,伯德,这正是我想要的,我非常感谢你的帮助使用
StringBuilder
代替String,并在返回时将其转换为
String
,这将有助于您正确的内存管理。谢谢。我感谢您的帮助
public toString() {
  return String.format("%-10s %2d %6.2f %6.2f", brand, quantity, itemCost, getCost());
}