java数组练习1

1.定义长度为4 的字符数组 默认值为 '.' 'N' 'e' 't',显示该数组的 每一个元素:X[0] X[1] X[2] X[3],然后将值再次赋值为 'J' 'a' 'v' 'a',再显示 

public class test01 {
    public static void main(String[] args) {
        long1();
    }

    public static void long1() {
        char[] ss = new char[]{'.', 'N', 'e', 'y'};
        for (int i = 0; i < 4; i++) {
            System.out.print(ss[i] + "\t");
        }
        System.out.println();
        char[] ss1 = new char[]{'j', 'a', 'v', 'a'};
        for (int i = 0; i < 4; i++) {
            ss[i] = ss1[i];
            System.out.print(ss[i]+"\t");
        }

    }
}

2.定义长度为4 的整型数组 

    给每个元素分别赋值一个数字
    将第一个元素与最后一个元素相加 并显示结果
    将第二个元素与第三个元素相加 并显示结果
    注意索引不可越界

public class test02 {
    public static void main(String[] args) {
        ss();
    }
      
    public static void ss() {
        int [] aa=new int[4];
        Random random=new Random();
        for (int i = 0; i <4 ; i++) {
            int a=random.nextInt(100);
            aa[i]=a;
            System.out.print(aa[i]+"\t");
        }
        System.out.println();
        int s=aa[0]+aa[aa.length-1];
        System.out.println("s = " + s);
        int s1=aa[1]+aa[2];
        System.out.println("s1 = " + s1);
    }
}

3.定义长度为5的字符串数组 分别赋值为:apple orange banana pear  tomato  使用循环显示数组的每个元素

public class test03 {
    public static void main(String[] args) {
        ss();
    }


    public static void ss() {
     String [] str=new String[]{"apple","orange","banana","tomato"};
        for (int i = 0; i <str.length ; i++) {
            System.out.print(str[i]+"\t");
        }
    }
}

4.定义长度为4的字符串数组  循环将4个输入的字符串赋值给数组每个元素 再循环显示该数组

import java.util.Scanner;

public class test04 {
    public static void main(String[] args) {
        ss();
    }


    public static void ss() {
        String[] str = new String[4];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < str.length; i++) {
            System.out.print("请输入一个字符串:");
            String a = sc.next();
            str[i] = a;
        }
        System.out.print("你依次输入的字符串是:");
        for (int i = 0; i < str.length; i++) {
            System.out.print(str[i] + "\t");
        }
    }
}

5.定义长度为10 的整型数组  循环将10个0-100的随机数赋值给该数组并显示  并显示奇数或偶数,并在最后统计奇数的个数与偶数的个数,0的个数    

import java.util.Random;

public class test05 {
    public static void main(String[] args) {
        sss();
    }



    public static void sss() {
        int a[] = new int[10];
        int j = 0;
        int k = 0;
        int c=0;
        Random random = new Random();
        for (int i = 0; i < a.length; i++) {
            int s = random.nextInt(100);
            a[i] = s;
            if (a[i] % 2 == 0) {
                System.out.println(a[i] + "为偶数");
                j++;
            } else {
                System.out.println(a[i] + "为奇数");
                k++;
            }
        }
        for (int i = 0; i <a.length ; i++) {
            if (a[i]==0){
                c++;
            }
        }
        System.out.println("共有偶数: " + j);
        System.out.println("共有奇数: " + k);
        System.out.println("共有0的个数: " + c);
    }
}

6、声明一个int型的数组,循环接收8个学生的成绩,计算这8个学生的总分及平均分。

import java.util.Scanner;

public class test06 {
    public static void main(String[] args) {
        sss();
    }

    public static void sss() {
        int a[] = new int[8];
        int sum = 0;
        double avg = 0;
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < a.length; i++) {
            System.out.print("请输入第" + (i+1) + "个学生的成绩:");
            int b = sc.nextInt();
            a[i] = b;
            sum = sum + a[i];
            avg = sum / a.length;
        }
        System.out.println("这八个学生的总分为:" + sum);
        System.out.println("这八个学生的平均分为:" + avg);
    }
}

7、声明一个int型的数组,循环随机生成13个1到13之间随机数放入到此数组中去,再循环输出。

import java.util.Random;

public class test07 {
    public static void main(String[] args) {
        sss();
    }

    //声明一个int型的数组,循环随机生成13个1到13之间随机数放入到此数组中去,再循环输出。
    public static void sss() {
        int a[] = new int[13];
        Random random = new Random();
        for (int i = 0; i < a.length; i++) {
            int b = random.nextInt(13) + 1;
            a[i] = b;
            System.out.print(a[i] + "\t");
        }
    }
}

8、声明一个char型的数组,在此数组的单元格中分别放入"我爱你"三个字符,然后使用循环将它反序输出。如"你爱我"。(从最后一个元素循环到第一个元素)

public class test08 {
    public static void main(String[] args) {
        ss();
    }

    //声明一个char型的数组,在此数组的单元格中分别放入"我爱你"三个字符,
    // 然后使用循环将它反序输出。如"你爱我"。(从最后一个元素循环到第一个元素)
    public static void ss() {
        char a[] = new char[]{'我', '爱', '你'};
        for (int i = a.length - 1; i >= 0; i--) {
            System.out.print(a[i]);
        }

    }
}

