我有以下锻炼:
开发回合制策略 Losers-V 的 Lavin Interactive Company 通过将游戏本地化为尽可能多的语言,不断扩展其目标市场。特别是,他们有兴趣在 Anindilyakwa 中创建游戏版本,这是澳大利亚土著人使用的语言之一。然而,由于 Anindilyakwa 没有数字,本地化变得复杂。“你有七条黑龙,你的敌人有四十条黑龙”这样的短语如何翻译成这种语言?本地化人员决定将其翻译如下:“你的黑龙很少,你的敌人有很多黑龙。” 他们编制了一张表格,显示了用 Anindilyakwa 单词替换怪物数量的规则。
我的实现如下:
import java.util.Scanner;
public class Localization {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int number;
String designation;
number = s.nextInt();
if (number >= 1 && number <= 4) {
designation = "few";
}else if(number >= 5 && number <= 9){
designation = "several";
}else if(number >= 10 && number <= 19){
designation = "pack";
}else if(number >= 20 && number <= 49) {
designation = "lots";
}else if(number >= 50 && number <= 99){
designation = "horde";
}else if(number >= 100 && number <= 249){
designation = "throng";
}else if(number >= 250 && number <= 499){
designation = "swarm";
}else if(number >= 500 && number <= 999){
designation = "zounds";
}else{
designation = "legion";
}
System.out.println(designation);
}
}
我在比赛服务器上加载了我的代码。我看到了下一个统计数据:
执行时间:0.109
使用的内存:1 434 KB
在此之后,我检查了顶级结果和我所看到的:
排名 1:
执行时间:0.062
使用的内存:78 KB
结论:
我的代码慢了两倍;我的代码使用了 20 倍的内存。
我的问题:如何?如何?这怎么可能?为什么我的代码如此愚蠢?我需要更改什么来改进我的代码?