java数组专项练习

简介: l  有30个0~9之间的数字,分别统计0~9这10个数字分别出现了多少次? Public class TestArray{int score[]={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,...

l  有30个0~9之间的数字,分别统计0~9这10个数字分别出现了多少次?

Public class TestArray
{
int score[]={0,0,1,2,3,5,4,5,2,8,7,6,9,5,4,8,3,1,0,2,4,8,7,9,5,2,1,2,3,9};
int num0=0;
int num1=0;
int num2=0;
int num3=0;
int num4=0;
int num5=0;
int num6=0;
int num7=0;
int num8=0;
int num9=0;
for (int i=0;i<score.length ;i++ )
{
	if (score[i]==9)
	{
		num9++;
	}
	if (score[i]==1)
	{
		num1++;
	}
	if (score[i]==2)
	{
		num2++;
	}
	if (score[i]==3)
	{
		num3++;
	}
	if (score[i]==4)
	{
		num4++;
	}
	if (score[i]==5)
	{
		num5++;
	}
	if (score[i]==6)
	{
		num6++;
	}
	if (score[i]==7)
	{
		num7++;
	}
	if (score[i]==8)
	{
		num8++;
	}
	if (score[i]==0)
	{
		num0++;
	}
}
System.out.println("0出现的次数:"+num0);
System.out.println("1出现的次数:"+num1);
System.out.println("2出现的次数:"+num2);
System.out.println("3出现的次数:"+num3);
System.out.println("4出现的次数:"+num4);
System.out.println("5出现的次数:"+num5);
System.out.println("6出现的次数:"+num6);
System.out.println("7出现的次数:"+num7);
System.out.println("8出现的次数:"+num8);
System.out.println("9出现的次数:"+num9);
}

l  定义一个整型数组,保存10个数据,利用程序完成将最大值保存在数组中的第1个元素且原第一个数换到最大值的位置!

public class TestArray01
{
       publicstatic void main(String agrs[])
       {
              int score[]={55,45,5,44,2,6,56,15,4,12};
              System.out.println("这10个数字:");
              print(score);
              System.out.println("");
              System.out.println("改变后的数字:");
              add(score);
       }
       publicstatic void add(int score[])
       {
              int max=score[0];
              int arr[]=new int[score.length];
              for (int i=0;i<score.length ;i++ )
              {
                     arr[i]=score[i];
                     if(max<arr[i])
                     {
                            max=arr[i];
                            int temp=arr[0];
                            arr[0]=arr[i];
                            arr[i]=temp;
                     }
              }
              for (int i=0;i<arr.length ;i++ )
              {
                     System.out.print(arr[i]+"、");
              }
       }
       publicstatic void print(int arr[])
       {
              for (int i=0;i<arr.length ;i++ )
              {
                     System.out.print(arr[i]+"、");
              }
       }
}

l  在排序好的数组中添加一个数字,将添加后的数字插入到数组合适的位置。

 

import java.util.Scanner;
public class TestArray02
{
	public static void main(String agrs[])
	{
		int score[]={5,10,20,40,42,100,500};
		System.out.println("原数组为:");
		print(score);
		System.out.println("");
		System.out.println("输入要插入的数字");
		Scanner scan=new Scanner(System.in);
		int x=scan.nextInt();
		System.out.println("添加一个数字后,数组的排序为:");
		add(x,score);
	}
	public static void print(int arr[])
	{
		for (int i=0;i<arr.length ;i++ )
		{
			System.out.print(arr[i]+"、");
		}
	}
	public static void add(int y,int arr[])
	{
		int one[]=new int[arr.length+1];
		for (int i=0;i<arr.length ;i++ )
		{
			one[i]=arr[i];
		}
		one[one.length-1]=y;
		for (int i=1;i<one.length ;i++ )
		{
			for (int j=0;j<one.length; j++ )
			{
				if (one[i]<one[j])
				{
					int temp=one[i];
					one[i]=one[j];
					one[j]=temp;
				}
			}
		}
		for (int i=0;i<one.length ;i++ )
		{
			System.out.print(one[i]+"、");
		}
	}
}
编写程序求1!+2!+.........30!的和并显示

Public class  TestArray
{
public staticvoid main(String agrs[])
{
        double i=1;
              double sum=0;
              double s=1;
              for (i=1;i<=30 ;i++ )
              {
                     s=s*i;
                     sum=sum+s;
              }
              System.out.print(sum);
}
}

l  定义一个由整数组成的数组,要求求出其中的奇数个数和偶数个数。

 

public class TestArray03
{
	public static void main(String agrs[])
	{
		int n=0;
		int m=0;
		int score[]={12,125,22,5,7,6,8,11,20};
		for (int i=0;i<score.length ;i++ )
		{
			if (score[i]%2==0)
			{
				n++;
			}else
			{
				m++;
			}
		}
		System.out.println("偶数的个数:"+n);
		System.out.println("奇数的个数:"+m);
	}
}


现在定义如下的一个数组:intoldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5},要求将以上数组中值为0的去掉,将不为0的值存入一个新的数组,生成的新数组为:intnewArr[]={1,3,4,5,6,6,5,4,7,6,7,5}

public class TestArray04
{
	public static void main(String agrs[])
	{
		int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};
		int k=0;
		int num=0;
		for (int i=0;i<oldArr.length ;i++ )
		{
			if (oldArr[i]==0)
			{
				num++;
			}
		}
		int newArr[]=new int[oldArr.length-num];
		for (int i=0;i<oldArr.length ;i++ )
		{
			if (oldArr[i]!=0)
			{
				newArr[k]=oldArr[i];
				k++;
			}
		}
		for (int i=0;i<newArr.length ;i++ )
		{
			System.out.print(newArr[i]+"、");
		}
	}
}

