我正在执行一个用于将数字转换为单词的java代码(例如,999 - >九九九)。我用了两个String来定义单词。
private static final String[] tensWords ={ "", " ten", " twenty", " thirty"}
public enum tenWords{ten, twenty, thirty}
当我使用枚举时,我无法像在String数组中那样放置空白“。所以它导致了错误的输出。请建议如何解决这个问题。下面是我使用枚举来访问值的代码。
if (number % 100 < 20)
{
soFar = tensWords.values()[number % 100].toString();
number /= 100;
}
答案 0 :(得分:5)
您可以使用枚举参数在枚举值中存储您想要的任何内容:
enum TensWords {
NONE(""),
TEN("Ten"),
TWENTY("Twenty");
///...
private final String text;
TensWords(String text) {
this.text = text;
}
public String getText() {
return text;
}
}
另外,请考虑移动代码以按编号将TensWords确定为枚举作为静态方法。
答案 1 :(得分:1)
您可以使用枚举并指定值:
public enum TenWords{
ZERO(""), TEN("ten"), TWENTY("twenty"), THIRTY("thirty");
private final String value;
private TenWords(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
并访问它:
System.out.println(TEN.getValue());
System.out.println(ZERO.getValue());
答案 2 :(得分:0)
您可以在枚举上实现toString(),以获得所需的空间。