码代码到深夜的快递驿站--面向过程进行编程

初学者码代码到深夜的快递驿站–JAVA面向过程进行编程

少说话,先献上自己的代码:

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

public class Express{
	//定义数组的长度的变量A
	private static final int A = 10;
	//定义String类型的快递单号数据
	static String[] number  = new String[A];
	//定义String类型的公司名称数据
	static String[] company = new String[A];
	//定义int类型取件码
	static int[] code = new int[A];
	static Scanner input = new Scanner(System.in);
		
	@SuppressWarnings("unused")
	public static void main(String[] args) {
		//标签m:返回到用户选择界面的代码
		m:while (true) {
			System.out.println("1.快递员");
			System.out.println("2.用户");
			System.out.println("0.退出系统");
			System.out.println("请输入您的选项:");
			switch (input.nextInt()) {
			//快递员界面的代码
			case 1:  //(1)
				//标签q,返回到快递员选择界面的代码
				q:while (true) {
					System.out.println("1.添加快递");
					System.out.println("2.修改快递");
					System.out.println("3.删除快递");
					System.out.println("4.查询快递");
					System.out.println("0.退出系统");
					System.out.println("请输入您的选项:");
					//接收用户数据inputNum
					int inputNum = input.nextInt();
					
					switch (inputNum) {
					//1.添加快递的代码
					case 1:  //(1-1)
						//数据变量编号定义11,代表1-1选项
						System.out.println("请输入快递单号:");
						String num11 = input.next();
						//通过for循环比对,有重复的快递单号数据进行
						for (int i = 0; i < number.length; i++) {
							if (num11.equals(number[i])) {
								System.out.println("重复添加快递!");
								break q;
							}
						}
						//如果没有,则继续执行如下操作
						System.out.println("请输入快递的公司:");
						String company11 = input.next();
						//通过Random()的方法获取随机取件码数字
						int code11 = new Random().nextInt(900)+100;
						for (int j = 0; j < number.length; j++) {
							//找到没有值的下标并赋值
							if (number[j]==null) {
								number[j] = num11;
								code[j] = code11;
								company[j] = company11;
								//打印添加成功后的快递信息
								System.out.println("添加快递成功");
								System.out.print("快递单号:"+num11+"; 快递公司:"+company11+"; 取件码:"+""+code11);
								System.out.println();
								System.out.println("------------");
								//返回快递员页面
								break q;
							}
						}
						break;
						
					//2.修改快递的代码
					case 2:  //(1-2)
						//输入并接收快递单号字符串,数据变量编号定义12,代表1-2
						System.out.println("请输入要修改的快递单号");
						String next12 = input.next();
						//遍历数组,查找需要修改的快递数据
						for (int i = 0; i < number.length; i++) {
							//使用equals进行字符串类型数据比对,如果查找到相同的快递单号
							if (next12.equals(number[i])) {
								//进行更改数据输入和接收
								System.out.println("请输入新的快递单号:");
								String num12 = input.next();
								System.out.println("请输入新的快递公司:");
								String company12 = input.next();
								int code12 = new Random().nextInt(900)+100;
								//进行数据更新覆盖
								number[i] = num12;
								company[i] = company12;
								code[i] = code12;
								//打印修改的快递信息
								System.out.println("修改成功");
								System.out.print("快递单号:" + num12+"; 快递公司" + company12 + "; 取件码" + code12);
								System.out.println();
								System.out.println("------------");
								//返回快递员界面
								break q;
							//输入错误提示
							}else {
								System.out.println("查无次数据,您输入不正确");
								break ;
							}
						}
						break;
						
					//3.删除快递选项的代码
					case 3:  //(1-3)
						//接收删除快递的信息数据,数据类型编号定义13,代表1-3
						System.out.println("请输入要删除的快递单号:");
						String next13 = input.next();
						System.out.println("确定需要删除:1确认  0 取消删除:");
						System.out.println("请输入您的选项:");
						//根据用户输入的int类型数据进行判断
						switch (input.nextInt()) {
							//1.确认选项的代码
							case 1:  //(1-3-1)
								//数据类型编号定义131,代表1-3-1
								//1通过for循环找到你要删除的快递id,
								for (int i = 0; i < number.length; i++) {
									//如果找到快递单号
									if (next13.equals(number[i])) {
										//清空num、company和code的值
										number[i] = null;
										company[i] = null;
										code[i] = 0;
										System.out.println("删除快递成功");
										//返回快递员界面
										break;
									//没有找到相同快递单号的提示
									}else {
										System.out.println("删除失败,没有相同的值");
										//返回快递员界面
										break;
									}
								}
								//返回快递员界面
								break;
							//0 取消删除选项的代码
							default:  //(1-3-null)
								System.out.println("删除取消");
								//返回快递员界面
								break;
						}						
						break;
						
					//4.查询快递选项的代码
					case 4:  //(1-4)
						//遍历数组
						for (int i = 0; i < A; i++) {
							 //找出不为空的下标值,然后输出
							if (number[i] != null) {
								System.out.print("快递单号:" + number[i] + "; 快递公司:" + company[i] + "; 取件码" + code[i]);
								System.out.println();
								System.out.println("------------");
							}
						}
						//返回快递员界面
						break;
						
					//0.退出系统选项的代码
					case 0:  //(1-0)
						System.out.println("退出系统");
						//返回主页面
						break m;
					//输入不在范围报错提示的代码
					default:  //(1-null)
						System.out.println("输入有误:退出系统");
						//返回主页面
						break m;
					}
					break;
				}				
				break;
				
			//2.用户选项的代码
			case 2:  //(2)
				//数据类型编号定义2,表示2
				//执行循环判断
				while (true) {
					//接收用户输入的数据和选项
					System.out.println("--------------请输取件码------------:");
					int next2 = input.nextInt();
					System.out.println("确定取件:1.确认  0.取消删除:");
					//执行用户输入选项判断
					switch (input.nextInt()) {
						//1.确认取件的代码
						case 1:  //(2-1)
							//数据类型编号定义21,表示2-1
							//遍历数组判断取件码
							for (int i = 0; i < code.length; i++) {
								//取件码正确执行
								if (next2 == code[i]) {
									//清空num、company和code的值
									number[i] = null;
									company[i] = null;
									code[i] = 0;
									System.out.println("取件成功");
									break;
								//输入错误的提示
								}else {
									System.out.println("没有您需要的快递");
									break;
								}
							}
							break;
						//0.取消删除的代码:
						default:  //(2-null)
							System.out.println("取消取件");
							break;
					}
					break;
				}

			//0.退出系统选项的代码
			case 0:  //(0)
				System.out.println("退出系统");
				break m;
			
			//用户输入错误的选项代码
			default:  //(null)
				System.out.println("输入有误:退出系统");
				break m;
			}
		}
	}
}

