数组练习

0.数组声明方法

先声明后赋值 or 边声明边赋值

public class 数组4 {

    public static void main(String[] args) {
        // 数组的声明语法一:数据类型 数组变量名[] = new 数据类型[长度];
        int attr[] = new int[5];
        attr[0] = 10;
        attr[1] = 20;
        attr[2] = 50;
        attr[3] = 60;
        attr[4] = 100;

        for (int i = 0; i < 5; i++) {
            System.out.println(attr[i]);
        }
    }

}
public class 数组5 {
    // byte char int short long double float boolean
    public static void main(String[] args) {
        // 数组的声明语法二:数据类型[] 数组变量名 = new 数据类型[长度];
        int[] attr = new int[5];// attr是int数组类型
        int a = 10;// a是int类型

        attr[0] = 10;
        attr[1] = 20;
        attr[2] = 50;
        attr[3] = 60;
        attr[4] = 100;
        System.out.println(a);
        System.out.println(attr);
    }

}
public class 数组6 {
    // byte char int short long double float boolean
    public static void main(String[] args) {
        // 数组的声明语法三:数据类型[] 数组变量名 = {数据1,数据2,数据3...};
        int[] attr = { 10, -2, 30, 14, 5, 1, 2, 100, 50, 300, 80, 12 };

        // 计算某一指定数组的长度:数组名.length,返回的结果是一个int类型的数据
        int length = attr.length;
        System.out.println("length=" + length);

        for (int i = 0; i < attr.length; i++) {
            System.out.print(attr[i] + "\t");
        }

    }

}

1.会员消费记录

在这里插入图片描述

import java.util.Arrays;
import java.util.Scanner;

public class ShuZu {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入会员本月的消费记录");
		float[] money = new float[5];
		float sum = 0;
		
		//输入金额存入数组
		for(int i=0 ; i<5 ; i++) {
			System.out.print("请输入第"+(i+1)+"笔购物金额:");
			money[i]= in.nextFloat();
			sum += money[i];
		}
		
		//复制原数组(未经排序的数组)
		float[] sourcemoney = new float[5];
		for(int i=0;i<5;i++) {
			sourcemoney[i]=money[i];
		}
		
		//对数组进行排序
		Arrays.sort(money);
		
		//输出两组数组内数据
		System.out.println("\n序号\t\t金额(元)");
		for(int i=0 ; i<5 ; i++) {
			System.out.println((i+1)+"\t\t"+money[i]);
		}
		System.out.println("总金额\t\t"+sum);
		
		System.out.println("\n序号\t\t金额(元)");
		for(int i=0 ; i<5 ; i++) {
			System.out.println((i+1)+"\t\t"+sourcemoney[i]);
		}
		System.out.println("总金额\t\t"+sum);
	}
}

控制台显示:
请输入会员本月的消费记录
请输入第1笔购物金额:199.9
请输入第2笔购物金额:250.5
请输入第3笔购物金额:300
请输入第4笔购物金额:499
请输入第5笔购物金额:100

序号		金额(元)
1	    	100.0
2    		199.9
3	    	250.5
4		    300.0
5		    499.0
总金额		1349.4

序号		金额(元)
1		    199.9
2		    250.5
3		    300.0
4		    499.0
5		    100.0
总金额		1349.4

2.统计考试平均分、最高分

在这里插入图片描述

import java.util.Arrays;
import java.util.Scanner;

public class ShuZu {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("请输入5位学员的成绩:");
        float[] scores = new float[5];// scores[0]、scores[1]....scores[4]
        for (int i = 0; i < 5; i++) {
            scores[i] = input.nextFloat();
        }

        Arrays.sort(scores);// 由小到大

        System.out.println(scores[scores.length - 1]);
    }

}

3.

在这里插入图片描述
在这里插入图片描述

4.字符逆向排序输出

在这里插入图片描述

5.查找数组中指定数据

在这里插入图片描述
逐个比较

import java.util.Scanner;

public class 法一 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] attr = { 8, 4, 2, 1, 23, 344, 12 };
        System.out.print("请输入您要查找的数据:");
        int num = input.nextInt();

        boolean flag = false;// 初步定为不包含
        for (int i = 0; i < attr.length; i++) {
            if (num == attr[i]) {
                flag = true;
                break;
            }
        }
        if (flag == true) {
            System.out.println("包含");
        } else {
            System.out.println("不包含");
        }
    }

}
import java.util.Arrays;
import java.util.Scanner;

public class 法二 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int[] attr = { 8, 4, 2, 1, 23, 344, 12 };
        System.out.print("请输入您要查找的数据:");
        int num = input.nextInt();

        Arrays.sort(attr);// 必须先对数组排序!!{1,2,4,8,12,23,344}
        int flag = Arrays.binarySearch(attr, num);// 判断num在attr这个数组中是否存在
        // System.out.println("flag=" + flag);

        String result = (flag >= 0) ? "包含" : "不包含";
        System.out.println(result);

    }

}

在这里插入图片描述

6.求最低价格

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值