输出给定数组中每种元素出现的次数
来源:互联网 发布:火车票刷屏软件 编辑:程序博客网 时间:2024/05/21 22:24
在学习数组的时候,遇到了这个问题。思前想后得出了一种方法,后来在二女老师的提示下,又得到了另一种方法。在这里拿出来和大家分享一下
方法一上代码:
package com.december1;//5给定一个数组,要求求出数组中每种元素重复出现的次数,且打印以下效果:3出现了2次 public class CountArrayElementsTest1 { public static void main(String[] args) { // TODO Auto-generated method stub // 首先定义一个数组 int[] array = { 1, 1, 3, 1, 4, 3, 6, 8, 2, 1, 4 }; // 利用每一个元素向后遍历的方法先遍历一下 // 这里for循环里的i代表的是比较数的下标 for (int i = 0; i < array.length; i++) { // 若出现在的这个数之前已经存在,则不进行比较,这个数存在的下标范围是0~i-1(因为我当前判断的就是i下标的数在之前有没有存在) // 定义一个标记 boolean flag = true; for (int k = 0; k < i; k++) { if (array[i] == array[k]) {// 若相等,则说明之前存在过,下面不进行判断计数 flag = false;// 标记这个数存在过 break;// 若存在退出当前for循环,进行下一个比较数的判断 } } // 首先判断i下标这个数在之前是否存在,若存在则不进行判断,假设不存在 if (flag) { // 定义一个计数器 int count = 1;// 本身就算一次所以定义为1 // 代表i下标后面的所有数 for (int j = i + 1; j < array.length; j++) { if (array[i] == array[j]) { count++;// 若相等则自加 } } System.out.println(array[i] + "出现的次数是:" + count); } } }}
方法二上代码:
package com.december1;public class CountArrayElementTest2 { public static void main(String[] args) { // TODO Auto-generated method stub // 先定义一个数组 int[] array = { 1, 4, 2, 1, 4, 5, 3, 4, 2, 8, 6, 4 }; // 定义一个标记数组 int[] array1 = new int[array.length]; // 对数组赋值 for (int i = 0; i < array1.length; i++) { array1[i] = 1;// 这样array1中每个元素值都为1 } // 对无序数组进行排序,因为有了顺序就可以记录每个元素出现的次数 for (int i = 0; i < array.length; i++) { for (int j = i + 1; j < array.length; j++) { int temp; if (array[i] > array[j]) { temp = array[i]; array[i] = array[j]; array[j] = temp; } } } // 为了便于观察下面输出排序后的数组 for (int a1 : array) { System.out.print(a1 + " "); } System.out.println(); // 对有序数组中出现过两次的做标记 for (int i = 0; i < array.length; i++) { for (int j = 0; j < i; j++) { if (array[i] == array[j]) { array[i] = 0; array1[j]++; continue; } } } // 再观察下array数组 for (int a1 : array) { System.out.print(a1 + " "); } System.err.println(); for (int i = 0; i < array.length; i++) { if (array[i] != 0) { System.out.println(array[i] + "出现的次数是:" + array1[i]); } } }}
由于本人能力有限,难免有所疏漏,烦请各路大神指正。
0 0
- 输出给定数组中每种元素出现的次数
- 输出数组中出现次数最多的元素
- 统计数组中出现次数最多的元素并输出
- 在一个排序数组中,输出给定数字出现的次数
- 【Java笔试题】输出数组中元素出现次数过半的元素
- 数组中元素出现的次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 有序数组中找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字出现的次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中找出给定数字出现的次数
- 在排序数组中,找出给定数字的出现次数
- 在排序数组中,找出给定数字的出现次数
- 计算字符串中每种字母出现的次数
- 正则表达式30分钟入门教程
- 菜鸟初学c++,一些零散小知识点
- 多个客户机之间配置ssh免秘钥登录
- 20 个前端开发 Bootstrap 后台管理模板
- 开源组织管理模式演变
- 输出给定数组中每种元素出现的次数
- 51nod 1396 还是01串【前缀和】
- 开源世界应该致谢的五家公司 Square、LinkedIn、Google
- Eclipse 在开发中使用到的快捷键(转载)
- 转凉的天
- log4j利用数据库连接池(dbcp)
- notepad++ 搭建python开发环境
- nim博弈
- 期中考试-C