9、循环输入5个学生的成绩放入到一个整形的数组中,然后计算这5个学生的平均分,最后输出格式如下:
    学生1    学生2    学生3    学生4    学生5
    80    90    95    82    96
    平均分是:??

import java.util.Scanner;

public class test09 {
    public static void main(String[] args) {
        ss();
    }


    public static void ss() {
        int a[] = new int[5];
        int sum = 0;
        int avg = 0;
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < a.length; i++) {
            System.out.print("请输入第" + (i + 1) + "个学生的成绩:");
            int b = sc.nextInt();
            a[i] = b;
            sum = sum + a[i];
            avg = sum / a.length;
        }
        for (int i = 0; i <a.length ; i++) {
            System.out.print("学生" + (i +1)+ "\t");
        }
        System.out.println();
        for (int i = 0; i <a.length ; i++) {
            System.out.print(a[i]+"\t\t");
        }
        System.out.println();
        System.out.println("平均分是:"+avg);

    }
}

10、将十进制整数35转换为二进制数。        

        实现思路:将除二取余得到的第一个数字存储在数组中第一个元素,
        第二次得到的余数存储在数组中第二个元素,依次类推,最后反向输出获得的数字即可。

public class test10 {
    public static void main(String[] args) {
        ss();
    }


    public static void ss() {
        int a[] = new int[8];
        int b = 35;
        for (int i = 0; i < a.length; i++) {
            a[i] = b % 2;
            b = b / 2;
        }
        for (int i = a.length - 1; i >= 0; i--) {
            System.out.print(a[i]);
        }
    }
}

11、现在有如下一个数组: 
        int oldArr[]={1,4,9,8,0,2,0,0,8,2}; 
        要求将以上数组中的0项去掉,将不为0的值存入一个新的数,值为1-10之间随机数
        例如:生成新的数组为 
        int newArr[]={1,4,9,8,3,2,1,8,8,2};

import java.util.Random;

public class test11 {
    public static void main(String[] args) {
        ss();
    }


    public static void ss() {
        int oldArr[] = new int[]{1, 4, 9, 8, 0, 2, 0, 0, 8, 2};
        int newArr[] = new int[10];
        Random random = new Random();
        for (int i = 0; i < oldArr.length; i++) {
            if (oldArr[i] == 0) {
                oldArr[i] = random.nextInt(10) + 1;
                newArr[i] = oldArr[i];
            } else {
                newArr[i] = oldArr[i];
            }
            System.out.print(newArr[i]);
        }
    }
}

12、现在有如下一个数组:
         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};

import java.util.Random;

public class test12 {
    public static void main(String[] args) {
        ss();
    }


    public static void ss() {
        int oldArr[] = new int[]{1, 3, 4, 5, 0, 0, 6, 6, 0, 5, 4, 7, 6, 7, 0, 5};
        int newArr[] = new int[12];
        int j=0;
        for (int i = 0; i < oldArr.length; i++) {
            if (oldArr[i] == 0) {
               continue;
            } else {
                newArr[j] = oldArr[i];
                j++;
            }
        }
        for (int i = 0; i <newArr.length ; i++) {
            System.out.print(newArr[i]);
        }
    }
}

13、定义一个数组,存储1,2,3,4,5,遍历数组得到每一个元素,求数组里面所有的数据和


int[] arr = {1,2,3,4,5};
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
System.out.println(sum);

14、统计个数
        需求:定义一个数组,存储1,2,3,4,5,6,7,8,9,10
        遍历数组得到每一个元素,统计数组里面一共有多少个能被3整除的数字


int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int count = 0;
for (int i = 0; i < arr.length; i++) {
if(arr[i] % 3 == 0){
count++;
    }
}
System.out.println("数组中能被3整除的数字有" + count + "个");

15、变化数据
        定义一个数组,存储1,2,3,4,5,6,7,8,9,10
        遍历数组得到每一个元素。
        如果是奇数,则将当前数字扩大两倍
        如果是偶数,则将当前数字变成二分之一

int[] arr = {1,2,3,4,5,6,7,8,9,10};
for (int i = 0; i < arr.length; i++) {
if(arr[i] % 2 == 0){
arr[i] = arr[i] / 2;
}else{
arr[i] = arr[i] * 2;
    }
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}

16、定义数组求最大值:33,5,22,44,5,求数组中的最大值

public class test01 {
    public static void main(String[] args) {
        ss();
    }


    public static void ss() {
        int arr[] = new int[]{33, 5, 22, 44, 55};
        int a[]=new int[arr.length];
        int max = arr[0];
        for (int i = 1; i < arr.length; i++) {
            a[i]=max;
            max = max > arr[i] ? max : arr[i];
        }
        System.out.println(max);
    }
}

17、打乱数据,定义一个数组,存入1~5。要求打乱数组中所有数据的顺序

//1.定义数组存储1~5
int[] arr = {1, 2, 3, 4, 5};
//2.循环遍历数组,从0索引开始打乱数据的顺序
Random r = new Random();
for (int i = 0; i < arr.length; i++) {
//生成一个随机索引
int randomIndex = r.nextInt(arr.length);
//拿着随机索引指向的元素 跟 i 指向的元素进行交换
int temp = arr[i];
arr[i] = arr[randomIndex];
arr[randomIndex] = temp;
}
//当循环结束之后,那么数组中所有的数据已经打乱顺序了
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值