Java程序编写 • 【第4章 程序:随机本周菜品;简易计算器】

本章节总结

返回作业目录


  • 练习一
  • 随机本周菜品

在这里插入图片描述

  • 练习二
  • 简易计算器

在这里插入图片描述

import java.util.Scanner;
public class day5_04 {
	public static void main(String[]args){
		System.out.println("*计算器\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
		Scanner a=new Scanner(System.in);
		byte jiance=0;
		byte jiance2=0;
		byte jiance3=0;
		byte jiance4=0;
		byte jiance5=0;
		int jiashu1=0;
		int jiashu2=0;
			while(jiance==0&&jiance2==0){
				boolean yi2=a.hasNextInt();
				jiance2=1;
				if(yi2==(false)){
					System.out.println("*请选择\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
					String nazou=a.next();
					jiance2=0;
				}
				boolean yi1=a.hasNextInt();
				if(yi1&&jiance2==1){
					int js=a.nextInt();
					if(yi1&&js<=4&&js>=1){
						switch(js){
						case 1:
							jiance5=0;
							jiance3=0;
							jiance4=0;
							while(jiance3==0&&jiance4==0&&jiance5==0){
								System.out.println("*加法\t第一个数:");
								Scanner jiaa=new Scanner(System.in);
								while(jiance3==0&&jiance4==0){
									boolean er1=jiaa.hasNextInt();
									jiance4=1;
									if(er1==(false)){
										System.out.println("*加法\t输入错误--重新输入");
										String nazou2=jiaa.next();
										jiance4=0;
									}
									boolean er2=jiaa.hasNextInt();
									if(er2&&jiance4==1){
										jiashu1=jiaa.nextInt();
										jiance4=1;
									}
								}
								Scanner jiab=new Scanner(System.in);
								while(jiance3==0&&jiance4==1){
									System.out.println("*加法\t第二个数:");
									
									boolean er1=jiab.hasNextInt();
									jiance3=1;
									if(er1==(false)){
										System.out.println("*加法\t输入错误--重新输入");
										String nazou3=jiab.next();
										jiance3=0;
									}
									boolean er2=jiab.hasNextInt();
									if(er2&&jiance3==1){
										jiashu2=jiab.nextInt();
										int jisuan=jiashu1+jiashu2;
										System.out.println("计算:\n"+jiashu1+"+"+jiashu2+"="+jisuan);
										jiance=0;
										jiance2=0;
										jiance3=0;
										jiance4=0;
										jiance5=1;
										System.out.println("*重新选择\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
									}
								}
							}
							break;
						case 2:
							jiance3=0;
							jiance4=0;
							jiance5=0;
							while(jiance3==0&&jiance4==0&&jiance5==0){
								System.out.println("*减法\t第一个数:");
								Scanner jiaa=new Scanner(System.in);
								while(jiance3==0&&jiance4==0){
									boolean er1=jiaa.hasNextInt();
									jiance4=1;
									if(er1==(false)){
										System.out.println("*减法\t输入错误--重新输入");
										String nazou2=jiaa.next();
										jiance4=0;
									}
									boolean er2=jiaa.hasNextInt();
									if(er2&&jiance4==1){
										jiashu1=jiaa.nextInt();
										jiance4=1;
									}
								}
								Scanner jiab=new Scanner(System.in);
								while(jiance3==0&&jiance4==1){
									System.out.println("*减法\t第二个数:");
									
									boolean er1=jiab.hasNextInt();
									jiance3=1;
									if(er1==(false)){
										System.out.println("*减法\t输入错误--重新输入");
										String nazou3=jiab.next();
										jiance3=0;
									}
									boolean er2=jiab.hasNextInt();
									if(er2&&jiance3==1){
										jiashu2=jiab.nextInt();
										int jisuan=jiashu1-jiashu2;
										System.out.println("计算:\n"+jiashu1+"-"+jiashu2+"="+jisuan);
										jiance=0;
										jiance2=0;
										jiance3=0;
										jiance4=0;
										jiance5=1;
										System.out.println("*重新选择\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
									}
								}
							}
							break;
						case 3:
							jiance3=0;
							jiance4=0;
							jiance5=0;
							while(jiance3==0&&jiance4==0&&jiance5==0){
								System.out.println("*乘法\t第一个数:");
								Scanner jiaa=new Scanner(System.in);
								while(jiance3==0&&jiance4==0){
									boolean er1=jiaa.hasNextInt();
									jiance4=1;
									if(er1==(false)){
										System.out.println("*乘法\t输入错误--重新输入");
										String nazou2=jiaa.next();
										jiance4=0;
									}
									boolean er2=jiaa.hasNextInt();
									if(er2&&jiance4==1){
										jiashu1=jiaa.nextInt();
										jiance4=1;
									}
								}
								Scanner jiab=new Scanner(System.in);
								while(jiance3==0&&jiance4==1){
									System.out.println("*乘法\t第二个数:");
									
									boolean er1=jiab.hasNextInt();
									jiance3=1;
									if(er1==(false)){
										System.out.println("*乘法\t输入错误--重新输入");
										String nazou3=jiab.next();
										jiance3=0;
									}
									boolean er2=jiab.hasNextInt();
									if(er2&&jiance3==1){
										jiashu2=jiab.nextInt();
										int jisuan=jiashu1*jiashu2;
										System.out.println("计算:\n"+jiashu1+"*"+jiashu2+"="+jisuan);
										jiance=0;
										jiance2=0;
										jiance3=0;
										jiance4=0;
										jiance5=1;
										System.out.println("*重新选择\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
									}
								}
							}
							break;
						case 4:
							jiance3=0;
							jiance4=0;
							jiance5=0;
							while(jiance3==0&&jiance4==0&&jiance5==0){
								System.out.println("*除法\t第一个数:");
								Scanner jiaa=new Scanner(System.in);
								while(jiance3==0&&jiance4==0){
									boolean er1=jiaa.hasNextInt();
									jiance4=1;
									if(er1==(false)){
										System.out.println("*除法\t输入错误--重新输入");
										String nazou2=jiaa.next();
										jiance4=0;
									}
									boolean er2=jiaa.hasNextInt();
									if(er2&&jiance4==1){
										jiashu1=jiaa.nextInt();
										jiance4=1;
									}
								}
								Scanner jiab=new Scanner(System.in);
								while(jiance3==0&&jiance4==1){
									System.out.println("*除法\t第二个数:");
									
									boolean er1=jiab.hasNextInt();
									jiance3=1;
									if(er1==(false)){
										System.out.println("*除法\t输入错误--重新输入");
										String nazou3=jiab.next();
										jiance3=0;
									}
									boolean er2=jiab.hasNextInt();
									if(er2&&jiance3==1){
										jiashu2=jiab.nextInt();
										int jisuan=jiashu1/jiashu2;
										System.out.println("计算:\n"+jiashu1+"/"+jiashu2+"="+jisuan);
										jiance=0;
										jiance2=0;
										jiance3=0;
										jiance4=0;
										jiance5=1;
										System.out.println("*重新选择\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
									}
								}
							}
							break;
						default:
							System.out.println("**请选择\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
							jiance=0;
							jiance2=0;
							break;
						}
					}else{
						System.out.println("**请选择\n加法<1>\t减法<2>\t乘法<3>\t除法<4>\n:");
						jiance=0;
						jiance2=0;
					}
				}
			}
	}
}

一个java编程问题,关于点菜 浏览次数:629次悬赏分:15 | 解决时间:2010-1-14 13:10 | 提问者:aimiaozi 现在有一份菜单给客人察看,并要计算他们的消费。 要求:客人菜时要打印出菜单,而且只需输入菜号即点菜,并要打印出客人所点的菜,最后计算客人应付的菜钱。 编号 菜名 价钱 01 扬州炒饭 5.0 02 辣子鸡丁 9.0 03 羊肉串 5.0 04 鸡汤 15.0 各位高手帮帮忙吧~~~~~能做得了全部最好,谢谢!!!问题补充: 程序是要输入菜号就能知道菜名、菜价,我就是不会这点。。。 如果可以,希望能用一维数组做出来。我是初学者!!!!! 答得好能加分哦,谢谢!! 麻烦各位了,请多包涵! 最佳答案 package ddd; public class Dish { private String name; private String id; private double unit; private int number; private String text; public Dish(String id,String name,double unit,int number){ this.id=id; this.name=name; this.unit=unit; this.number=number; } public Dish(){ } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public double getUnit() { return unit; } public void setUnit(double unit) { this.unit = unit; } public int getNumber() { return number; } public void setNumber(int number) { this.number = number; } public String getText() { return text; } public void setText(String text) { this.text = text; } public Dish clone(){ Dish d=new Dish(); d.setId(id); d.setName(name); d.setUnit(unit); d.setNumber(number); return d; } } ----------------------------------------- package ddd; import java.sql.Date; import java.text.SimpleDateFormat; import java.util.LinkedList; import java.util.List; public class Order { private String user; public List list; private double sumMoney; private String date; public Order(String user){ this.user=user; SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); Date date=new Date(System.currentTimeMillis()); this.date=format.format(date); list=new LinkedList(); } public List getList() { return list; } public void setList(List list) { this.list = list; } public double getSumMoney() { return sumMoney; } public void setSumMoney(double sumMoney) { this.sumMoney = sumMoney; } public String getDate() { return date; } public void setDate(String date) { this.date = date; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public void printOrder(){ System.out.println("--------------------------------------------------------------"); System.out.println("+用户名:"+user+"+"); System.out.println("+消费日期:"+date+"+"); System.out.println("--------------------------------------------------------------"); System.out.println("编号 \t 名称 \t 价格(元) \t数量 \t 合计(元)"); for(Dish dish:list){ System.out.printf("%-5s \t %-12s \t %-5s \t %-2s \t %-5s\n",dish.getId(),dish.getName(),dish.getUnit(),dish.getNumber(),dish.getUnit()*dish.getNumber()); } System.out.println("--------------------------------------------------------------"); System.out.println("+消费合计:"+sumMoney+"+"); } } -------------------------------------------- package ddd; import java.io.IOException; import java.util.LinkedHashMap; import java.util.Map; import java.util.Scanner; public class Main { private Map map; private Order order; public Main(String username){ map=new LinkedHashMap(); map.put("01",new Dish("01","扬州炒饭",5.0,10)); map.put("02",new Dish("02","辣子鸡丁",9.0,10)); map.put("03",new Dish("03","羊肉串 ",5.0,10)); map.put("04",new Dish("04","鸡汤 ",15.0,10)); map.put("05",new Dish("05","红烧排骨",25.0,10)); map.put("06",new Dish("06","清蒸鲤鱼 ",35.0,10)); map.put("07",new Dish("07","杂酱面 ",8.0,10)); map.put("08",new Dish("08","绿豆粥 ",2.0,10)); order=new Order(username); } public void printDishList(){ System.out.println("-------------------菜 谱-------------------"); System.out.println("编号 \t 名称 \t 价格(元) \t数量"); System.out.println("--------------------------------------------"); for(Dish dish:map.values()){ System.out.printf("%-5s \t %-12s \t %-5s \t %-2s\n",dish.getId(),dish.getName(),dish.getUnit(),dish.getNumber()); } System.out.println("--------------------------------------------"); } public static void main(String[] str) throws IOException{ Main main=new Main("佚名"); Scanner s=new Scanner(System.in); main.printDishList(); while(true){ String id=""; System.out.print("请输入菜单编号:"); id=s.nextLine(); if(!main.map.containsKey(id)) {System.out.println("没有该菜名编号!");continue;} Dish dish=main.map.get(id).clone(); System.out.println(dish.getName()); System.out.print("请输入所要菜名【"+dish.getName()+"】的数量(0表示全部都要;必须小于等于"+dish.getNumber()+"):"); int number=Integer.parseInt(s.nextLine()); if(numberdish.getNumber()){System.out.println("数量输入错误!");continue;} else if(number==0) ; else dish.setNumber(number); main.order.setSumMoney(main.order.getSumMoney()+dish.getNumber()*dish.getUnit()); main.order.list.add(dish); System.out.println("一种菜品添加成功!继续直接any key;结束输入exit并回车"); String tag=s.nextLine(); if("exit".equalsIgnoreCase(tag)) break; } main.order.printOrder(); } }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值