第七天、数组案例

一、数组

1.1 给定元素获取该元素的索引值
package com.la;
public class FindIndex {
    public static void main(String[] args) {
        int[] a={1,3,5,7,8,9,55};
        int index = findIndex(a, 55, 0, a.length - 1);
        System.out.println(index);

    }
    public static int findIndex(int[] a,int b,int start,int end){
             int index=-1;
        if (a!=null&&a.length>0){
            if (start>=0&&start<end&&end<a.length){
                for (int i = 0; i < a.length; i++) {
                    if (a[i]==b) {
                        index=i;
                        return index;
                    }
                }
            }
        }
        return index;
    }
}

1.2 打印一副扑克牌
package com.la;
public class Cards {
    public static void main(String[] args) {
        String[] a={"♥","♦","♠","♣"};
        String[] b={"A","1","2","3","4","5","6","7","8","9","10","J","Q","K"};
        for (int i = 0; i <a.length ; i++) {
            for (int j = 0; j < b.length; j++) {
                System.out.print(a[i]+b[j]+" ");
            }
            System.out.println();
        }
    }
}

1.3 数组的冒泡排序
package com.la;
import java.util.Arrays;
public class Sort {
    public static void main(String[] args) {
        int[] a={6,37,92,4,53,9};
        System.out.println(Arrays.toString(sort1(a)));
    }
    public static int[] sort1(int[] a){
        if (a!=null&&a.length>0){
            for (int i = 0; i < a.length; i++) {
                for (int j = 0; j <a.length-i-1 ; j++) {
                    if (a[j]>a[j+1]){
                        int temp=a[j+1];
                        a[j+1]=a[j];
                        a[j]=temp;
                    }
                }
            }
        }
        return a;
    }
}

1.4 数组的插入操作
package com.la;
import java.util.Arrays;
import java.util.Scanner;
public class Insert {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int[] a={4,6,8,10,12};
        int[] b=new int[a.length+1];
        for (int i = 0; i < a.length; i++) {
            b[i]=a[i];
        }
        System.out.println("请输入要插入的数字:");
        int input = scanner.nextInt();
        int index=-1;
        for (int i = 0; i < b.length; i++) {
            if (input<=b[i]){
                index=i;
                break;
            }else {
                b[b.length-1]=input;
            }
        }
        if (index!=-1){
            for (int j = b.length-1; j>index ; j--) {
                b[j]=b[j-1];
            }
            b[index]=input;
        }
        System.out.println(Arrays.toString(b));
    }
}

二、综合小demo

package com.la;
import java.util.Scanner;
public class Project {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.println("欢迎使用龙哥吃货在线店铺");
        boolean flag=false;
        String[] name=new String[4];
        String[] orderMsg=new String[4];
        String[] time=new String[4];
        String[] address=new String[4];
        String[] totalMoney=new String[4];
        int[] state=new int[4];
        String[] orderName={"红烧带鱼","鱼香肉丝","时令蔬菜"};
        double[] price={38,20,10};
        name[0]="小龙";
        orderMsg[0]="红烧肉";
        time[0]="2022-4-18-16:46:00";
        address[0]="白云区花园路2号";
        totalMoney[0]="125元";
        state[0]=1;
        do {
            System.out.println("***************************");
            System.out.println("1、我要订餐");
            System.out.println("2、查看钱袋");
            System.out.println("3、签收订单");
            System.out.println("4、删除订单");
            System.out.println("5、我要点赞");
            System.out.println("6、退出系统");
            System.out.println("***************************");
            System.out.print("请选着:");
            int node = scanner.nextInt();
            if(node>6||node<1){
                System.out.println("输入有误,请重新输入");
                flag=true;
            }else {
                switch (node){
                    case 1:
                        if (name!=null&&name.length>0){
                            for (int j = 0; j < name.length; j++) {
                                if (name[j]==null){
                                    System.out.println("*****我要订餐*****");
                                    System.out.print("请输入点餐人的姓名");
                                    String name01 = scanner.next();
                                    System.out.println("序号\t菜名\t单价");
                                    for (int i = 0; i <orderName.length; i++) {
                                        System.out.println((i+1)+"\t"+orderName[i]+"\t"+price[i]);
                                    }
                                    System.out.print("请选着你要点的菜单编号:");
                                    int no = scanner.nextInt();
                                    System.out.print("请选择你需要的份数:");
                                    int num = scanner.nextInt();
                                    System.out.print("请输入送餐时间(送餐时间是10~20点间送餐):");
                                    String time01 = scanner.next();
                                    int parseInt = Integer.parseInt(time01);
                                    if (parseInt>10||parseInt>20){
                                        System.out.print("该时间点无法送餐,请重新选择合适的时间:");
                                        time01=scanner.next();
                                    }
                                    System.out.print("请输入送餐地址:");
                                    String address01 = scanner.next();
                                    System.out.println("订餐成功!");
                                    System.out.println("你订的是:"+orderName[no-1]+" "+num+"份");
                                    System.out.println("送餐时间:"+time01);
                                    System.out.println("餐费"+price[no-1]*num+"元,"+"送餐费"+((price[no-1]*num)>30?0:5)+"元,"+"总计:"+((price[no-1]*num)>30?price[no-1]*num:price[no-1]*num+5));
                                    name[j]=name01;
                                    orderMsg[j]=orderName[no-1]+" "+num;
                                    time[j]=time01;
                                    address[j]=address01;
                                    totalMoney[j]=((price[no-1]*num)>30?price[no-1]*num:price[no-1]*num+5)+"";
                                    state[j]=1;
                                    break;
                                }else {
                                    String[] nameTwo=new String[name.length*2];
                                    for (int i = 0; i < name.length; i++) {
                                        nameTwo[i]=name[i];
                                    }
                                    name=nameTwo;
                                }

                            }
                        }
                        break;
                    case 2:
                        System.out.println("*****查看钱袋*****");
                        System.out.println("序号\t订餐人\t餐品信息\t送餐时间\t送餐地址\t总金额\t订单状态");
                        if (name!=null&&name.length>0){
                            for (int i = 0; i < name.length; i++) {
                                if (name[i]!=null){
                                    System.out.println((i+1)+"\t"+name[i]+"\t"+orderMsg[i]+"\t"+time[i]+"\t"+address[i]+"\t"+totalMoney[i]+"\t"+(state[i]==1?"已完成":"进行中"));
                                }

                            }
                        }

                        break;
                    case 3:
                        System.out.println("*****签收订单*****");
                        break;
                    case 4:
                        System.out.println("*****删除订单*****");
                        break;
                    case 5:
                        System.out.println("*****我要点赞*****");
                        break;
                    case 6:
                        System.out.println("*****退出系统*****");
                        break;
                }
                System.out.println("返回请按0:");
                int start = scanner.nextInt();
                if (start==0){
                    flag=true;
                }
            }
        }while (flag);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值