当前位置: 首页 > news >正文

怎么样创建一个网站应用宝下载

怎么样创建一个网站,应用宝下载,wordpress产品页面模板下载,大型电子商务网站建设练习一#xff1a;赠送礼物 需求#xff1a;有100份礼品,两人同时发送#xff0c;当剩下的礼品小于10份的时候则不再送出。利用多线程模拟该过程并将线程的名字和礼物的剩余数量打印出来. 示例#xff1a; public class MyRunable implements Runnable {//第二种方式实现…练习一赠送礼物 需求有100份礼品,两人同时发送当剩下的礼品小于10份的时候则不再送出。利用多线程模拟该过程并将线程的名字和礼物的剩余数量打印出来. 示例 public class MyRunable implements Runnable {//第二种方式实现多线程测试类中MyRunable只创建一次所以不需要加staticint count 100;Overridepublic void run() {//1.循环while (true) {//2.同步代码块synchronized (MyThread.class) {//3.判断共享数据已经到末尾if (count 10) {System.out.println(礼物还剩下 count 不再赠送);break;} else {//4.判断共享数据没有到末尾count--;System.out.println(Thread.currentThread().getName() 在赠送礼物还剩下 count 个礼物!!!);}}}} }public class Test {public static void main(String[] args) {/*有100份礼品,两人同时发送当剩下的礼品小于10份的时候则不再送出利用多线程模拟该过程并将线程的名字和礼物的剩余数量打印出来.*///创建参数对象MyRunable mr new MyRunable();//创建线程对象Thread t1 new Thread(mr,窗口1);Thread t2 new Thread(mr,窗口2);//启动线程t1.start();t2.start();} } 练习二打印数字 需求同时开启两个线程共同获取1-100之间的所有数字。共同输出所有的奇数。 实例 public class MyRunable implements Runnable {//第二种方式实现多线程测试类中MyRunable只创建一次所以不需要加staticint number 1;Overridepublic void run() {//1.循环while (true) {//2.同步代码块synchronized (MyThread.class) {//3.判断共享数据已经到末尾if (number 100) {break;} else {//4.判断共享数据没有到末尾if(number % 2 1){System.out.println(Thread.currentThread().getName() 打印数字 number);}number;}}}} }public class Test {public static void main(String[] args) {//创建参数对象MyRunable mr new MyRunable();//创建线程对象Thread t1 new Thread(mr,线程A);Thread t2 new Thread(mr,线程B);//启动线程t1.start();t2.start();} } 练习三抢红包 需求 抢红包也用到了多线程。 假设100块分成了3个包现在有5个人去抢。 其中红包是共享数据。 5个人是5条线程。 打印结果如下 XXX抢到了XXX元 XXX抢到了XXX元 方案一 public class MyThread extends Thread{public static double money 100.0;public static int count 3;//最小的中奖金额public static final double MIN 0.01;Overridepublic void run(){//同步代码块synchronized (MyThread.class){if(count 0){//红包抢完了System.out.println(Thread.currentThread().getName() 没有抢到红包);}else{//红包还有//定义一个当前金额的变量double price 0;if(count 1){//只有一个红包了 则无需随机直接赋值即可price money;}else {//是第一个和第二个红包 进行随机Random random new Random();//100 元 3个包//第一个红包100 - (3-1) * 0.01 99.98 设置的是边界这样random就会在这个范围内选取int bounds money - (count-1) * MIN;price random.nextInt(bounds);if(price MIN){price MIN;}}//从money当中去掉当前中奖的金额money money - price;//红包的个数-1count--;//本次红包的信息进行打印System.out.println(getName() 抢到了 price 元);}}} }public class Test {public static void main(String[] args) {//创建线程的对象MyThread t1 new MyThread();MyThread t2 new MyThread();MyThread t3 new MyThread();MyThread t4 new MyThread();MyThread t5 new MyThread();//给线程设置名字t1.setName(kk);t2.setName(oneone);t3.setName(11);t4.setName(kunkun);t5.setName(ii);//启动线程t1.start();t2.start();t3.start();t4.start();t5.start();} } 方案二 //总金额static BigDecimal money BigDecimal.valueOf(100.0);//个数static int count 3;//最小抽奖金额static final BigDecimal MIN BigDecimal.valueOf(0.01);Overridepublic void run() {synchronized (MyThread.class){if(count 0){System.out.println(getName() 没有抢到红包);}else{//中奖金额BigDecimal prize;if(count 1){prize money;}else{//获取抽奖范围double bounds money.subtract(BigDecimal.valueOf(count-1).multiply(MIN)).doubleValue();Random r new Random();//抽奖金额prize BigDecimal.valueOf(r.nextDouble(bounds));}//设置抽中红包小数点保留两位四舍五入prize prize.setScale(2,RoundingMode.HALF_UP);//在总金额中去掉对应的钱money money.subtract(prize);//红包少了一个count--;//输出红包信息System.out.println(getName() 抽中了 prize 元);}}} 练习四抽奖箱 需求 有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700}; 创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”“抽奖箱2” 随机从抽奖池中获取奖项元素并打印在控制台上,格式如下: 每次抽出一个奖项就打印一个(随机) 抽奖箱1 又产生了一个 10 元大奖 实例 public class MyThread extends Thread {ArrayListInteger list;public MyThread(ArrayListInteger list) {this.list list;}Overridepublic void run() {//1.循环//2.同步代码块//3.判断//4.判断while (true) {synchronized (MyThread.class) {if (list.size() 0) {break;} else {//继续抽奖Collections.shuffle(list);int prize list.remove(0);System.out.println(getName() 又产生了一个 prize 元大奖);}}try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}}} }public class Test {public static void main(String[] args) {/*有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”“抽奖箱2”随机从抽奖池中获取奖项元素并打印在控制台上,格式如下:每次抽出一个奖项就打印一个(随机)抽奖箱1 又产生了一个 10 元大奖抽奖箱1 又产生了一个 100 元大奖抽奖箱1 又产生了一个 200 元大奖抽奖箱1 又产生了一个 800 元大奖抽奖箱2 又产生了一个 700 元大奖.....*///创建奖池ArrayListInteger list new ArrayList();Collections.addAll(list,10,5,20,50,100,200,500,800,2,80,300,700);//创建线程MyThread t1 new MyThread(list);MyThread t2 new MyThread(list);//设置名字t1.setName(抽奖箱1);t2.setName(抽奖箱2);//启动线程t1.start();t2.start();} } 练习五多线程统计并求最大值 需求 在上一题基础上继续完成如下需求 每次抽的过程中不打印抽完时一次性打印(随机) 在此次抽奖过程中抽奖箱1总共产生了6个奖项。 分别为10,20,100,500,2,300最高奖项为300元总计额为932元 在此次抽奖过程中抽奖箱2总共产生了6个奖项。 分别为5,50,200,800,80,700最高奖项为800元总计额为1835元 方案一 public class MyThread extends Thread {ArrayListInteger list;public MyThread(ArrayListInteger list) {this.list list;}//线程一static ArrayListInteger list1 new ArrayList();//线程二static ArrayListInteger list2 new ArrayList();Overridepublic void run() {while (true) {synchronized (MyThread.class) {if (list.size() 0) {if(抽奖箱1.equals(getName())){System.out.println(抽奖箱1 list1);}else {System.out.println(抽奖箱2 list2);}break;} else {//继续抽奖Collections.shuffle(list);int prize list.remove(0);if(抽奖箱1.equals(getName())){list1.add(prize);}else {list2.add(prize);}}}try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}}} }public class Test {public static void main(String[] args) {/*有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”“抽奖箱2”随机从抽奖池中获取奖项元素并打印在控制台上,格式如下:每次抽的过程中不打印抽完时一次性打印(随机) 在此次抽奖过程中抽奖箱1总共产生了6个奖项。分别为10,20,100,500,2,300最高奖项为300元总计额为932元在此次抽奖过程中抽奖箱2总共产生了6个奖项。分别为5,50,200,800,80,700最高奖项为800元总计额为1835元*///创建奖池ArrayListInteger list new ArrayList();Collections.addAll(list,10,5,20,50,100,200,500,800,2,80,300,700);//创建线程MyThread t1 new MyThread(list);MyThread t2 new MyThread(list);//设置名字t1.setName(抽奖箱1);t2.setName(抽奖箱2);//启动线程t1.start();t2.start();} }方案二 public class MyThread extends Thread {ArrayListInteger list;public MyThread(ArrayListInteger list) {this.list list;}Overridepublic void run() {ArrayListInteger boxList new ArrayList();//1 //2while (true) {synchronized (MyThread.class) {if (list.size() 0) {System.out.println(getName() boxList);break;} else {//继续抽奖Collections.shuffle(list);int prize list.remove(0);boxList.add(prize);}}try {Thread.sleep(10);} catch (InterruptedException e) {e.printStackTrace();}}} }public class Test {public static void main(String[] args) {/*有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};创建两个抽奖箱(线程)设置线程名称分别为“抽奖箱1”“抽奖箱2”随机从抽奖池中获取奖项元素并打印在控制台上,格式如下:每次抽的过程中不打印抽完时一次性打印(随机) 在此次抽奖过程中抽奖箱1总共产生了6个奖项。分别为10,20,100,500,2,300最高奖项为300元总计额为932元在此次抽奖过程中抽奖箱2总共产生了6个奖项。分别为5,50,200,800,80,700最高奖项为800元总计额为1835元*///创建奖池ArrayListInteger list new ArrayList();Collections.addAll(list,10,5,20,50,100,200,500,800,2,80,300,700);//创建线程MyThread t1 new MyThread(list);MyThread t2 new MyThread(list);//设置名字t1.setName(抽奖箱1);t2.setName(抽奖箱2);//启动线程t1.start();t2.start();} } 练习六 需求 在上一题基础上继续完成如下需求 在此次抽奖过程中抽奖箱1总共产生了6个奖项分别为10,20,100,500,2,300 最高奖项为300元总计额为932元 在此次抽奖过程中抽奖箱2总共产生了6个奖项分别为5,50,200,800,80,700 最高奖项为800元总计额为1835元 在此次抽奖过程中,抽奖箱2中产生了最大奖项,该奖项金额为800元 以上打印效果只是数据模拟,实际代码运行的效果会有差异 public class MyCallable implements CallableInteger {ArrayListInteger list;public MyCallable(ArrayListInteger list) {this.list list;}Overridepublic Integer call() throws Exception {ArrayListInteger boxList new ArrayList();//1 //2while (true) {synchronized (MyCallable.class) {if (list.size() 0) {System.out.println(Thread.currentThread().getName() boxList);break;} else {//继续抽奖Collections.shuffle(list);int prize list.remove(0);boxList.add(prize);}}Thread.sleep(10);}//把集合中的最大值返回if(boxList.size() 0){return null;}else{return Collections.max(boxList);}} }package com.itheima.test7;import java.util.ArrayList; import java.util.Collections; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask;public class Test {public static void main(String[] args) throws ExecutionException, InterruptedException {/*有一个抽奖池,该抽奖池中存放了奖励的金额,该抽奖池中的奖项为 {10,5,20,50,100,200,500,800,2,80,300,700};创建两个抽奖箱(线程)设置线程名称分别为 抽奖箱1, 抽奖箱2随机从抽奖池中获取奖项元素并打印在控制台上,格式如下:在此次抽奖过程中抽奖箱1总共产生了6个奖项分别为10,20,100,500,2,300最高奖项为300元总计额为932元在此次抽奖过程中抽奖箱2总共产生了6个奖项分别为5,50,200,800,80,700最高奖项为800元总计额为1835元在此次抽奖过程中,抽奖箱2中产生了最大奖项,该奖项金额为800元核心逻辑获取线程抽奖的最大值看成是线程运行的结果以上打印效果只是数据模拟,实际代码运行的效果会有差异*///创建奖池ArrayListInteger list new ArrayList();Collections.addAll(list,10,5,20,50,100,200,500,800,2,80,300,700);//创建多线程要运行的参数对象MyCallable mc new MyCallable(list);//创建多线程运行结果的管理者对象//线程一FutureTaskInteger ft1 new FutureTask(mc);//线程二FutureTaskInteger ft2 new FutureTask(mc);//创建线程对象Thread t1 new Thread(ft1);Thread t2 new Thread(ft2);//设置名字t1.setName(抽奖箱1);t2.setName(抽奖箱2);//开启线程t1.start();t2.start();Integer max1 ft1.get();Integer max2 ft2.get();System.out.println(max1);System.out.println(max2);//在此次抽奖过程中,抽奖箱2中产生了最大奖项,该奖项金额为800元if(max1 null){System.out.println(在此次抽奖过程中,抽奖箱2中产生了最大奖项,该奖项金额为max2元);}else if(max2 null){System.out.println(在此次抽奖过程中,抽奖箱1中产生了最大奖项,该奖项金额为max1元);}else if(max1 max2){System.out.println(在此次抽奖过程中,抽奖箱1中产生了最大奖项,该奖项金额为max1元);}else if(max1 max2){System.out.println(在此次抽奖过程中,抽奖箱2中产生了最大奖项,该奖项金额为max2元);}else{System.out.println(两者的最大奖项是一样的);}} }
http://www.hkea.cn/news/14438327/

