最详细!学Java7天,用面向过程编写快递e栈(适合新手!)

这是一个面向过程编写的Java程序,实现了一个简单的快递E栈管理功能。用户可以选择作为快递员或用户进行操作,如存取快递、修改快递信息等。程序通过Scanner获取用户输入,并使用Random生成取件码。用户通过输入取件码完成取件操作,快递员可以进行存储、删除和修改快递信息的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package 快递E栈;

用面向过程写的快递E栈,(可以很好的练习方法的调用)

针对Java新手,注释很详细!

package 快递E栈;

import java.util.Random;
import java.util.Scanner;

public class demo1 {
    static int length = 100;                                        //定义长度
    static int[] expressId = new int[length];                      //快递单号
    static String[] company = new String[length];                 //快递公司
    static int[] expressCode = new int[length];                  //取件码
    static int index = 0;
    static Scanner sc = new Scanner(System.in);
    //进入页面
	public static void startInterface() {
		System.out.println("=====欢迎使用新职课快递柜=====");
		System.out.println("请输入您的身份 1-快递员,2-用户    (输入-1退出)");		
		
		int role = sc.nextInt();
		switch(role){
		case 1:
			expressInterface();                   //调用快递员页面的方法
			break;
		case 2:
			userInterface();                      //调用用户页面的方法
			break;
		case -1:
		   System.out.println("=====新职课快递柜感谢您的使用=====");
		break;
		default:
			System.out.println("请输入正确的数字");
			startInterface();	//再次调用此次循环	
			break;            
		}
	}
	   //用户登录界面
	private static void userInterface() {
		System.out.println("请输入取件码");
		int code = sc.nextInt();
		boolean flag = true;
		for(int i=0;i<expressCode.length;i++) {
		if(code == expressCode[i]) {
			System.out.println("取件成功");
			expressId[i] = 0;                        //则Id等信息全部赋值为0
			expressCode[i] = 0;
			company[i] = null;  
			flag = false;                         //若找到则flag为false
		}
		
		}
		if(flag)                                 //若上面if没找到,则flag依旧为,所以执行 
			System.out.println("未找到该快递");		
		startInterface();
	}
	//快递员登录界面
	private static void expressInterface() {
		System.out.println("请选择操作:1-存快递 2-删除快递 3-修改快递信息 4-查看所有快递    (输入-1退出)");
		int num = sc.nextInt();
		switch(num) {
		case 1:
			storageExpress();     //调用存快递的方法
			break;
		case 2:
			deleteExpress();     //调用删除快递的方法
			break;
		case 3:
			alterExpress();       //调用修改快递信息的方法
			break;
		case 4:
			examineExpress();    //调用查看快递的方法
			break;  
		case -1:startInterface();
		}
	}
	       //存储快递的方法
	private static void storageExpress() {
		System.out.println("请输入快递单号");                    //提醒用户输入快递单号
		int Id = sc.nextInt();                                 //接收用户输入的快递单号
		expressId[index] = Id;                                 //将接收的Id存入数组expressId中
		System.out.println("请输入公司名称");
	    String names = sc.next();
	    company[index] = names;
	    
	    Random ran = new Random();                             //随机生成四位数取件码
	    int randomNum = ran.nextInt(9999)+1000;
	    expressCode[index] = randomNum;                        //将随机生成的取件码存入expressCode数组中
	    if(expressId[index]==Id && company[index].equals(names) && expressCode[index]==randomNum) {
	    	System.out.println("快递已存入,取件码为"+randomNum);
	    }
	    index++;
	    startInterface();
	}
	      //删除快递的方法
	    
		
	    private static void deleteExpress() {
	    	System.out.println("请输入要删除的快递单号");        //提醒用户输入
	    	int deleteNum = sc.nextInt();                      //接收用户输入
	    	for(int i=0;i<length-1;i++) {                      //判断所输入的是否在expressId数组中
	    		if(expressId[i] == deleteNum) {              //若在
	    			expressId[i] = 0;                        //则Id等信息全部赋值为0
	    			expressCode[i] = 0;
	    			company[i] = null;                       //下面也都是写方法,具体解释就参考以上!
	    			System.out.println("删除成功");
	    			break;
	    		}
	    		else
	    			System.out.println("未找到快递");
	    		break;
	    	}
	    	startInterface();
	    }
	    //修改快递信息的方法
        private static void alterExpress() {
        	System.out.println("请输入要修改的快递单号:");
        	int Id = sc.nextInt();
        	for(int i=0;i<length-1;i++) {
        		if(expressId[i]==Id) {
        			System.out.println("请输入新的快递单号:");
        			int newId =sc.nextInt();
        			expressId[i] = newId;
        			System.out.println("请输入新的快递公司");
        			String newCompany = sc.next();
        			company[i] = newCompany;
        			System.out.println("修改成功");  
        			break;
        		}
        		else {
        			System.out.println("未找到快递");
        			break;
        		}
        	}
        	startInterface();
        }
        //查看所有快递的方法
        private static void examineExpress() {
        	System.out.println("所有快递信息如下:");
        	System.out.println("快递单号\t\t公司名称\t\t取件码");
        	for(int i=0;i<length;i++){
        		if(expressId[i]!=0 && expressCode[i]!=0) {
        			System.out.printf("%d\t\t%s\t\t%d",expressId[i],company[i],expressCode[i]);
        			System.out.println();
        		}
        	}
        	startInterface();
		}
        
        public static void main(String[] args) {
			startInterface();
		}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值