作者:李小肆
通过数组和简单的for语句和if语句编写简易的快递e栈。
在程序制作之前,首先要理清思绪,这样明白应该怎么做,接下来的程序编写就不会特别乱。
首先可以确定的是,快递号,公司名称还有随意生成的快递号都是需要数组保存到的。那么第一步就是要建立三个数组:
int [] nums = new int[10];//快递号数组
String [] names = new String[10];//公司数组
int [] number2 = new int [10];//取件码数组
功能介绍:有两种角色:快递员和普通用户
System.out.println("请输入您的身份:快递员请输入1,普通用户请输入2。");
Scanner input = new Scanner(System.in);
int n = input.nextInt();
本程序主要实现快递的存放、收取、删除、查找功能和修改快递信息,主要的功能都是由快递元身份来完成。
首先就以快递员的身份开始执行程序:
将快递员的操作:存快递、删除快递、修改快递信息,查找快递分别为 1、2、3、4。
接下来就是用到if语句了如果输入的数字是1,则开始存快递的功能。存快递的功能相比其他的功能多了一些步骤,不止有存快递号的数字程序,还要有保存快递公司的功能程序和随机生成的取件码的功能程序,则我们一开始的第一段功能程序就要使用三个数组。
if(n == 1) {
System.out.println("请输入操作:1-存快递2-删除快递3-修改快递信息4-查看所有快递\r\n" + "");
Scanner clap = new Scanner(System.in);
int i = clap.nextInt();
if(i ==1) {
System.out.println("请输入快递单号");
Scanner number = new Scanner(System.in);
for (int j=0;j<nums.length;j++) {
nums[j] = number.nextInt();
}
System.out.println("请输入快递公司:");
Scanner name = new Scanner(System.in);
for (int k=0;k<names.length;k++) {
names[k] = name.next();
}
int max=9999,min=1000;
int ran = (int) (Math.random()*(max-min)+min); //random
for (int m=0;m<number2.length;m++) {
number2[m] = ran;
}
System.out.println("快递已存入,取件码是:"+ran);
}
这里用到了for的语句方法将数据分别放入0-9的10位数组中。
生成随机数的代码采用的是math.random的算法,math.random的取值范围是0-1(取零不取1)。则根据算法乘以最大值和最小值得到1000-9999之间的随机生成的4位数字。
当输入的是2 ,运行删除快递的程序
else if(i == 2) {
System.out.print("请输入要删除的快递号:");
Scanner delete = new Scanner(System.in);
int Number=delete.nextInt();
for (int x=0;x<nums.length;x++){
if (nums[x]==Number){
System.out.println("删除成功!");
break;
}else {
System.out.println("你输入的单号有误。");
break;
}
}
}
当输入的快递号于数组里的快递号相同时,则删除成功,如没有的话,则会显示输入的快递有误。
修改快递:
和删除快递相同点也时搜索到程序的话就可以修改快递赋值新的快递号,如果没有在数组里找到这个快递号,则会显示输入的快递有误!
else if (i == 3) {
System.out.println("请输入修改的快递单号:");
Scanner original = new Scanner(System.in);
int number = original.nextInt();
for (int x=0;x<nums.length;x++){
if (nums[x] == number){
System.out.println("请输入新的快递号");
Scanner change = new Scanner(System.in);
int number1 = change.nextInt();
nums[x] = number1;
System.out.println("修改成功");
break;
} else {
System.out.println("未找到快递!");
break;
}
}
查找快递:
将之前输入的快递号和快递公司显示出来,有快递号或公司在数组里的话会依次显示出来,没有的话则会显示没有快递号或者公司。
else if(i == 4) {
System.out.println("所有快递信息如下:");
for (int x=0;x<nums.length;i++){
if (nums[i]==0){
System.out.println("无快递信息!");
break;
}else {
System.out.println("快递编号:"+nums[i]);
break;
}
}
for (int x=0;x<names.length;x++){
if(names[i]==null){
System.out.println("无快递公司信息!");
break;
}else {
System.out.println("快递公司:"+names[i]);
break;
}
}
}
至此快递员的操作方法以全部出来,剩下的就是简单的用户操作了,就是取出快递。
用户输入取件号,程序会在随机生成号的数组里查找,如查找到的话,就会显示取件成功。没有查到的话,就会显示未找到快递!
程序结束。谢谢!
注:虽然只是用for语句和if语句,还有数组简单的程序语言实现的简易快递e栈的功能,但是还是有些bug存在。旨在希望能够帮助初学者理解到for,if 数组这三个方法的意义和使用方式,初学者可以参照。