每日一练76——Java MakeUpperCase(8kyu)

题目

写函数makeUpperCase。

测试用例:

import org.junit.Test;
import static org.junit.Assert.assertEquals;
import org.junit.runners.JUnit4;

public class SolutionTest {

Upper u = new Upper();

    @Test
    public void testSomething() {
       assertEquals("HELLO",u.MakeUpperCase("hello"));
       assertEquals("HELLO WORLD",u.MakeUpperCase("hello world"));
    }
}

解题

My

class Upper{
  public static String MakeUpperCase(String str){
    char[] arr = str.toCharArray();
    for (int i = 0; i< arr.length; i++) {
      if (arr[i]<=122 && arr[i]>=97) {
      arr[i] -= 32;
      }
    }
    return new String(arr);
  }
}

Other

class Upper{
  public static String MakeUpperCase(String str){
    return str.toUpperCase();
  }
}
import java.nio.charset.StandardCharsets;

class Upper{
  public static String MakeUpperCase(String str){
    byte[] bytes = null;
    bytes = str.getBytes(StandardCharsets.US_ASCII);

    // a - 97, z - 122
    // A - 65, Z - 90
    for (int i = 0; i < bytes.length; i++) {

      byte b = bytes[i];

      if (b > (byte) 'a' && b < (byte) 'z') {
        bytes[i] = (byte) (b - 32);
      }
    }

    return new String(bytes, StandardCharsets.US_ASCII);
  }
}

后记

库函数toUpperCase()一句话可以搞定的事,为啥还要特地封装成另一个函数呢,我思考了一下,自己写了一个简单的实现。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目 您的任务是创建一个执行四个基本数学运算的函数。 该函数应该有三个参数 - operation(string ...
    砾桫_Yvan阅读 167评论 0赞 0
  • 题目 我是编码的新手,现在我想得到两个数组的总和......实际上是所有元素的总和。我很感激你的帮助。 P.S.每...
    砾桫_Yvan阅读 256评论 0赞 0
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,288评论 18赞 399
  • 哈喽,素素的乌班图已经下载好了,你们的呢? 那么第一步,打开我们安装好的虚拟机。 啊咧?虚拟机不是这个样子的。哈哈...
    北方素素阅读 897评论 0赞 0
  • 他总是语重心长地跟我讲这讲那,絮絮叨叨,我觉得很烦。他也总是很在理,不论我说什么,事实也证明了他的确在理,只是我在...
    BlankFairy阅读 189评论 0赞 0

友情链接更多精彩内容