是否可以将数字数据类型转换为字符串以便在Java中输出?

时间:2012-11-08 04:13:52

标签: java string methods return numeric

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

为了进一步说明,它会说类似,(名称+“您的班级类型是:”+ classType +“您的折扣价格是:”+ discountPrice +“您的finalPrice是:”+ finalPrice)..... plus所有的格式优雅。我希望classType显示实际的单词,而不仅仅是“1”“2”或“3”。我至少能够捕获输入并分配价格然后计算。我只是希望在执行此操作后我可以返回字符串值而不是数字类型。对于那些帮助的人,非常感谢你,请记住我是一个菜鸟,并且没有机会学习阵列以及比这更复杂的事情。

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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 Tutorials