黑马程序员技术交流社区

标题: 日常学习所思 [打印本页]

作者: 末学之人    时间: 2018-8-2 23:46
标题: 日常学习所思
        随着我对Java的学习日渐加深,我发现Java是一门非常实用和全面的编程语言,由于JVM的存在,它可以在任何的操作系统上运行,极具跨平台性.同时如果用户想运用一个Java程序,也只要安装包含JVM的JRE就行了.同时我在学习JAVA的过程中发现JAVA开发工具包已经自带了很多实用的工具类,经过长时间的更新修改之后,已经能跟我们编写JAVA程序时的习惯非常契合,大大方便了我们的编写.
       在学习中,每天都会有新的知识点出现,而有些非常的生涩难懂,而我发现,不管是什么难懂的知识点,你只要不停地做题敲代码,一遍一遍反复之后,会豁然明了,前些天我遇到了一个很有意思地题目.
题目如下:定义String getStr()方法
         功能描述:
         获取长度为5的随机字符串
         字符串由随机的4个大写英文字母和1个0-9之间(包含0和9)的整数组成
         英文字母和数字的顺序是随机的.
       从我们当天学过的知识,我发现无法直接编写出程序,那么我们就需要结合之前的知识去分析题目,得到答案.
       首先,要获得5个随机字符串,那肯定需要用到Random类的成员方法和for循环,而字符串由4个大写英文字母和1个整数组成,则需要我们将char类型转化成int类型然后随机得到结果再转化成char类型.而英文字母和数字的顺序随机则又要用一个Random类方法和if条件语句.
       最后编写出来的程序如下:
public class Day08Test2 {
    public static void main(String[] args) {
        Random r= new Random();
        ArrayList<Character> list=new ArrayList<>();
        for (int i = 0; i < 5; i++) {
            list.add((char) (r.nextInt('Z'-'A'+1) + 'A'));
        }
        char numChar=(char)(r.nextInt(10)+'0');
        String str="";
        int j=r.nextInt(5);
        int k=0;
        for (int i = 0; i < 5; i++) {
            if(i==j){
                str=str+numChar;
            }else{
                str=str+list.get(k);
                k++;
            }
        }
        System.out.println(str);

    }

}
      以上就是我对这道题目的解决思路,我觉得遇到难题首先得去剖析分析,把步骤理清楚,加上扎实的基本功,难题也就不再是难题了.








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2