Java第六章数组记录

文章展示了Java编程中关于数组操作的多个实例,包括计算鸡的总体重和平均体重,输入成绩并求平均,处理char数组,查找整数数组的最大值及其索引,数组元素独立拷贝,反转数组,以及动态数组扩容等。
摘要由CSDN通过智能技术生成
一个养鸡场有 6 只鸡, 它们的体重分别是 3kg,5kg,1kg,3.4kg,2kg,50kg 。 请问这六只鸡的总体重是多少?平均体重是多少?
public class array01 {
    public static void main(String[] args){
        double[] hens = {3,5,1,3.4,2,5.1};
        double sum = 0;
        //遍历数组下标来访问数组的值
        for (int i = 0; i < hens.length; i++){
            sum += hens[i];
        }
        double avg = sum/hens.length;
        System.out.println("总体重:"+sum+"平均体重:"+avg);
    }
}
数组使用:循环输入 5 个成绩, 保存到 double 数组,并输出
import java.util.Scanner;

public class array02 {
    public static void main(String[] args) {
        //创建大小为5的double数组
        //(1)double scores[] = new double[5];
        //(2)
        double scores[];
        scores = new double[5];
        Scanner myscanner = new Scanner(System.in);
        for (int i = 0; i < scores.length; i++){
            System.out.println("请输入第"+(i+1)+"元素的值");
            scores[i] = myscanner.nextDouble();
        }
        System.out.println("数组元素如下:");
        for (int j = 0; j < scores.length; j++){
            System.out.println("第"+(j+1)+"元素的值为:"+scores[j]);
        }
    }
}
创建一个 char 类型的 26 个元素的数组, 分别 放置'A'-'Z'。 使用 for 循环访问所有元素并打印出来。 提示: char 类型数据运算 'A'+2 -> 'C'
public class array03 {
    public static void main(String[] args) {
        char[] ch = new char[26];
        for (int i = 0; i < ch.length; i++){
            ch[i] = (char) ('A'+i);
        }
        for (int j = 0; j < ch.length; j++){
            System.out.print(ch[j]+"\t");
        }
    }
}
 请求出一个数组 int[]的最大值 {4,-1,9, 10,23}, 并得到对应的下标。
public class array04 {
    public static void main(String[] args) {
        int[] array = {4,-1,9,10,23};
        int max = array[0];
        int index = 0;
        for (int i = 1; i < array.length; i++){
            if (max < array[i]){
                max = array[i];
                index = i;
            }
        }
        System.out.println("最大值为:"+max+"下标为:"+index);
    }
}
 将 int[] arr1 = {10,20,30}; 拷贝到 arr2 数组, 要求数据空间是独立的

要求数据空间独立,创建一个新的数组

public class array05 {
    public static void main(String[] args) {
        int[] arr1 = {10,20,30};
        int[] arr2 = new int[arr1.length];
        for (int i = 0; i < arr1.length; i++){
            arr2[i] = arr1[i];
        }
        for (int i = 0; i < arr2.length; i++){
            System.out.print(arr2[i]+"\t");
        }
    }
}

把数组的元素内容反转。
arr {11,22,33,44,55,66} {66, 55,44,33,22,11}

public class array06 {
    public static void main(String[] args) {
        int[] arr = {11,22,33,44,55,66};
        for (int i = 0; i < arr.length/2; i++){
            int temp = arr[arr.length-i-1];
            arr[arr.length-i-1] = arr[i];
            arr[i] = temp;
        }
        for (int i = 0; i < arr.length; i++){
            System.out.print(arr[i]+"\t");
        }
    }
}
 实现动态的给数组添加元素效果, 实现对数组扩容

原始数组使用静态分配 int[] arr = {1,2,3},增加的元素 4, 直接放在数组的最后 arr = {1,2,3,4}
用户可以通过如下方法来决定是否继续添加, 添加成功, 是否继续? y/n

import java.util.Scanner;

public class array07 {
    public static void main(String[] args) {
        int[] arr = {1,2,3};
        System.out.println("数组元素为:");
        for (int i = 0; i < arr.length; i++){
            System.out.println(arr[i]);
        }
        do {
            System.out.println("请输入要添加的元素:");
            Scanner myscanner = new Scanner(System.in);
            int[] new_arr = new int[arr.length + 1];
            for (int i = 0; i < arr.length; i++) {
                new_arr[i] = arr[i];
            }
            int add = myscanner.nextInt();
            new_arr[new_arr.length - 1] = add;
            System.out.println("选择是否要添加元素,y/n");
            char choice = myscanner.next().charAt(0);
            if (choice == 'n'){
                break;
            }
        }while (true);
    }
}

  • 16
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值