java面试题之随机生成10个不重复的整数
本课程是一套系统学习的课程,涵盖了HTML、CSS、JavaScript、Jquery、Servlet、Jsp、代理、反射、手写自定义框架、mysql数据库、JDBC、Mybatis框架等知识点,学习完上述知识点之后,老师将带领大家完成电商项目实战,将学习的所有知识点整合在一起,达到学以致用的目的;
import java.util.Arrays; /** * @author 罗老师<br> * 课程《Java零基础至高级应用》提供全套【代码+笔记+相关开发工具+答疑服务】 *查看课程 */ public class LianXi_06 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub /* * 随机生成10个不重复的整数 范围在 1 - 20 (不包括20)之间 ,输出排序好的数组。由小至大 由大至小排序 * * */ //创建长度为10的数组,用于存放随机生成整数(1 - 20 )之间 //[0][0][0][0][0][0][0].... int[] array = new int[10]; //创建Random java.util.Random random = new java.util.Random(); OUT: for (int i = 0; i < array.length; i++) { //通过random的nextInt方法生成随机数 int data = random.nextInt(20);//生成0 到 20之间的随机数 //将随机数存放在数组中时,要先进性判断,如果该随机数已经存在则本次生成的随机数无效,也不需要放入数组中,重新生成 //遍历数组,判断刚刚生成的随机数再数组中是否存在 for (int j = 0; j < array.length; j++) { if(data == array[j]) { i--; //说明该随机数已经存在,退出循环继续下一次循环 continue OUT; } } //将生成好的随机数存放在数组中 array[i] = data; } //打印数组中的元素 System.out.println("排序前数组中的元素信息:"+Arrays.toString(array)); //1、对数组中的元素进行有小往大排序 以及 2、对数组中的元素进行有大往小排序 //由小往大排序 //通过外循环控制需要比较的趟数 /*for (int i = 0; i < array.length - 1; i++) { //通过内循环控制比较的次数 for (int j = 0; j < array.length - 1 - i; j++) { //定义临时变量 int temp; if(array[j] > array[j+1]) { temp = array[j+1]; array[j+1] = array[j]; array[j] = temp; } } }*/ //打印数组中的元素 //System.out.println("数组中的元素进行由小往大排序后的结果:"+Arrays.toString(array)); //由大往小排序 for (int i = 0; i < array.length - 1; i++) { //通过内循环控制比较的次数 for (int j = 0; j < array.length - 1 - i; j++) { //定义临时变量 int temp; if(array[j] < array[j+1]) { temp = array[j+1]; array[j+1] = array[j]; array[j] = temp; } } } //打印数组中的元素 System.out.println("数组中的元素进行由大往小排序后的结果:"+Arrays.toString(array)); } }
有知识点整合在一起,达到学以致用的目的;