java数组基础题目_java基础2--数组与方法(几道练习题)

昨天有几道题还没有做完,今天继续。

三、

/*现在有如下一个数组:

*int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

*要求将以上数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组为:

*int newArr[]={1,3,4,5,6,6,5,4,7,6,7,5};

*/

public class Test4_3{

public static void main(String[] args){

int oldArr[]={1,3,4,5,0,0,6,6,0,5,4,7,6,7,0,5};

int n=0;

for(int i=0;i

if(oldArr[i]!=0){

n++;

}

}

int newArr[]=new int[n];

n=0;

for(int i=0;i

if(oldArr[i]!=0){

newArr[n]=oldArr[i];

n++;

}

}

for(int i=0;i

System.out.print(newArr[i]+"/t");

}

}

}

四、

//定义一个整型数组,保存10个数据,利用程序完成将最大值保存在数组中第一个元素,依次递减。

public class Test4_4{

public static void main(String[] args){

int arr[]={78,64,35,92,48,98,87,94,80,83};

rankArr(arr);

}

public static void rankArr(int temp[]){

for(int i=1;i

System.out.print("第"+i+"次排序时:");

for(int j=0;j

if(temp[j]

int x=temp[j];

temp[j]=temp[i];

temp[i]=x;

}

}

for(int e=0;e

System.out.print(temp[e]+"、");

}

System.out.println();

}

}

}

每次交换数据后,都输出了所有数组元素,可以观察到元素间的数据交换。

五、

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

public class Test4_5{

public static void main(String[] args){

int arry[] = new int[10];

assignArry(arry);

prin(sumArry(arry),maxArry(arry),minArry(arry));

prin(arry);

}

//为数组赋值函数

public static void assignArry(int temp1[]){

for(int i=0;i

temp1[i] = i*2+1;

}

}

//为数组求和函数

public static int sumArry(int temp2[]){

int sum = 0;

for(int i=0;i

sum += temp2[i];

}

return sum;

}

//为数组求最大值函数

public static int maxArry(int temp3[]){

int max = 0;

for(int i=1;i

max = temp3[0]>temp3[i] ? temp3[0] : temp3[i];

}

return max;

}

//为数组求最小值函数

public static int minArry(int temp4[]){

int min = 0;

for(int i=1;i

min = temp4[0]

}

return min;

}

//数组输出函数

public static void prin(int sum,int max,int min){

System.out.println("数组中元素的和为:"+sum

+"/n数组中最大值是:"+max

+"/n数组中最小值是:"+min);

}

public static void prin(int arry[]){

System.out.print("显示所有数组元素: ");

for(int i=0;i

System.out.print(arry[i]+" ");

}

}

}

自己写的函数,用于输出数组的最大,最小,和为数组赋值,某些函数JAVA肯定有,只是手动多写写,对自己熟悉语言有好处。

/*定义一个包含10个元素的数组,对其进行赋值,使每个元素的值等于其下标,

然后输出,最后将数组倒置后输出*/

public class Test4_6{

public static void main(String[] args){

int array[]=new int[10];

arrayAssignment(array);

prin(array);

inveArray(array);

prin(array);

}

//函数:为数组赋值,使其元素值等于其下标

public static void arrayAssignment(int temp[]){

for(int i=0;i

temp[i]=i;

}

}

//函数:倒置数组元素

public static void inveArray(int temp[]){

int tempArray[]=new int[temp.length];  //定义一个临时数组来存放倒置的数据

int j=temp.length-1;                   //临时数组的下标

for(int i=0;i

tempArray[j] = temp[i];

j--;

}

for(int i=0;i

temp[i]=tempArray[i];

}

}

//函数:输出数组

public static void prin(int temp1[]){

for(int i=0;i

System.out.print(temp1[i]+" ");

}

System.out.println();

}

}

今天听了张孝祥老师的 黑马训练营准备课程,很受鼓舞,虽然自己的学历和英语应该达不到7K的月薪,但我还是很有信心自己通过努力可以进入程序员的行列。千里之行,始于足下,总有一天会达到要求!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值