自学Java---基础语法---第八天

今天的教程是eclipse的安装和配置 百度的话有一堆 我就不在这里赘述了 今天回顾下之前学习的东西

数组练习

定义一个函数,获取某个数组中的最小值

public class MinNum {
    public static int function(int[] arr) {
        int min = arr[0];
        for (int i = 1; i < arr.length; i++) {
            if (min > arr[i]) {
                min = arr[i];
            }
        }
        return min;
        //还有个暴力方法,使用Arrays.sort方法 然后返回数组的第一个元素
//        Arrays.sort(arr);
//        return arr[0];
    }
}

定义一个数组,数组成员10个,找出数组中最大数连同下标一起输出

public class Test {
    public static void main(String[] args) {
        int[] arr = {1, 2, 3, 4, 5, 6, 0, 9, 8, 7};
        int max = arr[0];
        int index = 0;
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] > max) {
                max = arr[i];
                index = i;
            }
        }
        System.out.println("最大数是:" + max + "在数组中的索引是:" + index);
    }
}

B哥去参加青年歌手大奖赛,有10个评委打分,(去掉一个最高一个最低)求平均分?

package test;

import java.util.Arrays;

public class Test {
	public static void main(String[] arg){
		int[] arr = {5,9,3,7,6,8,8,9,10,4};
		Arrays.sort(arr);
		int sum = 0;
		
		//排序后从第二个数字开始相加,到数组的倒数第二个数字
		for (int i = 1; i < arr.length-1; i++) {
			sum+=arr[i];
		}
		System.out.println(sum);
		System.out.println(arr.length-2);
		double	avg = sum/(arr.length-2);
		System.out.println(avg);
	}
}

有一个数组中有重复的元素, 去除重复元素(例如3个9,只留1个)

public class Test {
	public static void main(String[] arg) {
		// 预期结果:1,3,5,8,9
		int[] arr = { 0, -1, 3, 1, 1, 5, 8, 8, 8, 2, 9, 5 };
		System.out.println(Arrays.toString(arr));
		// 创建一个临时数组
		int[] temp = new int[arr.length];
		System.out.println(Arrays.toString(temp));
		// 遍历元素组,比较插入临时数组中。
		int count = 0;
		for (int i = 0; i < arr.length; i++) {
			boolean existsTemp = false;
			for (int j = 0; j < count; j++) {
				// 比较
				if (arr[i] == temp[j]) {
					// 相等,我们就终止比较。
					//不管相等不相等,这里的boolean值都已经是true了
					existsTemp = true;
					break;
				}
			}
			//上边如果不相等,这个if也执行,只有相等时跳出本次循环,
			//下次循环依然从temp的0索引开始比较
			//刚开始感觉有点绕 多想想就像明白了
			if (!existsTemp) {
				temp[count] = arr[i];
				count++;
			}
		}
		temp = Arrays.copyOf(temp, count);
		System.out.println(Arrays.toString(temp));

	}
}

找出一个数组中有哪些重复元素, 并且这些元素各重复了几次
跟上一题有些类似

public class Test {
	public static void main(String[] arg) {
		int[] arr = { 0, 1, 3, 1, 1, 5, 8, 8, 8, 0, 9, 5 };
		int count = 0;
		int index = 0;
		int[] temp = new int[arr.length];
		for (int i = 0; i < arr.length - 1; i++) {
			boolean flag = false;
			for (int j = 0; j < count; j++) {
				if (arr[i] == temp[j]) {
					flag = true;
					break;
				}
			}
			if (!flag) {
				temp[index++] = arr[i];
				count++;
			}
		}
		temp = Arrays.copyOf(temp, 6);
		for (int i = 0; i < temp.length; i++) {
			count = 0;
			for (int j = 0; j < arr.length; j++) {
				if (temp[i] == arr[j]) {
					count++;
				}
			}
			if (count > 1) {
				System.out.println("元素" + temp[i] + "重复的次数为:" + (count - 1));
			}
		}
	}
}

数组倒置

public class Test {
	public static void main(String[] arg) {
		int[] arr = {1,2,3,4,5,6,7};
		for (int i = 0,j=arr.length-1; i < arr.length/2; i++,j--) {
			int temp = arr[i];
			arr[i]=arr[j];
			arr[j]=temp;
		}
		System.out.println(Arrays.toString(arr));
	}
}

数组元素合并

public class Test {
	public static void main(String[] arg) {
		int[] a = { 1, 7, 9, 11, 13, 15, 17, 19 };
		int[] b = { 2, 4, 6, 8, 10 };
		int[]arr = new int[a.length+b.length];
		for (int i = 0; i < arr.length; i++) {
			if (i<a.length) {
				arr[i]=a[i];
			}else {
							
				arr[i]=b[i-a.length];
			}
		}
		System.out.println(Arrays.toString(arr));
	}
}

ArrayList集合练习

1.定义一个集合 ArrayList,用于保存随机数数据,只保存 10个随机数.
2.产生随机数,要求范围是三位数.包括100不包括1000
3.判断当前的数据当中是否存在 3的倍数,如果出现3的倍数就删除改元素.
4.循环遍历,最后剩余的元素数据

