gpt4 book ai didi

java - 在列表上完成迭代后只需要一个警告。每次迭代没有一个警告器

转载 作者:行者123 更新时间:2023-12-01 15:25:05 25 4
gpt4 key购买 nike

我的全部程序如下。

我遇到的问题是我的标准输出被该特定代码行产生的错误消息淹没。

  for(int x = 0; x < 3; x++)
{
for(int xx = 0; xx < 6; xx++)
{
if(toppings[x].equalsIgnoreCase(validToppings[xx]))
{price += 0.75;} else {System.out.println("Error in Pizza class: Attempt to set invalid pizza topping " + toppings[x]);};
}
}

我宁愿不重写我花了很多时间完善的代码,但如果我必须使用 switch 语句或类似的东西来获得简洁的错误消息,我会的。虽然我认为我现在的方法是最好的。

以下是类(class)测试,

public class TestPizza
{
public static void main(String args[])
{
int x;
String t1[] = {"Mushrooms", "Onions", ""};
String t2[] = {"Pepperoni", "Mushrooms", ""};
String t3[] = {"Pepperoni", "Mushrooms", "Onions"};
String t4[] = {"Sausage", "", ""};
Pizza one = new Pizza();
Pizza two = new Pizza();
Pizza three = new Pizza();
Pizza four = new Pizza();

one.setSize(12);
one.addTopping(t1);
one.showValues();

two.setSize(8);
two.addTopping(t2);
two.showValues();

three.setSize(16);
three.addTopping(t3);
three.showValues();

four.setSize(20);
four.addTopping(t4);
four.showValues();

}
}

这就是类(class)。

// This custom class is used to create Pie objects
// It stores the data about the Pie in four variables:
// size, price, type and baked
// It lets the program that creates the Pie object set these values using four methods:
// setSize, setPrice, setType and bake

public class Pizza
{

// Declare four variables that can store the values for each pie
// Each Pie object will have their own, separate copy of these variables 12.
private int size;
private double price;
private boolean baked;
private int x;
private int xx;
private String validToppings[] = {"mushrooms", "pepperonis", "onions", "mushroom", "pepperoni", "onion"};
private String toppings[] = new String[3];


// The "constructor" method is called when a new pie
// object is first created. We use it to set "default" values.
// Our typical pie is 10 inches, costs $8 and is not baked yet
// We don't yet know what the pie filling will be
Pizza()
{
size = 999;
price = 999;
baked = false;
}

// showValues() is a void method that displays the values of the
// current Pie
public void showValues()
{
System.out.println("Pie Size: " + size);
for(int x = 0; x < 3; x++) {if(toppings[x] != ("")) {System.out.println("With " + toppings[x]);}};
System.out.println("Price of Pie: $" + price + "\n\n");
}

// getSize() returns the size of the pie
public int getSize()
{
return size;
}
// getPrice() returns the price of the pie
public double getPrice()
{
return price;
}
// baked() returns whether or not the pie is baked
public boolean getBaked()
{
return baked;
}
// setSize() assigns a size to the pie
public void setSize(int thisSize)
{
size = thisSize;
switch(size)
{
case 8: price = 10.00; break;
case 12: price = 14.00; break;
case 16: price = 18.00; break;
default: System.out.println("Error in Pizza class: Attempt to set invalid Pizza size."); break;
}
}

// setPrice() assigns a price to the pie
public void addTopping(String programToppings[])
{
for(int x = 0; x < 3; x++)
{
toppings[x] = programToppings[x];
}
for(int x = 0; x < 3; x++)
{
toppings[x] = toppings[x].toLowerCase();
}
for(int x = 0; x < 3; x++)
{
for(int xx = 0; xx < 6; xx++)
{
if(toppings[x].equalsIgnoreCase(validToppings[xx]))
{price += 0.75;} else {System.out.println("Error in Pizza class: Attempt to set invalid pizza topping " + toppings[x]);};
}
}
}

public void bake()
{
baked = true;
};

}

最佳答案

您应该使用 boolean 变量 isValid,该变量最初设置为 false。一旦找到匹配项,请将其设置为 true。所有迭代完成后,如果isValid仍然为false,则打印错误消息。

关于java - 在列表上完成迭代后只需要一个警告。每次迭代没有一个警告器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10276765/

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