java 浮點數精確計算

(1)、浮點數精確計算勝利油田三流合一項目中一直存在一個問題,就是每次報表統計的物資金額和實際的金額要差那麼幾分錢,和實際金額不一致,讓客戶覺得總是不那麼舒服,原因是因為我們使用java的浮點類型double來定義物資金額,並且在報表統計中我們經常要進行一些運算,但Java中浮點數(double、float)的計算是非精確計算,請看下面一個例子:   System.out.println(0.05 + 0.01);    System.out.println(1.0 - 0.42);   

java錯誤處理:java.lang.OutOfMemoryError: Java heap space

作者:小樓聽風雨原文網址:http://blog.vonno.com/33993/viewspace_12452007-04-16 17:50:57 / 個人分類:知識總結原因:使用Java程式從資料庫中查詢大量的資料時出現異常:java.lang.OutOfMemoryError: Java heap space 在JVM中如果98%的時間是用於GC且可用的 Heap size

JAVA裡浮點數從字串解析丟失精度問題

import java.text.DecimalFormat;/** * JAVA裡浮點數從字串解析丟失精度問題。 *  * @author 老紫竹 JAVA世紀網(java2000.net) *  */public class Test {  public static void main(String args[]) throws Exception {    DecimalFormat nf = new DecimalFormat("#.##");    double f =

java學習筆記之概要

將進階語言編寫的源檔案轉換為機器指令有兩種方式(1)編譯方式:針對當前處理器的類型,將原檔案全部翻譯成機器指令,成為目標程式,再將目標程式交由電腦執行。(2)解釋方式:根據當前的處理器晶片,邊解釋邊執行,解釋一句執行一句。綜上,進階電腦語言都需要編譯器和解譯器。java語言的處理介於上述兩者之間,它不針對當前的CPU晶片編譯,java提供的編譯器把源檔案編譯為一種中間代碼稱為位元組碼,這是一種很接近機器碼的檔案,可以在提供額JVM的任何機器上執行。當位元組碼載入到記憶體中時,再由java的解譯器

Thinking in Java [Java編程機制] 學習筆記 — final 關鍵字

文章目錄 final datafinal argumentsfinal methodsfinal classes final 關鍵字意義上是不可變更的,創造final關鍵字,原因有兩個1.為了設計design 2.為了效率 efficiency(書上很少提到這一部分,而且JRE 5以後編譯器對沒有final的效率做了很大提升)。final關鍵字可以加在data, arguments, method,

Thinking in Java [Java編程機制] 學習筆記 — List / ArrayList

常用操作集:contains() : find out whether an element is part of a listremove() : remove an object , take the reference of an object as parameter indexOf() : discover the index number where that object is located in the list *** these three methods above

《thinking in java》學習手記(四)

1、數組       數組與其它容器的區別在於:它可以持有privitive對象,效率高。       盡量先考慮使用數組。       數組的複製System.arrayCopy()。這個拷貝是淺拷貝(即對對象數組而言,拷貝的是reference數組。2、Arrays類       這個類有四個靜態方法:數組是否相等equals();填充數組fill();對數組進行排序sort();在一個已排序的數組中尋找數組binarySearch();此外還有一個asList()方法。3、數組元素的比較 

UsbStorageActivity.java

/* * Copyright (C) 2007 Google Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *

java實現的歸併排序詳解

歸併排序的基本原理為:一:拆分,假設有N個元素的列表,將這個列表拆分成2個或兩個以上元素組成的新的列表,然後分別對子列表進行排序二:歸併,把所有的排好序的子類表兩兩歸併,如此重複,直到歸併成一個含N個有序列表為止歸併排序其實和快速排序都是同一種思想的排序演算法,其採用的都是分治法的基本思想,即:將問題分解成一個個小的問題,分而治之。public class Mergesort {/* * leftPos左數組的第一個元素的下標 * leftEnd左數組的最後一個元素的下標 *

java中求一個字串中大小寫字母及非英文字母的個數

 //第一種思路://將字串中的每個字元取出,然後用迴圈對每一個字元進行比較,用三個個變數記錄相應的字元數   //第二種比較傻的思路:先定義出大小寫26個字母,然後根據索引來尋找 //第三種思路:利用Character封裝類的isLowerCase()和isUpperCase()方法:  總結:1.java很強大,封裝了一些常用的方法,在瞭解的基礎上,現成的當然省力。2.經常查java的Api文檔很重要,java的巨人。3.前兩種思路包含了很巧妙地思想,擴充思維有很大協助。在不瞭解java的情

使用java開發mapred時遇上的奇怪問題

1)錯誤碼:輸入檔案的key class 為LongWritable ,和Text 不匹配      錯誤原因:最初設定程式的輸入檔案為sequence file ,產生的測試資料 為 text file,而 text file 的key 為該行的位移量,為LongWritable2)錯誤碼:Text 不能轉化為 LongWritable      錯誤原因:在初始化mapred job時由於reduce的數量為0,所以只指定了map的輸出key和value的類型,並沒有指定

Java Socket 編程 Client

Android 需要加入網路許可權,否則會出現訪問被拒絕的情況。<uses-permission android:name="android.permission.INTERNET"></uses-permission>Client:import java.io.IOException;import java.net.*;import java.io.BufferedReader;import java.io.InputStream;import

java中參數傳遞的方式

今天在寫代碼的時候遇到了一個參數傳遞的問題,雖然我知道問題出現在哪裡,但是問題的原因似懂非懂,看了很久之前寫的一篇部落格,在網上搜尋了幾篇文章看了下,終於徹底弄懂了這個問題的原因,寫篇文章總結下。首先我們得明白幾個概念:按值傳遞,按引用傳遞,棧記憶體,堆記憶體的區別。一按值傳遞:按值傳遞傳遞的是數值,傳遞的時候會在記憶體中另開闢一塊空間來儲存這個數值,如:public static void main(String[] args){double a = 3.0;double b =

Java中的定時器.

 一,要定時執行的任務: package com.fpi; public class TimerTaskTest extends java.util.TimerTask { @Overridepublic void run() {System.out.println("start~~");}}二,執行這個任務:package com.fpi;import java.util.Timer;public class TimerTest {public static void main(String

【Java基礎】——之Final

我們都知道final這個關鍵字代表“不可修改”的意思,但是不同的“不能修改”有不同的含義。final必須顯示指定初始值,否則其值就為null。其賦值的過程都是放在靜態初始化塊內完成的(注意:他的優先順序高於成員變數在建構函式中賦值)。1.final的變數:通常final成員變數表明這個變數只能被賦值一次,而不是說他是靜態常量。比如說:final int i = 1;     此時i不可再改變再比如:final int i;    此時可以對i進行賦值,但是不可進行二次賦值i = 1;

【Java基礎】——IO:概念原理

Java

java parse xml file

public class ParseInfo {    private static final String LOG_PV_EVENT = "LogPvEvent";    private static final String STATUS = "Status";    public static boolean ParseInfo(XmlPullParser pullParser,            String namespace) throws

java產生隨機數

一.在j2se裡我們可以使用Math.random()方法來產生一個隨機數,這個產生的隨機數是0-1之間的一個double,我們可以把他乘以一定的數,比如說乘以100,他就是個100以內的隨機,這個在j2me中沒有。二.在java.util這個包裡面提供了一個Random的類,我們可以建立一個Random的對象來產生隨機數,他可以產生隨機整數、隨機float、隨機double,隨機long,這個也是我們在j2me的程式裡經常用的一個取隨機數的方法。三.在我們的System類中有一個current

android的Paint.java中幾個枚舉的定義和使用

android的Paint.java中幾個枚舉的定義和使用frameworks\base\graphics\java\android\graphics\Paint.java定義: /** * The Style specifies if the primitive being drawn is filled, * stroked, or both (in the same color). The default is FILL. */ public enum

java技巧04——Math工具

在java中有Math這個數學類它記載這很多程式將用到的數學方面的東東,比如兩個常量:Math.PI 記錄的圓周率Math.E 記錄e的常量Math中還有一些類似的常量,都是一些工程數學常用量。Math.abs 求絕對值Math.sin 正弦函數&nbsp;Math.asin 反正弦函數Math.cos 餘弦函數&nbsp;Math.acos 反餘弦函數Math.tan 正切函數&nbsp;Math.atan 反正切函數Math.atan2

總頁數: 4058 1 .... 825 826 827 828 829 .... 4058 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.