我想问一个用java编写一个简单的点菜系统

就只有固定的几个菜,但是顾客没有限制,我还没有学keyvalue,只能创建一个新的类来放那个菜单,但是我不知道那个算法应该怎么写,比如这个菜单是这样的。1凉瓜抄蛋30元2... 就只有固定的几个菜,但是顾客没有限制,我还没有学 key value,只能创建一个新的类来放那个菜单,但是我不知道那个算法应该怎么写,比如这个菜单是这样的。
1 凉瓜抄蛋 30元
2 蛋炒饭 10元
3 西红柿抄鸡蛋 30元
4 牛扒 18元
5 beer 10元
我不知道怎么样输入编号,来算出总价。我现在只是打印了菜单,并且把菜单放在一个单独的食物类。
请问应该怎么样用数组的下标来计算?还有其他的方法吗?
展开
 我来答
巨人战舰
推荐于2017-12-16 · TA获得超过186个赞
知道小有建树答主
回答量:116
采纳率:0%
帮助的人:154万
展开全部

这个很简单的啦,新建一个类专门放这些数据。

class Order
{
int id;
String name;
double price;
}
//在main方法中,新建存放数据的数组
Scanner scan=new Scanner(System.in);
Order[] list=new Order[5];
for(int i=0;i<list.size();i++)
{
    list[i]=new Order();
    //为每一个数据赋值,通过键盘或者预设,这个你自己决定喽
    list[i].id=i+1;;
    list[i].name=scan.next();
    list[i].price=scan.nextDouble();
}
//不知道你是怎么安排业务逻辑的,我举个例子
double allPrice=0;
System.out.println("Input the id of food");
//循环...这里不好明写,输入id
int now=scan.nextInt();
allPrice+=list[now-1].id;
//循环结束,输出
System.out.println(allPrice);
百度网友db4b927b3
2014-04-07 · 超过16用户采纳过TA的回答
知道答主
回答量:87
采纳率:0%
帮助的人:42万
展开全部
import java.util.*;
public class s {
static int x,xx,y,yy; static double sum=0;
public static void main(String[] args)
{
String answer="y";double h=0;
Scanner input=new Scanner(System.in);
System.out.println("请输入客户数:");
int m=input.nextInt();
int n=m*3;
tostring();
do
{

order();
h+=(s(x,xx))+(d(y,yy));
System.out.println("是否继续:");
answer=input.next();
if(answer.equals("n"))
break;

}while(true);

System.out.println(h+n);
}
static void tostring()
{
System.out.println("菜单");
System.out.println("食品:");
System.out.println("1咖喱牛肉饭¥40.00");
System.out.println("2寿司套餐¥65.00");
System.out.println("3扬州市消防3米¥45.00");
System.out.println("4沙朗牛排和意大利面¥72.00");
System.out.println("5鸡肉蔬菜卷¥42.00");
System.out.println("饮料:");
System.out.println("21软饮料¥10.00");
System.out.println("22红葡萄酒¥15.00");
System.out.println("23啤酒¥15.00");
}
static double s(int f,int x)
{
double p=0;
switch(f)
{
case 1:p=40.00;break;
case 2:p=65.00;break;
case 3:p=45.00;break;
case 4:p=72.00;break;
case 5:p=42.00;break;

}
sum=p*x;
return sum;
}
static double d(int f,int x)
{
double p=0;
switch(f)
{
case 21:p=10.00;break;
case 22:p=15.00;break;
case 23:p=15.00;break;
}
sum=p*x;
return sum;
}
static void order()
{
Scanner input=new Scanner(System.in);
System.out.println("请选择食品:");
x=input.nextInt();
System.out.println("请选择份数:");
xx=input.nextInt();
System.out.println("请选择饮料:");
y=input.nextInt();
System.out.println("请选择瓶数:");
yy=input.nextInt();

}
}
加分!!!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式