Я хочу вызвать переменную экземпляра, которая использует уравнение. Мне нужно «i» из цикла for, чтобы вычислить общую цену. Моя переменная bonePrice не работает внутри цикла for или снаружи.Как мне вызвать переменную экземпляра, которая находится внутри цикла for?
for (int i = 0; i < stalls.size(); i++){
if (stalls.get(i).speak().equals("MOO")){
while (stalls.get(i).isStillHungry() == false) {
stalls.get(i).feed(FoodType.GRASS);
stalls.get(i).isStillHungry();
}
System.out.println("Stall " + (i+1) + " of " + stalls.size() + " contains a cow who had " + stalls.get(i).numberOfFeedings + " feedings, which cost " + df.format(grassCost * stalls.get(i).numberOfFeedings));
}
if (stalls.get(i).speak().equals("WOOF")){
while (stalls.get(i).isStillHungry() == false) {
stalls.get(i).feed(FoodType.BONE);
stalls.get(i).isStillHungry();
}
System.out.println("Stall " + (i+1) + " of " + stalls.size() + " contains a dog who had " + stalls.get(i).numberOfFeedings + " feedings, which cost " + df.format(boneCost* stalls.get(i).numberOfFeedings));
}
if (stalls.get(i).speak().equals("MEOW")){
while (stalls.get(i).isStillHungry() == false) {
stalls.get(i).feed(FoodType.SALMON);
stalls.get(i).isStillHungry();
}
System.out.println("Stall " + (i+1) + " of " + stalls.size() + " contains a cat who had " + stalls.get(i).numberOfFeedings + " feedings, which cost " + df.format(salmonCost* stalls.get(i).numberOfFeedings));
double bonePrice = boneCost* stalls.get(i).numberOfFeedings;
double grassPrice = grassCost* stalls.get(i).numberOfFeedings;
double salmonPrice = salmonCost* stalls.get(i).numberOfFeedings;
}
}
System.out.println("Old MacDonald's total expenses: ");
System.out.println("$5.00 spent feeding 1 cow(s) 5 total feedings"
+ "\n$25.00 spent feeding 1 cat(s) 5 total feedings"
+ bonePrice +"\nspent feeding 1 dog(s) 5 total feedings"
+ "\n\tTotal Cost: " + /*total cost**/);
Не то, что вы просили, но использование '==' для сравнения значений String редко является хорошей идеей. –