相关文章:

  • 十堰建网站wordpress悬浮
  • 河北公司网站建设效果企业画册印刷
  • 手机最全的网站珠海seo海网站建设
  • 发稿平台seo搜索优化怎么做
  • 织梦做的网站打包在dw修改邯郸市住房和城乡建设网站
  • 中国电力建设集团股份有限公司网站个人如何注册微信公众号怎么创建
  • 北京网站建设备案矢量网站动画怎么做
  • 个体户 建设网站网站代理加盟赚钱吗
  • 怎么做简单的网站首页品牌logo图片设计制作
  • 吴中区做网站linux运维是必死之路
  • 如何快速更新网站快照免费建建网站
  • 做企业网站排名优化要多少钱襄阳电商网站建设
  • 挂机宝做网站站酷网官网进入
  • 网站建设丶金手指下拉13服务质量好的外贸营销系统
  • 网站备案名称规定wordpress后台登陆模板
  • 网站建设完提交百度建设银行福州分行招聘网站
  • 2017wordpress整站源码网站用视频做背景音乐
  • wordpress站点标题是什么建设网站花多少钱
  • 青海网站建设优化wordpress.org 建站
  • 网站建设 长摊 无形资产宣城网站建设费用
  • 服务器网站建设维护网站没备案或与实际备案不符
  • 佛山做外贸网站特色网站技术支持 新锐网络
  • 汕头网站设计定制长沙需要做网站的企业
  • 绵阳做seo网站公司大连市英文网站建设
  • 巴音郭楞库尔勒网站建设大丰网站建设找哪家好
  • 建设企业网站可信度西北旅游攻略
  • 展示型网站重点烟台网站建设询问企汇互联专业
  • 网站营销目标敦化建设局网站
  • layui做移动网站网站解决方案
  • 电商网站构建网站开发需要逻辑吗