数组、循环、选择相结合在一起,实现这个简单的小项目,一共300多行,可以删减,也能实现,希望大家多加练习
package ArraysFor;
import java.util.Scanner;
public class DemoTest1 {
public static void main(String[] args) {
// 数组指针,查看数组是否已满
int index=0;
// 键盘输入函数
Scanner sc = new Scanner(System.in);
// 定义存储数的数组
// 姓名
String[] name = new String[10];
// 点菜信息
String[] food = new String[10];
// 送货时间
int[] time = new int[10];
// 送餐地址
String[] address = new String[10];
// 总金额
double [] amount = new double[10];
// 订单状态:0表示已预定(默认),1表示为已完成
int[] state = new int[10];
// 点菜份数
int[] number=new int[10];
// 存放点赞
int[] like = new int[999];
// 输入默认值
name[index]="张三";
food[index]="红烧带鱼";
number[index]=2;
time[index]=12;
address[index]="长江中路22号";
amount[index]=76;
state[index]=1;
index++;
name[index]="李四";
food[index]="鱼香肉丝";
number[index]=1;
time[index]=11;
address[index]="北阳大道30号";
amount[index]=26;
state[index]=0;
// 跳到下一个指针
index++;
// 菜单数组
String[] menu ={"红烧带鱼","鱼香肉丝","时令鲜蔬"};
int [] price = {38,20,10};
// 功能序号
int order;
do{
System.out.println("欢迎使用“吃货联盟订餐系统”");
System.out.println("-----------------------------------------");
System.out.println("\t\t1、我要订餐");
System.out.println("\t\t2、查看餐袋");
System.out.println("\t\t3、签收订单");
System.out.println("\t\t4、删除订单");
System.out.println("\t\t5、我要点赞");
System.out.println("\t\t6、退出系统");
System.out.println("-----------------------------------------");
System.out.print("请选择:");
// 键盘输入数进行判断执行哪一个
order = sc.nextInt();
switch(order){
case 1:
System.out.println("----------------我要订餐-----------------");
System.out.println("序号\t菜名\t单价");
for(int i=0;i<menu.length;i++){
System.out.print(i+1);
System.out.print("\t"+menu[i]);
System.out.println("\t"+price[i]);
}
System.out.println();
System.out.print("请选择你要点的菜品编号:");
// 获取点菜的编号
int x=sc.nextInt();
if(index>=name.length){
System.out.println("你的餐袋已满,注意清理");
}else{
System.out.print("请输入姓名:");
name[index]=sc.next();
food[index]=menu[x-1];
System.out.print("你需要几份:");
number[index]=sc.nextInt();
for(;;){
System.out.print("送货时间:");
// y:判断时间
int y=sc.nextInt();
if(y>20 || y<10){
System.out.println("超出配送时间,请重新输入");
continue;
}else{
time[index]=y;
break;
}
}
System.out.print("你的收获地址:");
address[index]=sc.next();
// 计算价格,如果大于等于50,不要跑腿费,小于50需要6元跑腿费
int num=price[x-1]*number[index];
if(num>=50){
amount[index]=price[x-1]*number[index];
}else{
amount[index]=price[x-1]*number[index]+6;
}
// 默认状态
state[index]=0;
}
System.out.println("----------------订餐结束-----------------");
for(;;){
System.out.print("输入0返回:");
// 返回数
int fals = sc.nextInt();
if(fals==0){
break;
}else{
System.out.print("输入错误,");
}
}
// 继续跳转
index++;
break;
case 2:
System.out.println("----------------查看餐袋-----------------");
System.out.println("序号\t订餐人\t餐品信息\t\t送餐时间\t送餐地址\t总金额\t状态");
for(int i=0;i<name.length;i++){
if(name[i] == null){
break;
}else{
System.out.print(i+1);
System.out.print("\t"+name[i]);
if(like[i]==0){
System.out.print("\t"+food[i]+" "+number[i]+"份 ");
}else{
System.out.print("\t"+food[i]+" "+number[i]+"份 "+like[i]+"赞");
}
System.out.print("\t\t"+time[i]+"点");
System.out.print("\t\t"+address[i]);
System.out.print("\t"+amount[i]);
if(state[i]==0){
System.out.print("\t已预定");
}else{
System.out.print("\t已完成");
}
System.out.println();
}
}
for(;;){
System.out.print("输入0返回:");
// 返回数
int fals = sc.nextInt();
if(fals==0){
break;
}else{
System.out.print("输入错误,");
}
}
break;
case 3:
System.out.println("----------------签收订单-----------------");
for(int i=0;i<name.length;i++){
if(name[i] == null){
break;
}else{
System.out.print(i+1);
System.out.print("\t"+name[i]);
System.out.print("\t"+food[i]+" "+number[i]+"份");
System.out.print("\t"+time[i]+"点");
System.out.print("\t"+address[i]);
System.out.print("\t"+amount[i]);
if(state[i]==0){
System.out.print("\t已预定");
}else{
System.out.print("\t已完成");
}
System.out.println();
}
}
for(;;){
System.out.print("请选择需要签收的订单编号:");
int num = sc.nextInt();
if(state[num-1]==1){
System.out.println("你已经签收过了!");
continue;
}else{
state[num-1]=1;
break;
}
}
for(;;){
System.out.print("输入0返回:");
// 返回数
int fals = sc.nextInt();
if(fals==0){
break;
}else{
System.out.print("输入错误,");
}
}
break;
case 4:
System.out.println("----------------删除订单-----------------");
for(int i=0;i<name.length;i++){
if(name[i] == null){
break;
}else{
System.out.print(i+1);
System.out.print("\t"+name[i]);
System.out.print("\t"+food[i]+" "+number[i]+"份");
System.out.print("\t"+time[i]+"点");
System.out.print("\t"+address[i]);
System.out.print("\t"+amount[i]);
if(state[i]==0){
System.out.print("\t已预定");
}else{
System.out.print("\t已完成");
}
System.out.println();
}
}
for(;;){
System.out.print("请选择需要删除的订单编号:");
int num = sc.nextInt();
int num1 = num-1;
if(num1>index){
System.out.println("未找到该订单号");
continue;
}else if(num1==index-1){
name[num1]=null;
food[num1]=null;
time[num1]=0;
address[num1]=null;
amount[num1]=0;
state[num1]=0;
number[num1]=0;
break;
}else{
for (int i=num1;i<index;i++){
name[i]=name[i+1];
food[i]=food[i+1];
time[i]=time[i+1];
address[i]=address[i+1];
amount[i]=amount[i+1];
state[i]=state[i+1];
number[i]=number[i+1];
}
break;
}
}
for(;;){
System.out.print("输入0返回:");
// 返回数
int fals = sc.nextInt();
if(fals==0){
break;
}else{
System.out.print("输入错误,");
}
}
// 指针减一
index--;
break;
case 5:
System.out.println("----------------我要点赞-----------------");
for(int i=0;i<name.length;i++) {
if (name[i] == null) {
break;
} else {
System.out.print(i + 1);
System.out.print("\t" + name[i]);
System.out.print("\t" + food[i] + " " + number[i] + "份");
System.out.print("\t" + time[i] + "点");
System.out.print("\t" + address[i]);
System.out.print("\t" + amount[i]);
if (state[i] == 0) {
System.out.print("\t已预定");
} else {
System.out.print("\t已完成");
}
System.out.println();
}
}
System.out.print("请选择你要点赞的单号:");
like[sc.nextInt()-1]++;
for(;;){
System.out.print("输入0返回:");
// 返回数
int fals = sc.nextInt();
if(fals==0){
break;
}else{
System.out.print("输入错误,");
}
}
break;
case 6:
System.out.println("谢谢使用'吃货联盟订餐系统',欢迎下次光临!");
order = (int)(Math.random()*(100-7)+7);
break;
default:
System.out.println("谢谢使用'吃货联盟订餐系统',欢迎下次光临!");
}
}while(order<6 && order >0);
}
}
下面不用看,字太少,随机加的
import java.util.Scanner;
public class ArraysTest2 {
public static void main(String[] args) {
// 定义一个3行5列的数组存储班级和成绩
int[][] arr = new int[3][5];
// 键盘输入成绩
Scanner sc = new Scanner(System.in);
int sum=0;
for (int i = 0; i < arr.length; i++) {
System.out.print((i+1)+"班成绩:");
for (int j = 0; j < arr[i].length; j++) {
// 手动输入
// arr[i][j]= sc.nextInt();
// 自动输入
arr[i][j]=(int)(Math.random()*(100-60)+60);
System.out.print(arr[i][j]+"\t");
}
System.out.println();
}
for (int i = 0; i < arr.length; i++) {
System.out.print((i+1)+"班成绩之和:");
for (int j = 0; j < arr[i].length; j++) {
sum=sum+arr[i][j];
}
System.out.println(sum);
sum=0;
}
}
}