定义一个整型数组,求出数组元素的和、数组元素的最大值和最小值,并输出所求结果。

public class TestArray05
{
	public static void main(String agrs[])
	{
		int score[]={22,11,33,15,23,12,14,55};
		int k=0;
		int max=score[0];
		int min=score[0];
		for (int i=0;i<score.length ;i++ )
		{
			k=k+score[i];
			if (max<score[i])
			{
				max=score[i];
			}
			if (min>score[i])
			{
				min=score[i];
			}
		}
		System.out.println("数组的和:"+k);
		System.out.println("数组的最大数:"+max);
		System.out.println("数组的最小数:"+min);
	}
}

l  给出10个整数(int型),然后任意查询一个数字是否存在该10个数字内

public class  TestArray06
{
	public static void main(String[] args) 
	{
		int score[]={11,12,33,15,55,45,66,65,78,88};
		int sum=11;
		for (int i=0;i<score.length ;i++ )
		{
			if (sum==score[i])
			{
				System.out.print("sum是这10个数里的数为:"+sum);
				break;
			}
			else
			{
				System.out.print("sum不是这10个数里的数!");
				break;
			}
		}
	}
}

l  定义一个包含10个元素的数组,对其进行赋值,使每个元素的值等于其下标,然后输出;最后将这个数组倒置后输出

public class  TestArray07
{
	public static void main(String[] args) 
	{
		int score[]=new int[10];
		int arr[]=new int[score.length];
		System.out.println("数组改变前:");
		for (int i=0;i<score.length ;i++ )
		{
			score[i]=i;
			System.out.print(score[i]+"、");
		}
		System.out.println("\n"+"数组改变后:");
		for (int i=0;i<score.length ;i++ )
		{
			arr[i]=score[i];
		}
		for (int i=0;i<arr.length ;i++ )
		{
			score[i]=arr[score.length-1-i];
			System.out.print(score[i]+"、");
		}
	}
}

l  给出10个老师的打分,对10个老师的打分打到最高分

public class  TestArray08
{
	public static void main(String[] args) 
	{
		int score[]={100,33,15,95,11,23,54,23,45,86};
		int max=score[0];
		for (int i=0;i<score.length ;i++ )
		{
			if (max<score[i])
			{
				max=score[i];
			}
		}
		System.out.println("老师打的最高分:"+max);
	}
}




相关文章
|
10天前
|
Java
Java 数组学习笔记
本文整理Java数组常用操作:遍历、求和、查找、最值及二维数组行求和等典型练习,涵盖静态初始化、元素翻倍、去极值求平均等实例,帮助掌握数组基础与应用。
|
1月前
|
存储 缓存 Java
Java数组全解析:一维、多维与内存模型
本文深入解析Java数组的内存布局与操作技巧,涵盖一维及多维数组的声明、初始化、内存模型,以及数组常见陷阱和性能优化。通过图文结合的方式帮助开发者彻底理解数组本质,并提供Arrays工具类的实用方法与面试高频问题解析,助你掌握数组核心知识,避免常见错误。
|
2月前
|
存储 Java 索引
java 数组
在 Java 中,数组是一种数据结构,用于存储多个相同类型的数据元素。数组的大小一旦创建后就不能改变,因此它是固定长度的。Java 数组是一种 对象,即使它存储的值是基本类型(如 int、double 等),它也是一个对象引用。
55 0
|
4月前
|
存储 人工智能 Java
打乱数组内容引发的问题( Java)
本文介绍了两种实现数组随机打乱的方法,并深入探讨了Java中原始数据类型与对象类型的差异。方法一通过自定义随机数交换数组元素位置,方法二借助`Collections.shuffle()`函数完成数组打乱。同时,文章详细解析了`int`和`Integer`的区别,包括声明方式、内存占用、初始化以及对象特性等,并讲解了自动装箱与拆箱的功能,帮助读者更好地理解Java的基础知识。
|
5月前
|
存储 Java 数据挖掘
Java 中数组的多种定义方式
本文深入解析了Java中数组的多种定义方式,涵盖基础的`new`关键字创建、直接初始化、动态初始化,到多维数组、`Arrays.fill()`方法以及集合类转换为数组等高级用法。通过理论与实践结合的方式,探讨了每种定义方法的适用场景、优缺点及其背后的原理,帮助开发者掌握高效、灵活的数组操作技巧,从而编写更优质的Java代码。
204 0
|
6月前
|
人工智能 Java
Java 中数组Array和列表List的转换
本文介绍了数组与列表之间的相互转换方法,主要包括三部分:1)使用`Collections.addAll()`方法将数组转为列表,适用于引用类型,效率较高;2)通过`new ArrayList&lt;&gt;()`构造器结合`Arrays.asList()`实现类似功能;3)利用JDK8的`Stream`流式计算,支持基本数据类型数组的转换。此外,还详细讲解了列表转数组的方法,如借助`Stream`实现不同类型数组间的转换,并附带代码示例与执行结果,帮助读者深入理解两种数据结构的互转技巧。
346 1
Java 中数组Array和列表List的转换
|
6月前
|
存储 Java 索引
Java 复制数组
本文介绍了Java中数组的基础知识与常用操作,包括数组的概念、创建、访问元素、遍历、复制、排序和搜索等方法。同时详细讲解了数组的五种赋值方式,并通过代码示例演示了求总和平均值、最大最小值、升序降序排序及Arrays类的常用方法。内容深入浅出,适合初学者学习掌握Java数组的核心功能与应用场景。
|
6月前
|
存储 监控 Java
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问&quot;`a==b`和`equals()`的区别&quot;,大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
123 23
|
8月前
|
存储 Java C++
Java数组:静态初始化与动态初始化详解
本文介绍了Java中数组的定义、特点及初始化方式。
447 12