java点餐主界面代码,java餐馆点餐系统

java吃货联盟订餐系统

ackage cn.practice1200;

成都创新互联公司长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为巩留企业提供专业的网站设计制作、成都网站制作,巩留网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。

import java.util.Scanner;

public class Eater_Alliance {

/**

* 吃货联盟订餐系统

*

* @author QCD

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

Scanner input = new Scanner(System.in);

// 初始化3个数组存储菜品、价格、点赞数

String[] dishNames = { "苦瓜炒鸡蛋", "红烧排骨", "辣子鸡丁", "石锅鱼", "麻婆豆腐" };

double[] prices = { 15.0, 30.0, 35.0, 90.0, 20.0 };

int[] praiseNums = new int[5];

// 在初始化6个数组用于存储订单信息

String[] names = new String[5];// 保存订餐人姓名

String[] dishMegs = new String[5];// 保存所选菜品名

int[] dishNums = new int[5];// 保存所选菜品份数

int[] times = new int[5];// 保存送餐时间

String[] addresses = new String[5];// 保存送餐地址

int[] states = new int[5];// 保存订单状态:0表示已预订,1表示已完成

double[] sumPrices = new double[5];// 保存订单的总金额

// 初始化2条订单信息

// 第1条

names[0] = "王大锤";

dishMegs[0] = "辣子鸡丁";

dishNums[0] = 2;

times[0] = 12;

addresses[0] = "莞太路3号";

states[0] = 0;

sumPrices[0] = 70.0;

// 第2条

names[1] = "王大柱";

dishMegs[1] = "麻婆豆腐";

dishNums[1] = 1;

times[1] = 19;

addresses[1] = "建设路2号";

states[1] = 1;

sumPrices[1] = 25.0;

/* 实现菜单切换 */

System.out.println("欢迎使用“吃货联盟订餐系统”");

int num = 1;// 用户输入0返回主菜单否则退出系统

boolean isExit = false;// 标记用户是否退出系统,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("请选择:");

num = input.nextInt();// 用户输入所要选择进行的操作

/* 使用switch结构来建立选择内容 */

switch (num) {

case 1:// 我要订餐

System.out.println("***我要订餐***");

boolean isAdd = false;// 记录是否可以点餐

for (int i = 0; i  names.length; i++) {

if (names[i] == null) {

isAdd = false;

System.out.print("请输入订餐人姓名:");

String name = input.next();

System.out.println("序号" + "\t" + "菜名" + "\t\t" + "单价" + "\t" + "点赞数");

for (int j = 0; j  dishNames.length; j++) {

System.out.println(

(j + 1) + "\t" + dishNames[j] + "\t\t" + prices[j] + "元" + "\t" + praiseNums[j]);

}

System.out.print("请选择您要点的菜品编号:");

int chooseDish = input.nextInt();

String dishMeg = dishNames[chooseDish - 1];

System.out.print("请选择您需要的份数:");

int number = input.nextInt();

System.out.print("请输入送餐时间(送餐时间是10点至20点间整点送餐):");

int time = input.nextInt();

while (time  10 || time  20) {

System.out.print("您的输入有误,请输入10-20间的整数");

time = input.nextInt();

}

System.out.print("请输入送餐地址:");

String address = input.next();

// 默认可以预定,不用写订单状态

System.out.println("订餐成功!");

System.out.println("您定的是:" + dishNames[chooseDish - 1] + number + "份");

System.out.println("送餐时间:" + time + "点");

double sumPrice = prices[chooseDish - 1] * number;// 计算餐费

double sendMoney = (sumPrice = 50) ? 0 : 5;// 计算送餐费

System.out.println("餐费:" + sumPrice + "元," + "送餐费" + sendMoney + "元," + "总计:"

+ (sumPrice + sendMoney) + "元。");

// 添加数据

names[i] = name;

dishMegs[i] = dishMeg;

times[i] = time;

dishNums[i] = number;

addresses[i] = address;

sumPrices[i] = sumPrice + sendMoney;

break;

}

if (isAdd) {

System.out.println("对不起,您的餐袋已满!");

}

}

break;

case 2:// 查看餐袋

System.out.println("***查看餐袋***");

System.out.println("序号\t订餐人\t餐品名称\t餐品数量\t送餐时间\t送餐地址\t总金额\t订单状态");

for (int i = 0; i  names.length; i++) {

if (names[i] != null) {

String state = (states[i] == 0) ? "已预订" : "已完成";

System.out.println((i + 1) + "\t" + names[i] + "\t" + dishMegs[i] + "\t" + dishNums[i] + "份"

+ "\t" + times[i] + "\t" + addresses[i] + "\t" + sumPrices[i] + "元" + "\t" + state);

}

}

break;

case 3:// 签收订单

System.out.println("***签收订单***");

boolean isSignFind = false;

System.out.print("请选择要签收的订单序号:");

int sign = input.nextInt();

for (int i = 0; i  names.length; i++) {

if (names[i] != null  states[i] == 0  sign == i + 1) {

states[i] = 1;

System.out.println("订单签收成功!");

isSignFind = true;// 标记已找到的订单

} else if (names[i] != null  states[i] == 1  sign == i + 1) {

System.out.println("您选择的订单已完成签收,不能再次签收!");

isSignFind = true;// 标记已找到的订单

}

}

if (!isSignFind) {

System.out.println("您选择的订单不存在!");

}

break;

case 4:// 删除订单

System.out.println("***删除订单***");

boolean isDelFind = false;

System.out.print("请输入要删除的订单序号:");

int delID = input.nextInt();

for (int i = 0; i  names.length; i++) {

// 根据状态值判断能不能删除,只有已完成的才能删除

if (names[i] != null  states[i] == 1  delID == i + 1) {

isDelFind = true;

for (int j = delID - 1; j  names.length - 1; j++) {

names[j] = names[j + 1];

dishMegs[j] = dishMegs[j + 1];

dishNums[j] = dishNums[j + 1];

times[j] = times[j + 1];

addresses[j] = addresses[j + 1];

states[j] = states[j + 1];

sumPrices[j] = sumPrices[j + 1];

}

// 将最后一位清空

names[names.length - 1] = null;

dishMegs[names.length - 1] = null;

dishNums[names.length - 1] = 0;

times[names.length - 1] = 0;

addresses[names.length - 1] = null;

states[names.length - 1] = 0;

sumPrices[names.length - 1] = 0;

System.out.println("删除订单成功!");

break;

} else if (names[i] != null  states[i] == 0  delID == i + 1) {

isDelFind = true;

System.out.println("您选择的订单未签收,不能删除!");

break;

}

} // 未找到的订单不能删除

if (!isDelFind) {

System.out.println("您要删除的订单不存在!");

}

break;

case 5:// 我要点赞

System.out.println("***我要点赞***");

// 显示菜品信息

System.out.println("序号\t菜名\t单价");

for (int i = 0; i  dishNames.length; i++) {

String priaiseNum = (praiseNums[i]  0) ? praiseNums[i] + "赞" : "";

System.out.println((i + 1) + "\t" + dishNames[i] + "\t" + prices[i] + "元" + priaiseNum);

}

System.out.print("请选择您要点赞的菜品序号:");

int number = input.nextInt();

praiseNums[number - 1]++;

System.out.println("点赞成功");

break;

case 6:// 退出系统

isExit = true;

break;

default:// 退出系统

isExit = true;

break;

}

// 返回主界面

if (!isExit) {

System.out.print("输入0返回:");

num = input.nextInt();

} else {

break;

}

} while (num == 0);

