考试网 >> IT认证 >> JAVA >> JAVA指导 >> 关于Java 语言中的函数编程

关于Java 语言中的函数编程

发布时间:2006-06-28 11:10     点击:
分页:上一页  1 2 3 4 5 6 7 [8] 9 10  下一页  后10页

  表达式合成

  

  表达式合成是得到同样结果的一种稍有不同的技术。考虑计算特定 SETLItem 的净价问题,要考虑当前折扣和销售税率。清单 3 列出了这个问题基于仿函数的解决方式。

  

  清单 3. 表达式合成方法

  

  package com.infosys.setl.fp;

  import org.apache.commons.functor.BinaryFunction;

  import org.apache.commons.functor.UnaryFunction;

  import org.apache.commons.functor.adapter.LeftBoundFunction;

  public class Multiply implements BinaryFunction

  {

  public Object evaluate(Object left, Object right)

  {

  return new Double(((Double)left).doubleValue() * ((Double)right).doubleValue());

  }

  }

  

  package com.infosys.setl.fp;

  import org.apache.commons.functor.*;

  import org.apache.commons.functor.core.composite.*;

  import org.apache.commons.functor.adapter.*;

  import org.apache.commons.functor.UnaryFunction;

  public class TestB

  {

  public static void main(String[] args)

  {

  try

  {

  double discountRate = 0.1;

  double taxRate=0.33;

  SETLItem item = new SETLItem();

  item.setPrice(100);

  UnaryFunction calcDiscountedPrice =

  new RightBoundFunction(new Multiply(), new Double(1-discountRate));

  UnaryFunction calcTax =

  new RightBoundFunction(new Multiply(), new Double(1+taxRate));
分页:上一页  1 2 3 4 5 6 7 [8] 9 10  下一页  后10页
版权申明:未经书面授权请勿转载本站信息!!作品版权归所属媒体与作者所有!!
发表评论: 匿名发表 用户名: 查看评论
您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
留言板管理人员有权保留或删除其管辖留言中的任意内容
本站提醒:不要进行人身攻击。谢谢配合。
在本站搜索相关信息
2003-2005 Ksw123.com All Rights Reserved. - TOP
Copyright © 2006 Ksw123.com. All rights reserved.中国考题网 版权所有