打印票据--java
import java.util.Random;
class commodity{ //商品private String type,size;public commodity(String s) { type=s;}public String getType() { return type; }public String getSize() { return size; }public double price() { return 0; }public void addNumber(int n) { ;}public void deleteNumber() { ;}public int getNumber() { return 0;}
}
class Usb extends commodity{private double p=100; private String size ="Inspire T10";public static int number;public void addNumber(int n) { number+=n;}public void deleteNumber() { number--;}public String getSize() { return size; }public int getNumber() { return number;}public Usb() { super("U盘"); }public double price() { return p; }public String toString() { return getType()+"\t"+getSize()+"\t"+getNumber()+"\t"+price()+"\t"+price()*getNumber(); }public static Usb Create() { return new Usb(); }
}
class Screen extends commodity{private double p=2000;private String size ="Inspire T11";public static int number;public void addNumber(int n) { number+=n;}public void deleteNumber() { number--;}public int getNumber() { return number;}public String getSize() { return size; }public Screen() { super("显示器"); }public double price() { return p; }public String toString() { return getType()+"\t"+getSize()+"\t"+getNumber()+"\t"+price()+"\t"+price()*getNumber(); }public static Screen Create() { return new Screen(); }
}
class Music extends commodity{private double p=300;private String size ="Inspire T12";public static int number;public void addNumber(int n) { number+=n;}public void deleteNumber() { number--;}public int getNumber() { return number;}public String getSize() { return size; }public Music() { super("一对音箱"); }public double price() { return p; }public String toString() { return getType()+"\t"+getSize()+"\t"+getNumber()+"\t"+price()+"\t"+price()*getNumber(); }public static Music Create() { return new Music(); }
}
class shoppingCart{private commodity[] commodities;private int totalnum;//商品总数量private int cartlen=30; //购物车最大容量public shoppingCart () {commodities = new commodity[cartlen];}public void filtrate() {//过滤掉重复的commodity[] com=new commodity[cartlen];com[0]=commodities[0];int i,j,k; i=0;j=0;while(i<totalnum) {k=0; i++;while(k<=j) {if(com[k].getType()==commodities[i].getType()){ i++; break;}else k++;}} }public commodity[] Filtrate() {commodity[] coms = new commodity[20];int comsTail = 0;int i=0;boolean isAdd = false;while(i<totalnum) {int j=0;while(j<comsTail) {if(commodities[i].getType()==coms[j].getType()) {isAdd = false;break;}isAdd = true;j++;}if(comsTail==0) {isAdd=true;}if(isAdd) {coms[comsTail] = commodities[i];comsTail++;}i++;}return coms;}public void add(commodity c,int n) {//增加if(totalnum+n > cartlen){System.out.print("购物车已满");return ;}for(int i=totalnum;i<totalnum+n;i++)commodities[i]=c;totalnum=totalnum+n;c.addNumber(n);}public void delete(commodity c) {//删去if(find(c)==-1) {System.out.print("购物车中没有这个商品!");return ;}for(int i =find(c);i<totalnum-1;i++) {commodities[i]=commodities[i+1];}totalnum--;c.deleteNumber();}public int find(commodity c) {for(int i=0;i<totalnum;i++) {if(commodities[i].getType()==c.getType()) //不能用对象直接去比较,要比较对象的属性return i;}return -1; }public void show() {commodity[] c = Filtrate();for(int i=0; i<c.length; i++){if(c[i]==null) continue;System.out.println(c[i]);}double s=0;for(int i=0; i<totalnum; i++){if(c[i]==null) continue;s=s+c[i].price()*c[i].getNumber();}System.out.println("总金额="+s);}public void printBill(String buyer) {Random random = new Random();int orderNum = random.nextInt(999999);System.out.print("发票抬头:"+buyer+"\n");System.out.print("订单号:"+orderNum+"\n");System.out.print("货物\t型号\t\t数量\t单价\t价格"+"\n");}
}
class App3{public static void main(String[] agrs) {shoppingCart sc =new shoppingCart();sc.add(Usb.Create(),1);sc.add(Screen.Create(), 1);sc.add(Music.Create(), 1);sc.printBill("小可爱");sc.show();//System.out.println("总金额="+sc.sum());System.out.println("增加2个U盘:");sc.add(Usb.Create(),2);//sc.printBill("小可爱");sc.show();//System.out.println("总金额="+sc.sum());System.out.println("删除1个U盘,1个音响:");sc.delete(Music.Create());sc.delete(Usb.Create());//sc.printBill("小可爱");sc.show();}}
运行结果:
打印票据--java相关推荐
- springboot的java打印票据-4
java打印 经过前几次的配置与解析,现在来说下java打印.java的api打印可以有字符串,画线,图片等.我们这里只用这两种. 1.打印字符串与图片 来看下打印类的结构. 这里在服务层初始化这 ...
- 【Android】Android 集成佳博80打印机打印票据
文章目录 [Android]Android 集成佳博80打印机打印票据 1.集成佳博80打印机依赖 2.规范调用接口 3.使用到的相关对象以及工具类 4.MainActivity初始化接口 5.Uni ...
- Android手机蓝牙连接热敏打印机 打印票据
手机蓝牙连接热敏打印机 打印票据 话不多说上代码: 项目地址:可直接作为项目依赖 引用 allprojects {repositories {...maven { url 'https://jitpa ...
- 《LeetCode力扣练习》剑指 Offer 29. 顺时针打印矩阵 Java
<LeetCode力扣练习>剑指 Offer 29. 顺时针打印矩阵 Java 一.资源 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字. 示例 1: 输入:matr ...
- 《LeetCode力扣练习》剑指 Offer 06. 从尾到头打印链表 Java
<LeetCode力扣练习>剑指 Offer 06. 从尾到头打印链表 Java 一.资源 题目: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回). 示例 1: 输入: ...
- 双层循环嵌套打印矩形 java
双层循环嵌套打印矩形 java public class testone {public static void main(String[] args) {// 打印多行内容 假设打印line_num ...
- 如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员.虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下). 在一个月黑风高的夜晚,我思前想后,觉得再也不能 ...
- 【Android】Android 集成商米内置打印机打印票据
文章目录 [Android]Android 集成商米内置打印机打印票据 1.集成商米打印依赖 2.规范接口接口 3.使用到的相关对象以及工具类 4.MainActivity初始化接口 5.Uniapp ...
- 中创易票通打印票据支票 非凡软件
Welcome to my blog! <script language="javascript" src="http://avss.b15.cnwg.cn/cou ...
最新文章
- 如何搭建基于容器的工业互联网PaaS平台
- Asp.net Mvc 多级控制器 路由重写 及 多级Views目录 的寻找视图的规则 (多级路由) 如:Admin/Test/Index...
- 【Groovy】闭包 Closure ( 闭包类 Closure 简介 | 闭包 parameterTypes 和 maximumNumberOfParameters 成员用法 )
- acid四大特性_深入理解MySQL的ACID四大特性原理
- T-SQL LIKE子句 模糊查询
- ​我敢说,这是最全的常用设计模式汇总
- apache mysql 登陆_Apache站点,注册登陆功能的实现
- js验证固定电话、手机号码(代码大全)
- 【python】-- 类的继承(新式类/经典类)、多态
- Golang入门~搭建Beego
- IT技术人需要具备哪些才能成功
- Prototype使用$w()函数
- linux精简版远程登录,Linux下定制SSH来简化远程访问的方法
- Android 客户端Socket 与 Java服务端ServerSocket
- Collections集合
- 刘鹏教授接受新华日报财经客户端采访:智能制造应用落地生根,“江苏智造”进入快速增长期...
- 四足机器人—matlab机器人工具箱DH建模
- AAAI 2021-TextGAIL:Generative Adversarial Imitation Learning for Text Generation
- Effective C++条款40:明智而审慎地使用多重继承(Use multiple inheritance judiciously)
- 近视了也没关系,以后可以做手术修复,真的对吗?