练习1:获取arr数组中所有的元素
class ArrayExer01
{
public static void main(String args[]){
//定义数组方法1:
//int[][] arr=new int[][]{{3,5,8},{12,9},{7,0,6,4}};
//定义数组方法2:
int[][] arr = new int[3][];
arr[0]=new int[]{3,5,8};
arr[1]=new int[]{12,9};
arr[2]=new int[]{7,0,6,4};
int sum=0;
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
sum+=arr[i][j];
}
}
System.out.println(sum);
}
}
练习2:定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,要求随机数都是两位数[10,99],求最大值 最小值 总和 平均值并输出。
提示:求[a,b]之间的随机数:(int)(Math.random()*(b-a+1))+a;
class ArrayExer02
{
public static void main(String args[]){
int[] arr=new int[10];
for(int i=0;i<arr.length;i++){
arr[i]=(int)(Math.random()*90)+10;
System.out.print(arr[i]+"\t");
}
System.out.println();
int max=arr[0];
int min=arr[0];
int sum=arr[0];
for(int j=1;j<arr.length;j++){
if(arr[j]>max){
max=arr[j];
}
if(arr[j]<min){
min=arr[j];
}
sum+=arr[j];
}
double average=sum/arr.length;
System.out.println(max);
System.out.println(min);
System.out.println(sum);
System.out.println(average);
}
}
练习3:在编程竞赛中,有10位评委为选手打分,分别为:5,4,6,8,9,0,1,2,7,3
求选手的得分(得分为去掉最高分和最低分后其余8位数的平均值)。
class ArrayExer03
{
public static void main(String args[]){
int[] arr={5,4,6,8,9,0,1,2,7,3};
int max=arr[0];
int min=arr[0];
int sum=0;
for(int i=0;i<arr.length;i++)
{
if(arr[i]>max)
max=arr[i];
if(arr[i]<min)
min=arr[i];
sum+=arr[i];
}
double average=(sum-max-min)/8;
System.out.println(average);
}
}
练习4:使用二维数组打印一个10行的杨辉三角
class yanghui
{
public static void main(String args[]){
//创建二维数组
int[][] arr=new int[10][];
//使用循环结构,初始化外层数组元素
for(int i=0;i<arr.length;i++){
arr[i]=new int[i+1];
}
//遍历二维数组
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
//赋值
for(int i=0;i<arr.length;i++){
arr[i][0]=1;
arr[i][arr[i].length-1]=1;
}
//遍历二维数组
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
//赋值
for(int i=2;i<arr.length;i++){
for(int j=1;j<arr[i].length-1;j++){
arr[i][j]=arr[i-1][j]+arr[i-1][j-1];
}
}
//遍历二维数组
for(int i=0;i<arr.length;i++){
for(int j=0;j<arr[i].length;j++){
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
}
}
练习5:二分查找
class ErfenfaSearch{
public static void main(String args[]){
int[] arr=new int[]{2,4,6,8,10,12,14,16,18,20};
int head=0;//默认首索引
int end=arr.length-1;//默认尾i索引
int target=3;//目标数字
boolean isFlag=false;//是否找到元素
while(head<=end){
int middle=(end+head)/2;//注意middle的定义
if(target==arr[middle]){
System.out.println("找到了目标的索引位置"+middle);
isFlag=true;
break;
}else if(target>arr[middle]){
head=middle+1;
}else{
end=middle-1;
}
}
if(!isFlag)
System.out.println("该目标不存在。");
}
}
练习6:冒泡排序
class BubbleSortTest
{
public static void main(String args[]){
int temp;
int[] arr=new int[]{23,54,743,43,65,90,30,29};
//遍历,输出原始数据
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
//换行
System.out.println();
//升序
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
//换行
System.out.println();
//遍历,输出排序后的数据
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+"\t");
}
}
}