个人总结

对于初学者来讲,少的可怜的代码基础积累完全让自己崩溃,混乱的思维逻辑让自己一次又一次在混乱迷糊中清晰,直到完成代码执行可以运行时,感觉自己还是狠厉害的,此处省略一万字。

感悟和分享

思维逻辑还需要加强,合理使用思维导图等辅助工具很重要,最关键的是要掌握更加简单的编程方式,这需要继续往下面进行钻研!
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我无法提供具体的代码,因为我不知道菜鸟驿站数据库课程设计的具体要求和设计方案。但是我可以为你提供一些设计数据库的步骤和建议,帮助你完成这个任务。 1. 确定需求:在设计数据库之前,我们需要明确菜鸟驿站的业务需求和数据处理流程。比如,菜鸟驿站需要记录用户信息、快递信息、订单信息等等。 2. 设计数据模型:根据需求,我们可以将数据模型绘制成E-R图,把实体类、属性和关系进行定义和关联。例如,用户实体和订单实体之间存在多对多关系,需要设计中间表。 3. 设计表结构:根据数据模型,我们可以设计出数据库的表结构。每个实体类对应一个表,每个属性对应一个字段。需要注意选择合适的数据类型,以及设置主键、外键等约束条件。 4. 建立索引:在表结构设计完成后,我们需要考虑建立合适的索引,加快数据查询的速度。一般来说,主键和外键都需要建立索引,以及经常需要查询的字段。 5. 数据库优化:在实际应用中,需要考虑数据库的优化问题。例如,对于频繁查询的数据可以考虑缓存,对于高并发的业务可以考虑使用分库分表等技术。 综上所述,设计数据库需要考虑多方面的因素,需要根据具体的业务需求进行设计,我希望这些步骤和建议可以帮助你完成菜鸟驿站数据库课程设计。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值