import java.util.Scanner;
import java.text.DecimalFormat;
public class greenfields
{
public static void main(String[] args)
{
Scanner keyboard = new Scanner(System.in);
String choice;
int forDelivery;
int numTrees;
int treeHeight;
double oneTree;
double treeCost;
double deliveryCost;
double totalCharges;
double totalTreeCost;
System.out.println("How many trees do you want to purchase?");
numTrees = keyboard.nextInt();
System.out.println("Enter the height of the trees you want to purchase.");
treeHeight= keyboard.nextInt();
System.out.println("Would you like the trees be delivered? Enter 1 for Yes, Enter 0 for No.");
forDelivery= keyboard.nextInt();
if(forDelivery==1)
if(numTrees <5 )
deliveryCost = 10.00 * numTrees;
else if (numTrees >=5)
forDelivery=50;
if(treeHeight <= 5);
treeCost =numTrees * 69.50;
if (treeHeight <= 8);
treeCost =numTrees * 99.00;
if (treeHeight >=9);
treeCost= numTrees * 199.50;
if(treeHeight <3)
treeCost= numTrees * 39.00;
if(treeHeight < 3)
oneTree = 39.00;
if(treeHeight == 3 || treeHeight == 4 ||treeHeight== 5)
oneTree= 69.50;
if (treeHeight == 6 || treeHeight== 7 || treeHeight == 8)
oneTree = 99.00;
if ( treeHeight > 8)
oneTree =199.50;
totalTreeCost = numTrees * treeCost;
System.out.println(numTrees + " Trees at "+ " each:" +treeCost+ "\n" + totalTreeCost);
}
}
答案 0 :(得分:2)
首先,删除if条件后的; ,if条件当前无效
if (treeHeight <= 5) ;
treeCost = numTrees * 69.50;
if (treeHeight <= 8) ;
treeCost = numTrees * 99.00;
if (treeHeight >= 9) ;
treeCost = numTrees * 199.50;
if (treeHeight < 3)
treeCost = numTrees * 39.00;
其次,你应该使用 else if ,因为如果treeHeight&lt; = 5也是treeHeight&lt; = 8,则没有其他if,你将两个条件都应用于treeCost 强>
所以正确的代码应该是:
if (treeHeight <= 5)
treeCost = numTrees * 69.50;
else if (treeHeight <= 8)
treeCost = numTrees * 99.00;
else if (treeHeight >= 9)
treeCost = numTrees * 199.50;
else if (treeHeight < 3)
treeCost = numTrees * 39.00;