首页 文章

从单个字母创建字符串的更有效方法[暂停]

提问于
浏览
1

目前我的程序使用多个if {}循环从名称中的单个字母创建一个新字符串 . 程序看起来像这样:

public static String cool(String S) {
     int c = s.charAt(0);
     String adj = "";
     if (c==97) {
         adj += "Awesome";
         return adj;
     }

     else if(c==98) {
         adj += "Badass";
         return adj;
     }
     ...

     else {
         adj+= "Invalid Character, please try again";
         return adj;
     }
}

我知道你可以使用数组来解决这个问题,但看到我的 class 还没有学到这个,但我想在个人程序中使用它,我想知道最有效的方法是什么 .

非常感谢!

编辑:我忘了添加一个事实,即我在代码中间的省略号不清楚的情况下,通过ASCII值将所有26个字母用于此代码 .

编辑2:问题是要求输出最有效的方法,而不是计算机必需的

编辑3:是的,我是一个笨蛋哈哈,我没有说出我的方法lmao

3 回答

  • 3

    为了改善您的开发,维护和性能,请使用交换机案例操作员,因为您“陷入”那些原则编程步骤中 .

    switch(int c) {
     case 97:
      ...
     case 98:
      ...
     }
    
  • 4

    正如其他人已经指出的那样,您的函数需要一个名称,而不仅仅是返回类型和参数 . 尝试像 public static String stringMaker (String S) { } 这样的东西,你为什么要转换为整数,当你可以成为一个char?另外,只是抬头,你不能像这样转换大写字母,因为它们有不同的ASCII码 .

  • 4

    我个人会使用 Map :

    public static String myFunc (String s) {
         Map<Character, String> map = new HashMap<>();
         map.put('a', "Awesome");
         map.put('b', "Badass");
         ...
         return map.getOrDefault(s.charAt(0), "Invalid Character, please try again");
    }
    

相关问题