I/O Java必需int
我正在尝试使用I/O提供我需要的库存报告(如果库存低于8) 它告诉我,I/O Java必需int,java,io,try-catch,Java,Io,Try Catch,我正在尝试使用I/O提供我需要的库存报告(如果库存低于8) 它告诉我,myShop.listLowStockToFile()需要一个int;当我添加一个数字时,它告诉我这里不允许“void”。我怎样才能解决这个问题 public void listLowStockToFile(int threshhold) { System.out.println("****The Stock that is getting low is: " + " Minimum " +threshhold
myShop.listLowStockToFile()需要一个int
代码>;当我添加一个数字时,它告诉我这里不允许“void
”。我怎样才能解决这个问题
public void listLowStockToFile(int threshhold)
{
System.out.println("****The Stock that is getting low is: " + " Minimum " +threshhold + " Report for Bob Shaw****\n");
for (Item nextItem : items)
{
if(nextItem.getNuminStock() < threshhold)
{
System.out.println(nextItem);
}
}
}
public class Report {
public static void main(String[] args) {
Shop myShop = new Shop();
CD cd1 = new CD("Abba Gold", "Abba", 15);
myShop.addItem(cd1);
Game game1 = new Game("Chess", 2, 39.95);
myShop.addItem(game1);
ElectronicGame eg1 = new ElectronicGame("Shrek", "PS2", 1, 79.50);
myShop.addItem(eg1);
ElectronicGame eg2 = new ElectronicGame("Doom", "PC", 2, 30.20);
myShop.addItem(eg2);
ElectronicGame eg3 = new ElectronicGame("AFL", "PS2", 2, 49.95);
myShop.addItem(eg3);
cd1.receiveStock(3);
game1.receiveStock(5);
eg1.receiveStock(10);
eg2.receiveStock(1);
cd1.receiveStock(7);
cd1.sellCopy(true);
cd1.sellCopy(true);
eg2.sellCopy(true);
myShop.listItems();
myShop.listLowStockToFile(8);
myShop.listGamesByPlatform("PS2");
myShop.calcTotalSales();
Game game2 = new Game("Chess", 2, 39.95);
myShop.addItem(game2);
eg2.sellCopy(false);
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("LowStock.txt"));
writer.write("Report dated" + new Date() + "\n");
writer.write(myShop.listLowStockToFile()); // This line.
writer.close();
System.out.println("Report finished");
} catch (Exception ex) {
System.out.println("File I/O error" + ex);
}
}
}
public void listLowStockToFile(int threshold)
{
System.out.println(“****正在走低的股票是:“+”最小“+阈值+”Bob Shaw报告****\n”);
用于(项目下一项:项目)
{
if(nextItem.getNuminStock()
您需要listLowStockToFile
返回字符串:
public String listLowStockToFile(int threshhold) {
String rtn = "****The Stock that is getting low is: " + " Minimum " +threshhold + " Report for Bob Shaw****\n";
for (Item nextItem : items) {
if(nextItem.getNuminStock() < threshhold) {
rtn += nextItem.toString() + "\n";
}
}
System.out.print(rtn);
return rtn;
}
公共字符串listLowStockToFile(int threshold){
String rtn=“****正在走低的股票是:“+”最小值“+阈值+”Bob Shaw报告*****\n”;
用于(项目下一项:项目){
if(nextItem.getNuminStock()
原因是bufferedwriter.write
将字符串作为参数。您尚未显示相关代码;但是我想,listLowStockToFile
有返回类型void
,而不是值类型。listLowStockToFile
接受int
,但不返回任何内容(void
),所以不能像writer.write(myShop.listLowStockToFile())那样使用它
或writer.write(myShop.listLowStockToFile(8))
那么我能做些什么呢?@Bob如果你展示了listLowStockToFile()
方法并解释了你想要它做什么,那会有帮助的。很抱歉,新的情况,这足够继续下去了吗?让我编译,但是从我的输出中去掉阈值我害怕“输出”,我想你指的是stdout(控制台)。当你说添加一个系统时,你可以简单地将System.print(rtn)
添加到listLosStockToFile
中。print(rtn)会不会取代你编写的代码末尾的返回rtn?只需将System.out.print(rtn)
放在return rtn
之前。我更新了我的答案以反映这一变化。