[英]my code won't print anything
嘿,所以我在这里有一个代码,旨在以每周和每天的价格为常数,以最优惠的价格提供租车服务。 该代码将采用颜色,租赁类型和天数,但不输出任何内容。 我想念什么吗?
import java.util.*;
import java.util.Scanner;
public class lab3
{
public static final char E = 'E';
public static final int ZERO = 0;
public static final double ECONOMY_DAILY = 25.5;
public static final double FULL_DAILY = 39.4;
public static final double ECONOMY_WEEKLY = 120.5;
public static final double FULL_WEEKLY = 216.25;
public static void main (String[] args)
{
Scanner Keyboard = new Scanner(System.in);
Locale locale = Locale.getDefault();
System.out.println("Enter the color of the vehicle:");
String color = Keyboard.next();
System.out.println ("Economy or Full:");
String Type = Keyboard.next();
char FirstTypeLetter = Type.toUpperCase()
.charAt(0);
System.out.println("For how many days?");
int Days = Keyboard.nextInt();
int Weeks = Days/7;
int DaysLeftover = Days%7;
switch (FirstTypeLetter)
{
case 'E':
double Rate1 = Weeks * ECONOMY_WEEKLY;
double Rate2 = (Weeks * ECONOMY_WEEKLY) + (Days * ECONOMY_DAILY);
double Rate3 = (Days * ECONOMY_DAILY);
if ((Rate1 > Rate2)&(Rate1>Rate3))
{
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + Rate1);
if ((Rate2>Rate1)&(Rate2>Rate3))
{
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + Rate2);
}
else if ((Rate3>Rate2) & (Rate3>Rate1))
{
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + Rate3);
switch (FirstTypeLetter)
{
case 'F':
double FullRate1 = Weeks * FULL_WEEKLY;
double FullRate2 = (Weeks * FULL_WEEKLY) + (Days * FULL_DAILY);
double FullRate3 = (Days * ECONOMY_DAILY);
if ((Rate1 > Rate2) & (Rate1 > Rate3))
{
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + FullRate1);
}
if ((FullRate2 > FullRate1) & (FullRate2 > FullRate3))
{
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + FullRate2);
}
else if ((FullRate3 > FullRate1) & (FullRate3 > FullRate2))
{
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + FullRate3);
}
break;
default:
System.out.println("Try Again!");
}
}
您的代码没有意义。
在case 'E'
您还有另一个开关语句,该语句使用相同的变量,然后在case 'F'
进行检查
另外,在使用if
语句时,您使用的是&
而不是&&
由于您只有E
和F
两种情况,因此建议您使用简单的if
陈述
if (FirstTypeLetter == 'E' && Rate1 > Rate2 && Rate1>Rate3)
{
}
问题是您格式化switch语句的格式不正确。 它看起来应该像这样:
double Rate1 = Weeks * ECONOMY_WEEKLY;
double Rate2 = (Weeks * ECONOMY_WEEKLY) + (Days * ECONOMY_DAILY);
double Rate3 = (Days * ECONOMY_DAILY);
switch (FirstTypeLetter) {
case 'E':
if ((Rate1 > Rate2) & (Rate1 > Rate3)) {
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + Rate1);
}
else if ((Rate2 > Rate1) & (Rate2 > Rate3)){
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + Rate2);
}
else if ((Rate3 > Rate2) & (Rate3 > Rate1)) {
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + Rate3);
}
break;
case 'F':
double FullRate1 = Weeks * FULL_WEEKLY;
double FullRate2 = (Weeks * FULL_WEEKLY) + (Days * FULL_DAILY);
double FullRate3 = (Days * ECONOMY_DAILY);
if ((Rate1 > Rate2) & (Rate1 > Rate3)) {
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + FullRate1);
}
else if ((FullRate2 > FullRate1) & (FullRate2 > FullRate3)) {
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + FullRate2);
}
else if ((FullRate3 > FullRate1) & (FullRate3 > FullRate2)) {
System.out.println("This is the best rate for a" + " " + color + " " + Type + " vehicle for" + " " + Days + "days:" + FullRate3);
}
break;
default:
System.out.println("Try Again!");
break;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.