Java基础编程题(7.31)
来源:互联网 发布:php session用法 编辑:程序博客网 时间:2024/06/05 02:44
- 目录
- 总结
- 第一道 支付问题
- 第二道 龟兔赛跑
目录
总结
这段时间由于上夜班没有生物钟调整过来,在加上自己比较懒,所以就没有写博客,前两天去上课做了几道编程题,由于没有按时完成,后来剩下的一道也由于我较懒所以没写,因此就把我写的两道题写出来吧!
第一道 支付问题
利用面向对象的思想实现一套代码,要求一个APP支持微信支付,支付宝支付,银联支付,以后甚至更多的支付方式。支付通常包含鉴权(authorization)、支付订单生成(generateBill)、最后确认支付(pay)过程。
实现代码设计和代码如下:
//pay.javapackage com.Dinkben.pay;//编写一个接口,定义authorization,generateBill,pay方法public interface Pay { public abstract void authorization(); public abstract void generateBill(); public abstract void payProcess();}
//AliPay.javapackage com.Dinkben.pay;//支付宝支付public class AliPay implements Pay { @Override public void authorization() { System.out.println("请授予支付宝支付权限"); } @Override public void generateBill() { System.out.println("已生成账单"); } @Override public void payProcess() { System.out.println("支付已确认"); }}
//UnionPay.javapackage com.Dinkben.pay;//银联支付public class UnionPay implements Pay { @Override public void authorization() { System.out.println("请授予银联支付权限"); } @Override public void generateBill() { System.out.println("已生成账单"); } @Override public void payProcess() { System.out.println("支付已确认"); }}
//WechatPay.javapackage com.Dinkben.pay;//微信支付public class WechatPay implements Pay { public void authorization() { System.out.println("请授予微信支付权限"); } @Override public void generateBill() { System.out.println("已生成账单"); } @Override public void payProcess() { System.out.println("支付已确认"); }}
//SelectPay.javapackage com.Dinkben.pay;//选择哪一种支付方式import java.util.Scanner;public class SelectPay { public SelectPay() { System.out .println("Please enter you choise:Alipay,Unionpay or Wechatpay?"); Scanner scanner = new Scanner(System.in); String string = scanner.next(); switch (string) { case "Alipay": AliPay aliPay = new AliPay(); aliPay.authorization(); break; case "Unionpay": UnionPay unionPay=new UnionPay(); unionPay.authorization(); break; case "Wechatpay": WechatPay wechatPay=new WechatPay(); wechatPay.authorization(); break; default: break; } }}
//PayOnline.javapackage com.Dinkben.pay;//在线支付,选择其中一种方式public class PayOnline { public static void main(String[] args) { SelectPay selectPay=new SelectPay(); }}
结果:
第二道 龟兔赛跑
龟兔赛跑的故事大家都听过,请采用线程的知识,编写代码作比较。 具体要求如下: 1、乌龟和兔子各自一个线程。 2、乌龟每步跑1厘米,兔子每步跳100厘米。 3、兔子每跑到第100步的时候,会休息0.001秒; 4、问:50000厘米比赛谁获胜?
//RabbitThread.javapackage com.Dinkben.Thread;public class RabbitThread extends Thread { int rab_step = 0; long startTime = System.currentTimeMillis(); private String str; private int journey; public RabbitThread(int journey) { this.journey = journey; } @Override public void run() { for (int i = 0; i < journey; i++) { journey = journey - 100; ++rab_step; if (rab_step % 100 == 0) { try { Thread.sleep(1); } catch (InterruptedException ex) { } } } str = "兔子总用时(毫秒):" + (System.currentTimeMillis() - startTime); System.out.println(str); }}
//TortoiseThread.javapackage com.Dinkben.Thread;public class TortoiseThread extends Thread{ long startTime = System.currentTimeMillis(); private String str; private int journey; public TortoiseThread(int journey) { this.journey = journey; } @Override public void run() { for (int i = 0; i <journey; i++) { } str = "乌龟总用时(毫秒 ):"+(System.currentTimeMillis()-startTime) ; System.out.println(str); }}
//ThreadTest.javapackage com.Dinkben.Thread;public class ThreadTest { public static void main(String[] args) { RabbitThread r=new RabbitThread(50000); TortoiseThread t=new TortoiseThread(50000); r.start(); t.start(); }}
結果:
0 0
- Java基础编程题(7.31)
- java基础编程题
- Java基础编程题
- java基础经典编程题
- Java基础编程笔试题
- java 典型基础编程题
- Java基础_02_Java编程基础
- JAVA编程基础算法50题
- java基础编程题(1)
- Java基础编程1-18题
- 50道Java编程基础题
- java基础面试题及编程题
- Java基础编程50题(上)
- Java基础编程50题(下)
- Java基础编程题(API阶段测试)
- JAVA基础编程题(1)
- Java基础编程题(2)
- java编程基础
- 7. PHP接入支付宝有密批量转款接口
- POJ 1860 Currency Exchange Bellman判断正环
- 与Service交互的三种方式
- php之从数据库中获取数据实例
- ios性能优化一
- Java基础编程题(7.31)
- 数据结构实验之栈三:后缀式求值
- Linux系统的shell命令--基础篇
- NOJ 1642 湖南省赛
- Attempt to invoke virtual method 'void android.app.ActionBar.hide()' on a null object reference
- poj3267The Cow Lexicon(简单dp 虽然我并不是很会)
- 任意进制的转换
- HDU 1863 畅通工程(最小生成树)
- Apache Kylin 大数据时代的OLAP利器