public class Test {
	public static void main(String[] arg) {
		ArrayList<Integer> list = new ArrayList<>();
		for (int j = 0; j < 10; j++) {
			list.add(new Random().nextInt(1000));
		}
		System.out.println(list);
		for (int i = 0; i < list.size(); i++) {
			if (list.get(i) % 3 == 0) {
				list.remove(i);
			}
		}
		Iterator<Integer> iterator = list.iterator();
		while (iterator.hasNext()) {
			Integer integer = iterator.next();
			System.out.print(integer + ",");
		}
	}
}

超市商品管理系统

//定义商品类
public class Supermarket {
    int id;
    String name;
    double price;
    double number;
}

主程序

public class Test {
    public static void main(String[] args) {
        ArrayList<Supermarket> list = new ArrayList<Supermarket>();
        init(list);
  //      topMenu();

        while (true) {
          int i =topMenu(list);
          if (i==-1){
              return;
          }
        }
    }

    /*
    顶部菜单
     */
    public static int topMenu(ArrayList<Supermarket> list) {
        System.out.println("==================欢迎光临123超市==================");
        System.out.println("1:货物清单  2:添加新货物  3:删除货物" +
                "  4:修改货物" + "\r\n" + "5:退出系统");
        System.out.print("请输入要操作的功能序号:");
        Scanner sc = new Scanner(System.in);
        int choose = sc.nextInt();
       int i = function(list,choose);
       return -1;
    }

    /*
    商品集合初始化
     */
    public static void init(ArrayList<Supermarket> list) {
        Supermarket sm = new Supermarket();
        sm.id = 9001;
        sm.name = "少林寺酥饼核桃";
        sm.price = 25;
        sm.number = 10;

        Supermarket sm1 = new Supermarket();
        sm1.id = 9002;
        sm1.name = "尚康杂粮牡丹饼";
        sm1.price = 20;
        sm1.number = 15;

        Supermarket sm2 = new Supermarket();
        sm2.id = 9003;
        sm2.name = "新疆原产哈密瓜";
        sm2.price = 27;
        sm2.number = 22;

        list.add(sm);
        list.add(sm1);
        list.add(sm2);
    }

    /*
    系统功能区
     */
    public static int function(ArrayList<Supermarket> list,int choose) {
        switch (choose) {
            case 1:
                System.out.println("==================欢迎光临民贸超市==================");
                System.out.println("商品编号" + "\t" + "\t" + "商品名称"
                        + "\t" + "\t" + "商品单价"
                        + "\t" + "\t" + "库存数量" + "\t\t" + "库存金额");
                traverse(list);
                break;
            case 2:
                AddProduct(list);
                break;
            case 3:
                delProduct(list);
                break;
            case 4:
                modProduct(list);
                break;
            case 5:
                System.out.println("退出系统");
                return -1;
            default:
                System.out.println("对不起,没有您输入的功能,请重新选择");
                break;
        }
        return choose;
    }

    public static void modProduct(ArrayList<Supermarket> list) {
        System.out.print("请输入您要修改信息的水果编号:");
        int id = new Scanner(System.in).nextInt();
        for (int i = 0; i < list.size(); i++) {
            Supermarket sm = list.get(i);
            if (sm.id == id) {
                System.out.print("请输入新的商品编号:");
                sm.id = new Scanner(System.in).nextInt();
                System.out.print("请输入新商品的名称:");
                sm.name = new Scanner(System.in).next();
                System.out.print("请输入新商品的单价:");
                sm.price = new Scanner(System.in).nextInt();
                System.out.print("请输入新商品的库存:");
                sm.number = new Scanner(System.in).nextInt();
                break;
            }
        }
    }

    /*
    删除商品
     */
    public static void delProduct(ArrayList<Supermarket> list) {
        System.out.println("请输入要删除的商品编号");
        int id = new Scanner(System.in).nextInt();

        for (int i = 0; i < list.size(); i++) {
            Supermarket sm = list.get(i);
            if (sm.id == id) {
                list.remove(sm);
                System.out.println("编号:" + id + "商品---" + sm.name + "已成功删除");
                return;
            }
        }
        System.out.println("编号有误");
    }

    /*
    添加商品
     */
    public static void AddProduct(ArrayList<Supermarket> list) {
        Supermarket sm = new Supermarket();
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入要添加的商品名称");
        sm.name = sc.next();
        System.out.println("请输入要添加的商品编号");
        sm.id = sc.nextInt();
        System.out.println("请输入要添加的商品单价");
        sm.price = sc.nextDouble();
        System.out.println("请输入要添加的商品的库存数量");
        sm.number = sc.nextDouble();

        list.add(sm);
    }

    /*
    库存遍历
     */
    public static void traverse(ArrayList<Supermarket> list) {
        double numSum = 0, money = 0;
        for (int i = 0; i < list.size(); i++) {
            numSum += list.get(i).number;
            money += (list.get(i).number * list.get(i).price);
            System.out.println(list.get(i).id + "\t" + list.get(i).name
                    + "\t" + list.get(i).price
                    + "\t" + "\t" + list.get(i).number + "\t\t"
                    + +(list.get(i).number * list.get(i).price));
        }
        System.out.println("总计" + "\t\t\t\t\t\t\t\t" + numSum + "\t\t" + money);
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值