System.out.println("谢谢惠顾,欢迎您再次使用!");

input.close();

}

}

Java 用户界面设计 求界面代码

一: 首先弄清题目的意思

A.需要的主要组件列表:

1.  创建一个窗口,窗口标题叫Information

2.  3个标签, 用于显示文字 Name Number Class

3.  3个文本框, 用于填写信息

4.  1个按钮,  文字是确认

5.  1个文本域

B.业务逻辑

1. 当点击按钮确认的时候, 把 文本框的信息显示到文本域

C.设计的主要技术

JLabel , JButton, JTextField ...等, 都是swing的组件 ,  所以应该使用swing进行创建

二:  确定使用的布局

swing虽然重写了大部分的组件, 但是布局, 依旧沿袭awt技术

分析图片上的布局:

至少有2种方法可以实现, 

方法一: 绝对布局 , 优点:  配合可视化GUI拖曳, 可以完美的实现图上的组件的位置

但是缺点也是致命的, 不同的操作系统平台下, 可能会出现位置的移动,

只适合开发平台, 移植效果差 .  所以不推荐使用

方法二: 灵活的表格布局, 配合流式布局 , 所有操作系统下,显示效果都比较统一. 

三: 效果图

四: 参考代码

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class FrameDemo extends JFrame {

//申明需要的组件

private final JTextField jtf1,jtf2,jtf3;

private final JTextArea jta;

public FrameDemo() {

setTitle("Information");//设置窗口标题

setSize(320, 360);//设置窗口大小

setLocationRelativeTo(null);//设置窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE);//设置关闭时退出虚拟机

getContentPane().setLayout(new FlowLayout());//设置窗口布局为流式布局

JPanel jp = new JPanel(new GridLayout(4, 2));//设置jp面板为表格布局4行2列

//第一行

JPanel jp01 = new JPanel();

JLabel jl1 = new JLabel("Name:");

jp01.add(jl1);

JPanel jp1 = new JPanel();

jtf1 = new JTextField(8);

jp1.add(jtf1);

//第二行

JPanel jp02 = new JPanel();

JLabel jl2 = new JLabel("Number:");

jp02.add(jl2);

JPanel jp2 = new JPanel();

jtf2 = new JTextField(8);

jp2.add(jtf2);

//第三行

JPanel jp03 = new JPanel();

JLabel jl3 = new JLabel("Class:");

jp03.add(jl3);

JPanel jp3 = new JPanel();

jtf3 = new JTextField(8);

jp3.add(jtf3);

//第四行

JPanel jp04 = new JPanel();

JLabel jl4 = new JLabel("");

jp04.add(jl4);

JPanel jp4 = new JPanel();

JButton jb = new JButton("确认");

jp4.add(jb);

jp.add(jp01);

jp.add(jp1);

jp.add(jp02);

jp.add(jp2);

jp.add(jp03);

jp.add(jp3);

jp.add(jp04);

jp.add(jp4);

getContentPane().add(jp);

jta = new JTextArea();

jta.setColumns(20);//设置文本域的大小

jta.setEditable(false);//设置文本域不可编辑

jta.setBackground(jp.getBackground());//设置文本域的背景色和面板一样

getContentPane().add(jta);

jb.addActionListener(new ActionListener() {//给按钮添加事件

public void actionPerformed(ActionEvent e) {//点击按钮,显示信息到文本域

String name = jtf1.getText();

String number = jtf2.getText();

String clazz = jtf3.getText();

jta.setText("You name is "+name+" number is "+number+" class is "+clazz);

}

});

}

public static void main(String[] args) {

new FrameDemo().setVisible(true);//创建窗口,被设置为可见

}

}

