您的位置:首页 > 其它

第一阶段第九天(函数递归调用,一维数组)

2017-05-26 16:50 232 查看
1、详细写出数组定义的几种方式,并举例说明

定义数组:

 1.动态初始化

 数据类型 [] 变量名=new 数据类型[容量]; 

 例如:定义一个int类型数组 分配5个元素

       int [] arr=new int[5];

 2.静态初始化

 数据类型 [] 变量名=new 数据类型[]{值1,值2,值3};

 

 简写:

  数据类型 [] 变量名={值1,值2,值3....};

  例如:定义一个字符串数组:

  String [] str=new String[]{"张三","李四","王五"};

  或者String [] str={"张三","李四","王五"};

2、写一个函数,计算一个整数数组的平均值
package day9;
/**
*
* 写一个函数,计算一个整数数组的平均值
*
*/
public class Demo9_1 {
public static void main(String[] args) {
int [] arrs={34,25,65,21,45};//定义数组
avg(arrs);//调用函数输出平均值
}

public static void avg(int [] arrs){
int sum=0;
for(int i=0;i<arrs.length;i++){//遍历数组并求和
sum+=arrs[i];
}
double avg=sum/arrs.length;//求数组平均值
System.out.println(avg);
}
}


3、给定一个数组,输出数组中的最大值和最小值
package day9;
/**
* 给定一个数组,输出数组中的最大值和最小值
*/
public class Demo9_2 {
/**
* 入口文件
* @param args参数
*/
public static void main(String[] args) {
int [] arrs={84,56,32,67,54};//定义数组
getMax(arrs);//调用函数,输出最大值
getMin(arrs);//调用函数,输出最小值
}
/**
* 实现最大值
* @param arrs
*/
public static void getMax(int [] arrs){
int max=arrs[0];//假设第一个为最大值
for(int i=0;i<arrs.length;i++){
if(max<arrs[i]){//遍历数组获取最大值
max=arrs[i];
}
}


4、 下列数组的声明有哪些是对的?错的应该怎么修改?

     A. int[] a;     对

     B. int a[] = new int[3];   对

     C. int[] a;

        a = {1,2,3,4,5};    错   改正:int [] a={1,2,3,4,5};

     D. int[] a = new int[3]{1,2,3};   错    改正: int [] a=new int[] {1,2,3};

5、 看下面的代码,写出输出的结果

public class Ex2 {

    public static void main(String[] args) {

        int[] a = {1,2,3,4,5};

        expand(a);

        changeArray(a);

        printArray(a);

    }

    public static void expand(int[] a){

      int[] newArray = new int[a.length * 2];

      System.arraycopy(a, 0, newArray, 0, a.length);

      a = newArray;

    }

   public static void changeArray(int[] a){

    a[0] = 10;

    }

   public static void printArray(int[] a){

      for(int i = 0; i<a.length; i++){

        System.out.print(a[i] + "\t");

      }

     System.out.println();

   }

}

请选择输出结果:

A. 10 2 3 4 5

B. 1 2 3 4 5

C. 10 2 3 4 5 0 0 0 0 0

D. 1 2 3 4 5 00 0 0 0

答:A

6、通过两种方式遍历数组{12,34,53,22,13,15}
package day9;
/**
*
* 通过两种方式遍历数组{12,34,53,22,13,15}
*
*/
public class Demo9_4 {
public static void main(String[] args) {
int [] i={12,34,53,22,13,15};
query(i);
System.out.println("*********************");
query2(i);
}
/**
* 遍历方式1
* @param arrs
*/
public static void query(int [] arrs){
for(int i=0;i<arrs.length;i++){
System.out.println(arrs[i]);
}
}
/**
* 遍历方式2
* @param ars
*/
public static void query2(int [] ars){
for (int i : ars) {
System.out.println(i);
}
}
}


7、获取1到100以内的所有能被3整除同时不能被5整除的数字的信息,放入到数组中,并打印输出
package day9;

/**
*
* 获取1到100以内的所有能被3整除同时不能被5整除的数字的信息,
* 放入到数组中,并打印输出
*
*/
public class Demo9_5 {
public static void main(String[] args) {
zhengchu();//调用函数
}
/**
* 获取1-100内能被3整除不能被5整除的数的个数
* 创建数组
* 给数组循环赋值
*/
public static void zhengchu(){
int j=0;
for(int i=1;i<=100;i++){//获取1-100以内能被3整除不能被5整除的数的个数
if(i%3==0&&i%5!=0){
j++;
}
}
int arrs[]=new int[j];//定义数组

for(int i=1;i<=100;i++){//给数组循环赋值
if(i%3==0&&i%5!=0){
j--;
arrs[j]=i;
System.out.print(arrs[j]+" ");

}
}
System.out.println();
}
}


8、获取数组中最大值、最小值、平均值,定义数组通过Scanner键盘输入依次赋值
package day9;

import java.util.Scanner;

/**
*
* 获取数组中最大值、最小值、平均值,定义数组通过Scanner键盘输入依次赋值
*
*/
public class Demo9_6 {
/**
* 入口文件
* @param args
*/
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);//实例化Scanner类对象
System.out.println("请输入数字的个数n");//提示用户输入数字个数
int n=sc.nextInt();
int [] arrs=new int
;//创建数组
for(int i=0;i<n;i++){//提示用户输入数组中的每个数字
System.out.println("请输入第"+(i+1)+"个数字");
arrs [i]=sc.nextInt();//获取数组中的每个数字
}
getMax(arrs);//调用函数打印最大值
getMin(arrs);//调用函数打印最小值
getAvg(arrs);//调用函数打印平均值

sc.close();//关闭Scanner对象
}
/**
* 实现最大值
* @param arrs
*/
public static void getMax(int [] arrs){
int max=arrs[0];//假设第一个为最大值
for(int i=0;i<arrs.length;i++){
if(max<arrs[i]){//遍历数组获取最大值
max=arrs[i];
}
}
System.out.println("最大值为:"+max);
}

/**
* 实现最小值
* @param arrs
*/
public static void getMin(int [] arrs){
int min=arrs[0];//假设第一个为最小值
for(int i=0;i<arrs.length;i++){//遍历数组获取最小值
if(min>arrs[i]){
min=arrs[i];
}
}
System.out.println("最大值为:"+min);
}
/**
* 实现平均值
* @param arrs
*/
public static void getAvg(int [] arrs){
int sum=0;
for(int i=0;i<arrs.length;i++){//遍历数组并求和
sum+=arrs[i];
}
double avg=sum/arrs.length;//求数组平均值
System.out.println("平均值为"+avg);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: