2

我是一个想要调整项目的初学者程序员。我没有包含代码,因为我不知道从哪里开始。基本上,我正在捕获不同机票类别的输入。如:类型1为一等舱,2为商务舱,3为经济舱。然后通过 if else 语句运行输入,以根据类别确定每张票的成本。在计算出价格并传递给另一个计算折扣率的方法后,我想在输出窗口中显示类类型。

为了更清楚起见,它会说类似,(名称+“您的班级类型是:” + classType +“您的折扣价是:” + discountPrice +“您的finalPrice是:” + finalPrice).....加上所有格式优雅。我希望 classType 显示实际单词,而不仅仅是“1”“2”或“3”。至少,我已经能够捕获输入并分配价格然后计算。我只是希望在这样做之后我可以返回一个字符串值而不是数字类型。对于那些提供帮助的人,非常感谢你,请记住我是一个菜鸟,没有机会学习数组和比这更复杂的东西。

4

2 回答 2

1

由于这是一个足够简单的场景,您可以执行以下操作:

int typeNum; // This is what holds 1, 2, 3 etc for the type of ticket
             // 0 is used, so we'll just put a "NONE" as the string for it
String classType[] = {"NONE", "First Class", "Business", "Economy"};
...
System.out.println(name + 
                   "Your class type is: " + classType[typeNum] + 
                   "Your discount price is: " + discountPrice + 
                   "Your finalPrice is:" + finalPrice);

进行类型到字符串映射(并且通常只使用类型)的“正确enum”方法是使用:http ://docs.oracle.com/javase/tutorial/java/javaOO/enum.html

更新):根据要求在没有数组的情况下执行此操作:

int typeNum; // Still the int that should be either 1, 2, or 3 for type of ticket
...

String classType;

if ( typeNum == 1 ) {
    classType = "First Class";
} else if ( typeNum == 2 ) {
    classType = "Business";
} else if ( typeNum == 3 ) {
    classType = "Economy";
} else {
    classType = "(Unrecognized Ticket Type)";
}

System.out.println(name + 
                   "Your class type is: " + classType + 
                   "Your discount price is: " + discountPrice + 
                   "Your finalPrice is:" + finalPrice);
于 2012-11-08T04:17:10.033 回答
1

您的班级类型似乎是enum. 例如:

public enum ClassType {

    FIRST_CLASS(1, "1st Class"),
    BUSINESS(2, "Business"),
    ECONOMY(3, "Economy");

    private final int code;
    private final String name;

    private ClassType(int code, String name) {
        this.code = code;
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public static ClassType getByCode(int code) {
        for (ClassType classType : ClassType.values()) {
            if (classType.code == code) {
                return classType;
            }
        }
        throw new IllegalArgumentException();
    }
}

如果您还没有了解枚举,可以从Java 教程开始。

于 2012-11-08T04:22:53.117 回答