第二题:
使用冒泡排序,实现如下的数组从小到大排序。
int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
程序:
public class Num02 {
public static void main(String[] args) {
int[] arr=new int[]{34,5,22,-98,6,-76,0,-3};
System.out.println("排序前:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j]>arr[j+1]) {
int temp=0;
temp=arr[j+1];
arr[j+1]=arr[j];
arr[j]=temp;
}
}
}
System.out.println("使用冒泡排序,降序排列后:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
}
运行结果:
第三题:
如何反转上面的数组。请代码实现
程序:
public class Num03 {
public static void main(String[] args) {
int[] arr=new int[]{34,5,22,-98,6,-76,0,-3};
System.out.println("反转前:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
for (int i = 0; i < arr.length/2; i++) {
int temp;
temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
System.out.println("反转后:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+"\t");
}
}
}
运行结果:
第六题:
项目实战-吃货联盟订餐系统
程序:
import java.util.Scanner;
public class Num06 {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
//定义变量
double sum=0;
int temp;
int tip=6;
String[] dish=new String[]{"鱼香肉丝","糖醋里脊","红烧肉"};
double[] prise=new double[]{12.9,15.6,18.0};
int[] zan=new int[]{5,12,8};
String[] name=new String[3];
name[0]="张三";
name[1]="李四";
int[] fens=new int[3];
fens[0]=2;
fens[1]=3;
int[] times=new int[3];
times[0]=12;
times[1]=20;
String[] ad=new String[3];
ad[0]="观日路32号";
ad[1]="望海路31号";
String[] dished=new String[3];
dished[0]="红烧肉";
dished[1]="糖醋里脊";
double[] sums=new double[3];
sums[0]=prise[0]*fens[0];
sums[1]=prise[1]*fens[1];
int[] state=new int[3];
state[0]=1;
state[1]=0;
System.out.println("欢迎使用“吃货联盟订餐系统”");
boolean flag=true;
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 choose=input.nextInt();
switch(choose){
case 1:
System.out.println("*******我要订餐*******");
System.out.print("请输入姓名:");
String userName=input.next();
for (int i = 0; i < zan.length; i++) {
if (name[i]==null) {
name[i]=userName;
break;
}
}
System.out.println("*****************菜单*****************");
System.out.println("序号\t菜名\t\t单价\t点赞数");
for (int i = 0; i < zan.length; i++) {
System.out.println((i+1)+"\t"+dish[i]+"\t\t"+prise[i]+"\t"+zan[i]);
}
System.out.println("*************************************");
System.out.print("请输入要选择的菜品序号:");
int num=input.nextInt();
for (int i = 0; i < zan.length; i++) {
if (dished[i]==null) {
dished[i]=dish[num-1];
break;
}
}
System.out.print("请输入菜品份数:");
int fen=input.nextInt();
if (prise[num-1]*fen>=50) {
tip=0;
}else{
tip=6;
}
sum=prise[num-1]*fen+tip;
for (int i = 0; i < zan.length; i++) {
if (sums[i]==0) {
sums[i]=sum;
break;
}
}
for (int i = 0; i < zan.length; i++) {
if (fens[i]==0) {
fens[i]=fen;
break;
}
}
System.out.print("请输入订餐时间(10~20):");
int time=input.nextInt();
while (time<10||time>20) {
System.out.println("该时间不在订餐范围内,请重新输入!");
System.out.print("请输入订餐时间(10~20):");
time=input.nextInt();
}
for (int i = 0; i < zan.length; i++) {
if (times[i]==0) {
times[i]=time;
break;
}
}
System.out.print("请输入订餐地址:");
String address=input.next();
for (int i = 0; i < zan.length; i++) {
if (ad[i]==null) {
ad[i]=address;
break;
}
}
System.out.println("*************************************");
System.out.println("恭喜您订餐成功!");
System.out.println("***************************订单信息****************************");
System.out.println("订餐人\t菜名\t数量\t送餐时间\t送餐地址\t\t配送费\t总金额");
System.out.println(userName+"\t"+dish[num-1]+"\t"+fen+"份\t"+time+"\t"+address+"\t"+tip+"\t"+sum);
System.out.println("*************************************************************");
do{
System.out.print("输入0返回:");
temp=input.nextInt();
if (temp!=0) {
System.out.println("输入有误,请重新输入!");
}
}while(temp!=0);
break;
case 2:
System.out.println("********************************查看餐袋********************************");
System.out.println("序号\t订餐人\t菜名\t数量\t送餐时间\t送餐地址\t\t总金额\t订餐状态");
int k=0;
for (int i = 0; i < zan.length; i++) {
if (name[i]!=null) {
k++;
System.out.println(k+"\t"+name[i]+"\t"+dished[i]+"\t"+fens[i]+"份\t"+times[i]+"\t"+ad[i]+"\t"+sums[i]+"\t"+(state[i]==0?"已预订":"已完成"));
}
}
System.out.println("**********************************************************************");
do{
System.out.print("输入0返回:");
temp=input.nextInt();
if (temp!=0) {
System.out.println("输入有误,请重新输入!");
}
}while(temp!=0);
break;
case 3:
System.out.println("********************************签收订单********************************");
System.out.println("序号\t订餐人\t菜名\t数量\t送餐时间\t送餐地址\t\t总金额\t订餐状态");
k=0;
for (int i = 0; i < zan.length; i++) {
if (name[i]!=null) {
k++;
System.out.println(k+"\t"+name[i]+"\t"+dished[i]+"\t"+fens[i]+"份\t"+times[i]+"\t"+ad[i]+"\t"+sums[i]+"\t"+(state[i]==0?"已预订":"已完成"));
}
}
System.out.println("**********************************************************************");
System.out.print("请输入你要签收的订单序号:");
num=input.nextInt();
if (state[num-1]==0) {
state[num-1]=1;
System.out.println("签收成功!");
}else{
System.out.println("对不起,该订单状态已完成,不能重复签收!");
}
System.out.println("**********************************************************************");
do{
System.out.print("输入0返回:");
temp=input.nextInt();
if (temp!=0) {
System.out.println("输入有误,请重新输入!");
}
}while(temp!=0);
break;
case 4:
System.out.println("********************************删除订单********************************");
System.out.println("序号\t订餐人\t菜名\t数量\t送餐时间\t送餐地址\t\t总金额\t订餐状态");
k=0;
for (int i = 0; i < zan.length; i++) {
if (name[i]!=null) {
k++;
System.out.println(k+"\t"+name[i]+"\t"+dished[i]+"\t"+fens[i]+"份\t"+times[i]+"\t"+ad[i]+"\t"+sums[i]+"\t"+(state[i]==0?"已预订":"已完成"));
}
}
System.out.println("**********************************************************************");
System.out.print("请输入你要删除的订单序号:");
num=input.nextInt();
if (name[num-1]!=null) {
name[num-1]=null;
dished[num-1]=null;
fens[num-1]=0;
times[num-1]=0;
ad[num-1]=null;
sums[num-1]=0;
state[num-1]=0;
System.out.println("删除成功!");
}else{
System.out.println("对不起,该订单不存在,无法删除!");
}
System.out.println("**********************************************************************");
do{
System.out.print("输入0返回:");
temp=input.nextInt();
if (temp!=0) {
System.out.println("输入有误,请重新输入!");
}
}while(temp!=0);
break;
case 5:
System.out.println("********************************我要点赞********************************");
System.out.println("序号\t菜名\t\t单价\t点赞数");
for (int i = 0; i < zan.length; i++) {
System.out.println((i+1)+"\t"+dish[i]+"\t\t"+prise[i]+"\t"+zan[i]);
}
System.out.println("**********************************************************************");
System.out.print("请输入你要点赞的菜品序号:");
num=input.nextInt();
if (num>0&&num<=zan.length) {
zan[num-1]++;
System.out.println("点赞成功,谢谢支持!");
}else{
System.out.println("对不起,您选择的菜品不存在,点赞失败!");
}
System.out.println("**********************************************************************");
do{
System.out.print("输入0返回:");
temp=input.nextInt();
if (temp!=0) {
System.out.println("输入有误,请重新输入!");
}
}while(temp!=0);
break;
case 6:
flag=false;
break;
default:
flag=false;
break;
}
}while(flag);
System.out.println("谢谢使用,欢迎下次光临!");
}
}
运行结果: