Java达内教学初级教程5

sqyihua 贡献于2017-09-05

作者 lenovo  创建于2017-08-29 12:56:00   修改者lenovo  修改于2017-08-29 12:57:00字数9443

文档摘要:1.九九乘法表 2.求数组元素的最大值 3.求数组元素的最大值放在最后一位 4.冒泡排序算法实现
关键词:

Top JAVA Fundamental DAY05 1. 九九乘法表 2. 求数组元素的最大值 3. 求数组元素的最大值放在最后一位 4. 冒泡排序算法实现 1 九九乘法表 1.1 问题 在界面打印九九乘法表,效果如图-1所示: 图-1 1.2 方案 此案例需要使用嵌套循环来实现。 分析图-1可以看出,九九乘法表一共需要输出九行数据,如图-2所示: 图-2 由图-2可以看出,需要使用一个 for 循环来控制输出的行数。代码如下所示: 1. //i变量用于控制行数 2. for (int i = 1; i < 10; i++){ 3. } 分析图-2中的每行,可以看出,每行中的乘法表达式的个数正好和行数相同。每个乘法表达式中,第一个乘数从 1 开始,乘到最大值(当前行数),而另一个乘数正好是行数,如图-3所示: 图-3 因此,在输出每行中的内容时,还需要使用一个 for 循环来控制每行中输出的表达式的个数。如果当前行为第 9 行,则循环的代码如下所示: 1. //假设当前行为第 9 行 2. int i = 9; 3. for (int j = 1; j <= i; j++) { 4. System.out.print( j + "*" + i + "=" + j*i + "\t"); 5. } 因为行数并不固定,而是从第一行到第九行,因此,需要将两个循环嵌套起来,代码如下所示: 1. //i变量用于控制行数 2. for (int i = 1; i < 10; i++) { 3.         //j变量用于控制每行中参与计算的最大数值:与行数相等 4.         for (int j = 1; j <= i; j++) { 5. System.out.print( j + "*" + i + "=" + j*i + "\t"); 6. } 7.         //每行输出完毕后,需要换行 8.         System.out.println(); 9. } 1.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:定义类及 main方法 首先定义一个名为MultiplicationTable的类,并在类中添加Java应用程序的主方法main,代码如下所示: 1. public class MultiplicationTable{ 2.     public static void main(String[] args) { 3.     } 4. } 步骤二:构建循环 在main方法中,构建两层嵌套的 for 循环:外层循环用于控制行,内层循环用于控制某行上的乘法表达式。需要注意的是,每行输出完毕后,需要换行。代码如下所示: 1. public class MultiplicationTable { 2.     public static void main(String[] args) { 3. //i变量用于控制行数 4. for (int i = 1; i < 10; i++) { 5. //j变量用于控制每行中参与计算的最大数值:与行数相等 6. for (int j = 1; j <= i; j++) { 7. 8. } 9. //每行输出完毕后,需要换行 10. System.out.println(); 11. } 12.     }     13. } 隐藏 步骤三:输出乘法表 考虑到输出界面的美观性,使用“\t”进行排版对齐代码如下所示: 1. public class MultiplicationTable { 2.     public static void main(String[] args) { 3. //i变量用于控制行数 4. for (int i = 1; i < 10; i++) { 5. //j变量用于控制每行中参与计算的最大数值:与行数相等 6. for (int j = 1; j <= i; j++) { 7. //设置输出的格式,控制排版对齐 8. System.out.print( j + "*" + i + "=" + j*i + "\t"); 9. } 10. //每行输出完毕后,需要换行 11. System.out.println(); 12. } 13.     }     14. } 隐藏 上述代码中的“\t”是水平制表符,其作用为从行首开始,每8字节算一个制表位,“\t”会在当前内容结束后第一个空的制表位处连接上下文。 1.4 完整代码 本案例的完整代码如下所示: 1. public class MultiplicationTable { 2.     public static void main(String[] args) { 3. //i变量用于控制行数 4. for (int i = 1; i < 10; i++) { 5. //j变量用于控制每行中参与计算的最大数值:与行数相等 6. for (int j = 1; j <= i; j++) { 7. //设置输出的格式,使用"\t"控制排版对齐 8.     System.out.print( j + "*" + i + "=" + j*i + "\t"); 9. } 10. //每行输出完毕后,需要换行 11. System.out.println(); 12. } 13.     }     14. } 隐藏 2 求数组元素的最大值 2.1 问题 创建程序,实现查询数组中最大值的功能,需求为:创建一个长度为 10 的数组,数组内放置 10 个 0 到 99 之间(包含0,包含99)的随机整数作为数组内容,要求查询出数组中的最大值,并打印显示在界面上,界面效果如图-4 所示: 图-4 2.2 方案 首先,此案例中,首先需要创建一个长度为 10 的整型数组,然后使用 for 循环来产生 10 个 0 到 99 之间的随机整数,并放入数组;然后查询数组中的最大值,并打印显示结果。 2.3 步骤 实现此案例需要按照如下步骤进行。 步骤一:定义类及 main方法 首先定义一个名为MaxOfArray的类,并在类中添加Java应用程序的主方法main,代码如下所示: 1. public class MaxOfArray{ 2.     public static void main(String[] args) { 3.     } 4. } 步骤二:创建数组 在 main 方法中创建一个长度为 10 的数组,代码如下: 1. public class MaxOfArray { 2.     public static void main(String[] args) { 3.         //创建一个 10 个长度的数组 4.         int[] arr = new int[10];         5.     }     6. } 步骤三:数组的赋值 使用 for 语句构建一个 10 次的循环,在每次循环中,随机产生一个 0到99之间的整数,并存入数组。 此案例中,使用 Random 类的 nextInt()方法产生随机数。代码如下所示: 1. import java.util.Random; 2. 3. public class MaxOfArray { 4.     public static void main(String[] args) { 5.         //创建一个 10 个长度的数组 6.         int[] arr = new int[10]; 7.          8.         //随机生成 10 个0-99之间的数值,放入数组 9.         Random ran = new Random(); 10.         for(int i=0;i arr[j + 1]) { 18.                     int t = arr[j]; 19.                     arr[j] = arr[j + 1]; 20.                     arr[j + 1] = t; 21.                 } 22.             } 23.             System.out.println(Arrays.toString(arr)); 24.         } 25.         System.out.println("----------冒泡排序结束----------"); 26.         System.out.println(Arrays.toString(arr)); 27.     } 28. } 4.4 完整代码 本案例的完整代码如下所示: 1. import java.util.Random; 2. import java.util.Arrays; 3. 4. public class BubbleSort { 5.     public static void main(String[] args) { 6.         //创建数组 7.         int[] arr = new int[10]; 8. Random ran = new Random(); 9.         for (int i = 0; i < arr.length; i++) { 10.             arr[i] = ran.nextInt(100); 11.         } 12.         System.out.println(Arrays.toString(arr)); 13.         // 冒泡排序 14.         System.out.println("----------冒泡排序 开始----------"); 15.         for (int i = 0; i < arr.length - 1; i++) { 16.             for (int j = 0; j < arr.length - i - 1; j++) { 17.                 if (arr[j] > arr[j + 1]) { 18.                     int t = arr[j]; 19.                     arr[j] = arr[j + 1]; 20.                     arr[j + 1] = t; 21.                 } 22.             } 23.             System.out.println(Arrays.toString(arr)); 24.         } 25.         System.out.println("----------冒泡排序 结束----------"); 26.         System.out.println(Arrays.toString(arr)); 27.     } 28. } 隐藏

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 10 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档