五: 拓展

虽然图形界面的实现方法是多样的,  我们一定要根据具体情况, 选择一个比较优化的 合理的, 符合业务逻辑的实现方法

java的菜单代码怎么写?

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

public class MyMenu extends JFrame{

JMenuBar jmbar=new JMenuBar();

JMenu jmenu=new JMenu("颜色");

JMenuItem jmt1=new JMenuItem("红色"),

jmt2=new JMenuItem("黄色"),

jmt3=new JMenuItem("蓝色");

JPanel jp=new JPanel();

MyMenu(){

setTitle("菜单测试");

setSize(400,300);

setJMenuBar(jmbar);

jmbar.add(jmenu);

jmenu.add(jmt1);

jmenu.add(jmt2);

jmenu.add(jmt3);

add(jp);

jmt1.addActionListener(new MenuAction(this));

jmt2.addActionListener(new MenuAction(this));

jmt3.addActionListener(new MenuAction(this));

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

public static void main(String[] args) {

new MyMenu();

}

}

class MenuAction implements ActionListener{

MyMenu m;

MenuAction(MyMenu m){

this.m=m;

}

public void actionPerformed(ActionEvent e){

String color=e.getActionCommand();

if(color=="红色")m.jp.setBackground(Color.red);

else if(color=="黄色")m.jp.setBackground(Color.yellow);

else if(color=="蓝色")m.jp.setBackground(Color.blue);

}

}

不知道你要什么事件代码,我写了个比较简单的你看适合不。

求Java大神,帮忙做一个点餐系统,求java源代码

你这个需求设计做下来,一个月就没了,直接去CSDN下载吧,有现成的。

下载链接如下:


标题名称:java点餐主界面代码,java餐馆点餐系统
链接URL:http://azwzsj.com/article/dsiieos.html