java SE教程06
来源:互联网 发布:mac 六国 重新启动 编辑:程序博客网 时间:2024/05/17 05:16
数字的统计,
提示用户输入的一个长度8位正整数数字 , 我们来统计这个数字中的每一位上出现的数字的重复次数 :
例如:
11223344 里面出现了两个1 , 两个2 两个3 两个4如何取出每一位的数字: int a = 11223344个位数: a%10; a = a/10;十位数: a%10; a = a/10;百位数: a%10; a = a/10;千位数: a%10;
import java.util.Scanner;
public class Demo1{
public static void main(String[] args){
System.out.println(“请输入一个小于21亿的数字:”);
Scanner input = new Scanner(System.in);
//用户输入的数字 1 1 2 2
int number = input.nextInt();
int[] arr = new int[10];
int maxIndex = 0;
for(int i=0;;i++){
arr[i] = number%10;
number /= 10;
if(number==0){
//当循环准备退出时, 将当前存储的下标(也就是最大有效数据下标存储到这个变量maxIndex上)
maxIndex = i;
break;
}
}
//——————–
for(int i=0;i<=maxIndex;i++){ System.out.print(arr[i]+" , "); } //---------------------------- //1. 存储位数上的数字 (保证不重复) int[] arr2 = new int[arr.length]; //2. 存储与上述数组对应的次数 int[] arr3 = new int[arr.length]; //3. arr2中存储到了哪个下标的标记 int arr2Index = 0; for(int i=0;i<=maxIndex;i++){ /*判断arr[i],也就是当前进行比较的数字, 是否再arr2这个数组中存在*/ //用来表示下个比较的循环结果, 如果循环找到了相同的则表示false boolean flag = true; for(int j=0;j<arr2Index;j++){ if(arr[i]==arr2[j]){ flag = false; } } //--------------------------------------- if(flag){ //表示从未比较过此数字 arr2[arr2Index] = arr[i]; arr3[arr2Index] = 1; arr2Index++; for(int j=i;j<arr.length-1;j++){ if(arr[i]==arr[j+1]){ //如果相同表示i坐标存在相同的数字 arr3[arr2Index-1]+=1; //System.out.println("寻找到一个相同的:"+arr[i]); } } }else{ //表示这个数字 再arr2数组中存在, 无需再进行比较 } } System.out.println(); for(int i=0;i<arr2Index;i++){ System.out.print("数字:"+arr2[i]+"出现了"+arr3[i]+"次,"); }}
}
简单实现:
System.out.println("请输入一个小于21亿的数字:"); Scanner input = new Scanner(System.in); int number = input.nextInt(); int[] arr = new int[10]; for(int i=0;;i++){ //arr[i] = number%10; arr[number%10]+=1; number /= 10; if(number==0){ break; } }
练习:
求出如下数组中数组的 , 最大值, 最小值, 平均值:
int[] arr = {-2,-4,-6,-8,-10,-15};
求最大值:
int max = arr[0];//错误
for(int i=1;i
内层循环length-i-1
标准升序排列模版代码:
int[] arr = {任意数组};
int temp;
for(int i=0;i
- java SE教程06
- java SE教程04
- java SE教程05
- java SE教程07
- java SE教程08
- java SE教程09
- java SE 教程 10
- java SE 教程 day11
- java se 06
- 新书上架:《Java SE 实践教程》
- JAVA SE — Day 06
- 教程:Win平台下配置Java SE Development Kit环境
- java se
- Java SE
- java se
- java se
- java se
- JAVA SE
- 内部类
- 网络引用地址
- Qt Serial Port编译Ubuntu1604+qt4.8.7+qt create2.5.2
- 深入理解java注解(Annotation)以及 自定义注解入门
- MongoDB使用小结:一些常用操作分享
- java SE教程06
- 解决下载文件时中文乱码问题
- Qt无法用UTF-8编辑问题
- Hibernate--根据实体类获得表名、主键名、字段名(与Spring集成)(一)
- 【BeagleBone Black Rev. C试用体验】+设备树驱动
- 人脸识别:(抓拍+识别)
- String Split 获取空值--limit参数作用
- 对于相同喜好的用户,电商高手用Spark MLlib代码如何操作?
- [列联相关] 列联系数计算及假设检验