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

关于java中的数值计算

记得在csdn的某个帖子中提到计算阶乘的讨论,当时有很多人都提出了自己的算法,每个人都想的很周全。
这两天正好自己看到了相关的文章,那么总结整理一下,以供大家参考,也为了自己的知识总结。
在数学中,只有非负整数才有阶乘运算,意思就是说浮点数、负整数都不能进行计算,那么我们在考虑计算时,小于0的数字我们是不考虑计算的。在计算机中,整数的最大取值范围为long型,那么计算阶乘总有会超过计算机数值类型的有效范围。
如果我们考虑使用long作为返回类型,那么这是有范围的阶乘运算,代码可以如下:
//我的操作系统是32位的XP,可以计算20以内的阶乘
//阶乘计算的数值必须大于等于0,如果小于0不计算
//0的阶乘计算值为1
if ( n < 0 || n > 20 ) { //进行范围检查
        return -1;
} else if ( n == 0 ) {
       return 1;
} else {
      long result = 1;
      for ( ; n > 0 ; n -- ) {
             result *= n;
      }
      return result;
}
那么如果计算大的数值阶乘时,怎么算呢?
java中提供了相应的处理办法,采用BigInteger来计算,代码如下
if ( n < 0 ) {
      return new BigInteger("-1");
} else if ( n == 0 ) {
      return new BigInteger("1");
} else {
     BigInteger result = new BigInteger("1");
     for ( ; n > 0 ; n -- ) {
             result = result.multiply(new BigInteger(new Integer(n).toString());
     }
     return result;
}


相关文档:

Java synchronized

众所周知,在Java多线程编程中,一个非常重要的方面就是线程的同步问题。
关于线程的同步,一般有以下解决方法:

1.
在需要同步的方法的方法签名中加入synchronized关键字。

2.
使用synchronized块对需要进行同步的代码段进行同步。

3. 使用JDK
5中提供的java.util.concurrent.lock包中的Lock对象。 ......

How Java handles arguments of a class type.

=====suppose such a method:
public static void openFile(String fileName, PrintWriter stream) throws FileNotFoundException
{
   stream = new PrintWriter(fileName);
}
=====then we want to use it this way:
PrintWriter toFile = null;
try
{
   openFile("data.txt", t ......

在JAVA文件中获取该项目的相对路径

在JAVA文件中获取该项目的相对路径
1.基本概念的理解
  绝对路径:绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,(URL和物理路径)例如:
C:\xyz\test.txt 代表了test.txt文件的绝对路径。http://www.sun.com/index.htm也代表了一个
URL绝对路径。
  相对路径:相对与某个基准目录的路径。包含Web的 ......

JAVA框架


Struts、Hibernate和Spring的轻型J2EE架构的研究 
 
  
关键词 Struts,Hibernate,Spring,用户管理
一、特性
1. Struts与MVC
Struts是Apache Jakarta项目的组成部分。该项目的目标是为建立Java Web 应用程序而提供的一个开源
框架。通过使用Struts框架可以改进和提高Java Server Pages (JSP ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号