【学习记录】5.二维数组以及数组练习挑战
2017-04-03 00:04
337 查看
5.二维数组以及数组练习挑战
1)定义二维数组
2)访问和遍历
访问:
遍历1:
遍历2:
练习:
1.创建一个3*3的二维数组,包括9个字符串名字,查找并输出“tom”在几行几列,如果tom不在内,则输出他不在。
2.找到tom和micro,给他们交换位置。
挑战:
1.初始化一个包括100个元素的数组。
2.每个元素是用1-10之间的随机数。
3.打印输出8一共出现了几次。
4000
1)定义二维数组
int[][] nums = {{2,4,6},{3,5},{7,8,9,10}}; String[][] names = new String[][]{{"tom","ben","ad"},{"ce","st"}}; String[][] names2 = new String[4][3];
2)访问和遍历
访问:
System.out.println(names[1][0]);
System.out.println(nums[2][3]);
遍历1:
for (int i = 0; i < names2.length; i++) { String[] nameA = names2[i]; for (int j = 0; j < nameA.length; j++) { nameA[j] = "a"+i+j; System.out.println(names2[i][j]); } }
遍历2:
for (String[] strings : names2) { for (String string : strings) { System.out.println(string); } }
练习:
1.创建一个3*3的二维数组,包括9个字符串名字,查找并输出“tom”在几行几列,如果tom不在内,则输出他不在。
String[][] name = {{"tom","com","aom"},{"mary","micro","fan"},{"chan","dan","ken"}}; for (int i = 0; i < name.length; i++) { String[] nameA = name[i]; for (int j = 0; j < nameA.length; j++) { if (nameA[j]=="tom") { System.out.println("tom在第"+(i+1)+"行,第"+(j+1)+"列"); } } } System.out.println("他不在");
2.找到tom和micro,给他们交换位置。
String[][] name = {{"tom","com","aom"},{"mary","micro","fan"},{"chan","dan","ken"}}; int a = 0; int b = 0; int c = 0; int d = 0; String temp = new String(); String nameN = new String(); String nameM = new String(); for (int i = 0; i < name.length; i++) { String[] nameA = name[i]; for (int j = 0; j < nameA.length; j++) { if (nameA[j]=="micro") { nameN = name[i][j]; a = i; b = j; System.out.println("交换前micro在第"+(i+1)+"行,第"+(j+1)+"列"); } if (nameA[j]=="tom") { nameM = name[i][j]; c = i; d = j; System.out.println("交换前tom第"+(i+1)+"行,第"+(j+1)+"列"); } } } temp = name[a][b]; name[a][b] = name[c][d]; name[c][d] = temp; for (int i = 0; i < name.length; i++) { String[] nameA = name[i]; for (int j = 0; j < nameA.length; j++) { if (nameA[j]=="micro") { System.out.println("交换后micro在第"+(i+1)+"行,第"+(j+1)+"列"); } if (nameA[j]=="tom") { System.out.println("交换后tom第"+(i+1)+"行,第"+(j+1)+"列"); } } }
挑战:
1.初始化一个包括100个元素的数组。
2.每个元素是用1-10之间的随机数。
3.打印输出8一共出现了几次。
int nums[] = new int[100]; Random ran = new Random(); int a = 0; for (int i : nums) { nums[i] = ran.nextInt(10)+1; System.out.println(nums[i]); if (nums[i]==8) { a++; } } System.out.println("共打印"+a+"次数字8。");
4000
相关文章推荐
- java基础学习记录之数组折半查找的学习与练习四
- 个人练习数据结构之--------------关于线性数据的有序数组以及之上的二分法查找、不同排序方法的学习
- java基础学习记录之利用数组进行进制转换的学习与练习五
- java基础学习记录之利用数组查表法进行进制转换优化的学习与练习七(十转二、十转八、十转十六)
- 【嵌入式系统学习记录】练习:编写一个函数,求字符数组的前n个字符中最大字符的地址并返回该地址,字符数组和n作为函数的参数;
- java基础学习记录之数组选择排序的学习与练习二
- mysql中如何将查询结果的多个记录中的指定字段放到一个二维数组中,以及在in子句中使用数组
- 大端和小端格式的区别,以及二维数组和指针数组的学习总结。
- java基础学习记录之利用数组查表法进行进制转换的学习与练习六
- java基础学习记录之数组冒泡排序的学习与练习三
- java基础学习记录之数组最值的学习与练习一
- 迭代器学习之二:数组的可枚举类型和枚举数的定义以及编译器的foreach工作原理
- 菜鸟学习linux笔记与练习-----一些基本命令以及初级网络配置
- Java 一维数组,二维数组的定义声明 以及一维数组的 冒泡排序 以及二维数组的鞍点
- 数据结构学习记录-两个数组的合并
- SAP BW学习第一课:BW建模——总账练习操作步骤记录
- 黑马程序员_学习记录04:数组
- 一步一步学习java数组学习(ch5)数3退1记录最后留下来的在队列中的位置
- Android学习 之 Bitmap Drawable byte[] 三者之间的转换以及把数组存入数据库及提取数据重新组合成所需对象,如图像
- 黑马程序员--学习笔记--一个字符串、数组、函数综合运用的小练习