易截截图软件、单文件、免安装、纯绿色、仅160KB

Java ME中的Math.pow()方法使用详解

使用 Java 开发移动设备应用程序时,可能需要用到特定 Java VM 所没有的数学方法。本文将专门解决 Java ME 没有“幂”方法 Math.pow() 的问题。我们将演示使用三种不同的方法开发同一个 ME 应用程序,并从中选出最佳的编程解决方案。
要讨论此问题,我们先考察整数和分数幂参数,将我们的分析限于正实数。我们将演示求整数问题和小数问题的解集相对而言比较容易(而不考虑指数的符号)。在大多数情况下,我们将使用示例问题 n = 82/3,其中我们会求出 n 的良好估计或实际解。如果初始指数事先不可用,则此问题的其他解(包括牛顿法和割线法)不易编程。虽然二分法是可行的解决方案,但我们将关注传统上不为人所探究的三个方法。第一个是简单的(不过有时效率低下)几何衰变算法;而第二个方法将利用 Math.sqrt() 方法并保证在不超过 11 次迭代中收敛到一个近似解。第三个方法将使用泰勒级数逼近法求对数并对泰勒级数进行欧拉转换。
产生整数解的 ME Math.pow() 方法
传统上,Java Math.pow() 方法包含两个参数。这两个参数包括底数和指数。我们假定(最初)这两个参数均为整数,然后求出 ME 中与 Java 方法使用相同参数的 Math.pow() 方法的可编程解。此处,可编程解相当简单,如示例 1 所示。在本例中,我们仅运行以指数值为指标的倍乘循环。
示例 1
int pow( int x, int y) /*we define the power method with  base x and power y (i.e., x^y)*/ {  int z = x;  for( int i = 1; i < y; i++ )z *= x;  return }  
当然,有人可能会发现需要求出非整数幂的值。正实数的简单解(无需访问 Math.pow() 方法)可能涉及使用 Math.log()。例如,请考虑 82/3 的情况。利用 2/3*ln(8) = 1.386294361 中自然对数的结果。要得到最终解,需要利用指数 1.386294361(特别指出 e1.386294361 = 4)。在这种情况下,可能不需要使用幂函数。遗憾的是,Java ME 也不支持 Math.log() 方法。没有 Math.pow() 或 Math.log() 方法时,我们会考虑使用朴素的“强力”试探性方法,应用 Math.sqrt() 方法以及自然对数(和欧拉 e)的泰勒级数逼近来求得 Java ME 问题的解。
使用几何衰变算法作为强力解的 ME Math.pow()
Java ME 的早期实现包括


相关文档:

使用JAVA通过JXL(JExcel)动态生成Excel文件


 
上次談過了使用iText產生PDF檔,這次換成來談談使用JExcel來產生EXCEL檔的方法。
首先,先到他的SourceForge主頁面download相關的API檔案。
http://sourceforge.net/projects/jexcelapi/

http://www.andykhan ......

java parse excel

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRo ......

在Oracle下开发Java程序的经典问题解答

 
问题一:如保加载JDBC驱动程序:
 
正常我们加载驱动程序有三个途径:
 
1.Class.forName(String)这想当于classLoader一个String指定的类,在装载时把该驱动程序的静态内容都初始化,其实这时驱动程序类调用了DriverManager.registerDriver(driver)方法。
 
2.使用系统属性:System.getPro ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号