黑马程序员技术交流社区
标题:
日常学习所思
[打印本页]
作者:
末学之人
时间:
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