Java基础总结04拓展

一阶段:JavaSE学习04拓展

看不懂或者不想看的可以跳往下一篇,这个只是让你知识面更宽更广
1.数组拓展:
package com.hui.expand;

/**
 * @author 你的大龙猫啊
 */
/*
数组的拓展:正反向遍历
 */
public class Expand07_ArrayTraversal {
    public static void main(String[] args) {
        int[] arr = {11, 22, 33, 44, 55};

        //快捷键:5.for
        // for (int i = 0; i <5 ; i++) {    //手动写死了,不严谨,不推荐
        // }
        //arr.fori
        // for (int i = 0; i <arr.length ; i++) {
        //     System.out.println(arr[0]);
        // }
        //int i =0 将数组的最小索引赋值给i
       /*正向遍历:数组名.fori*/
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        System.out.println("=========");

        //i = a.length -1 将数组的最大索引赋值给 i
        /*反向遍历:数组名.forr*/
        for (int i = arr.length - 1; i >= 0; i--) {
            System.out.println(arr[i]);
        }
        System.out.println("============");
        /*增强for循环:数组名.for    JDK5引入,遍历数组和集合*/
        for (int anArr : arr) {
            System.out.println(anArr);
        }
    }
}

2.数组练习拓展(答案不唯一,可以有自己的思维)
import java.util.Scanner;
/**
 * @author 你的大龙猫啊
 */
/*
需求:
	已知数组内容为 {9,5,2,7,7}
	键盘录入一个数,判断这个数是否在数组中,如果存在就打印该元素的索引,不存在
	请打印-1 (注意:如果有多个,请打印第一个元素的索引)
	例如: 假如要找的元素为 7, 那么它的索引应该为 3
 */
public class Test18_ArrFindIndex {
    public static void main(String[] args) {
        int[] arr = {9, 5, 2, 7, 7};
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要找的元素");
        int number = sc.nextInt();
        int index = -1;
        for (int i = 0; i < arr.length; i++) {
            if (number == arr[i]) {
                index=i;
                break;
            }
        }
        System.out.println("你要找的元素的索引值为:"+index);
    }
}
import java.util.Random;
import java.util.Scanner;

/**
 * @author 你的大龙猫啊
 * @company www.com.hui
 */
/*
需求:
	1.键盘录入一个数据作为数组的长度
	2.请使用随机数给数组赋值
	3.再次键盘录入一个数据,统计这个数在该数组中出现的次数
	例如:
		数组的元素为: {1,2,5,1}
		要找的数为:1
		最终控制台打印的结果为: 1 在数组里出现的次数为 2 次
 */
public class Test19_ArrCount {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请您输入数组的长度:");
        int len = sc.nextInt();
        int[] arr = new int[len];

        Random r = new Random();
        int count=0;

        for (int i = 0; i < arr.length; i++) {
            int number = r.nextInt(2) + 1;
            arr[i] = number;
            System.out.println(number);
        }
        System.out.println("请输入你要查找的数据:");
        int  number2 = sc.nextInt();
        for (int i = 0; i < arr.length; i++) {
            if(number2==arr[i]){
                count++;
            }
        }
        System.out.println(number2+"出现的次数为:"+count);
    }
}

import java.util.Scanner;

/**
 * @author 你的大龙猫啊
 * @company www.com.hui
 */
/*
需求:
	1.键盘录入班级人数
	2.根据录入的班级人数创建可以存储班级学员分数的数组
	3.使用键盘输入给数组赋值, 如果成绩在 0~100 之间,将数据赋值给数组, 如果不在提示重新输入
	4.要求:
		(1)打印该班级的不及格人数
		(2)打印该班级的平均分
		(3)打印该班级的最高分
		演示格式如下:
			请输入班级人数:
			键盘录入:100
			控制台输出:
				不及格人数:9
				班级平均分:87
				最高分:100
			注意: 不及格人数、平均分、最高分 请分别写一个 循环来完成,不要写到一个循环中
 */
public class Test20_ClassesPeople {
    public static void main(String[] args) {
        // 1.键盘录入班级人数
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入班级的人数:");
        int number = sc.nextInt();
        // 2.根据录入的班级人数创建可以存储班级学员分数的数组
        int[] arr = new int[number];
        // 3.使用键盘输入给数组赋值, 如果成绩在 0~100 之间,将数据赋值给数组, 如果不在提示重新输入

        for (int i = 0; i < arr.length; i++) {
            System.out.println("请输入第:" + (i + 1) + "个班级学生的分数:");
            int score = sc.nextInt();
            if (score >= 0 && score <= 100) {
                arr[i] = score;
            } else {
                System.out.println("您输入的分数有误,请检查是否输入值为0-100之间");
                i--;
            }
        }
        //1)打印该班级的不及格人数
        int count=0;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i]<60){
                count++;
            }
        }
        System.out.println("不及格人数有:"+count+"个");
        //(2)打印该班级的平均分
        int sum=0;
        for (int i = 0; i < arr.length; i++) {
            sum+=arr[i];
        }
        System.out.println("班级的平均分为:"+(sum/arr.length));
        //(3)打印该班级的最高分
        int max=arr[0];
        for (int i = 1; i < arr.length; i++) {
            if(max<arr[i]){
                max =arr[i];
            }
        }
        System.out.println("最高分为:"+max);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值