锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
涓撳鐐硅瘎錛?/font>浠庢渶榪戝嚑騫村氨涓氭儏鍐墊潵鐪嬶紝鐢變簬鍥藉唴涓昏榪樻槸澶栧寘鏂歸潰闇瑕佸ぇ閲忕殑浜烘墠錛屾墍浠ワ紝Java鏈潵鍑犲勾鐨勫彂灞曡繕鏄緢濂界殑錛両BM銆丱racle絳夊ぇ鍏徃閮戒竴鐩村湪鍋氳繖鏂歸潰鐨勭浉鍏充駭鍝侊紝浠ュ強Java寮婧愯繍鍔紝Java榪樺睘浜庨潚澹勾鏈熴傚彧瑕佸濂戒簡Java錛屽緟閬囧簲璇ヤ笉鏄棶棰橈紒鑰屼笖錛屾嵁鎴戜滑浜嗚В錛屼竴浜涘ぇ鍏徃姝e湪灝嗗師鏉++鐨勭郴緇燂紝寰Java涓婇潰杞紒姣斿錛氬崕涓猴紝璇哄熀浜氳タ闂ㄥ瓙絳?/font> 緋葷粺鎻愮ず濂藉儚鏄湪娉ㄥ唽琛ㄤ腑鎵懼埌鐨勬槸java1.3,鑰岃繖涓猨ava.exe銆傛槸java1.4銆傚ソ鍍忔壘鍒伴棶棰樼殑鎵鍦ㄤ簡錛屼簬鏄紝榪涘叆娉ㄥ唽琛ㄣ傛煡鎵懼埌錛欽ava Runtime Environment 2.鍙﹀涓縐嶆儏鍐靛氨鏄痚clipse鍊懼姩鎶ラ敊,鐪媗og鏂囦歡璇?javax鐨刾arexml綾繪湁闂,璇ュ師鍥犱竴鑸槸鍥犱負瀹夎浜唎racle9i,瀹冨湪緋葷粺鍙橀噺鐨刾ath璺緞涓姞鍏ヤ簡jre1.3鐨勮礬寰?鎶婂畠鍒犻櫎鍗沖彲鍚姩eclipse,榪欎富瑕佹槸鍥犱負eclipse浣跨敤鐨刯dk.1.4浠ヤ笂鐨勭増鏈?鑰?.4瀵?.3鍋氫簡寰堝ぇ鐨勪慨鏀?鎵浠ユ壘涓嶅埌閭d釜綾? 濡備綍瑙e喅榪欎簺闂鍛紵鏈夎瘑涔嬪+鏃╁凡寮濮嬫濊冿紝闇瑕佸緩绔嬩竴縐嶆櫘閬嶈鍚岀殑鏍囧噯鏉ョ粨鏉熻繖縐嶆棤搴忓拰娣蜂貢銆傚晢涓氬叕鍙?Netscape銆丮icrosoft絳?涔熺粓浜庤璇嗗埌緇熶竴鏍囧噯鐨勫ソ澶勶紝鍥犳鍦╓3C錛圵3C.org錛夌殑緇勭粐涓嬶紝緗戠珯鏍囧噯寮濮嬭寤虹珛錛?998騫?鏈?0鏃ュ彂甯僗ML1.0涓烘爣蹇楋級錛屽茍鍦ㄧ綉绔欐爣鍑嗙粍緇囷紙webstandards.org錛夌殑鐫d績涓嬫帹騫挎墽琛屻?/p>
綆鍗曡錛岀綉绔欐爣鍑嗙殑鐩殑灝辨槸錛?/p>
瀵逛簬緗戠珯璁捐鍜屽紑鍙戜漢鍛樻潵璇達紝閬靛驚緗戠珯鏍囧噯灝辨槸浣跨敤鏍囧噯錛涘浜庝綘鐨勭綉绔欑敤鎴鋒潵璇達紝緗戠珯鏍囧噯灝辨槸鏈浣充綋楠屻?/p>
瀵圭綉绔欐祻瑙堣呯殑濂藉錛?/p>
瀵圭綉绔欐墍鏈夎呯殑濂藉錛?/p>
榪欐牱鎵嶈兘浣胯嚜宸辯殑緗戠珯涓嶈繃鏃訛紒錛侊紒錛侊紒錛?br>鎵撶牬“99%鐨勭綉绔欓兘璇ヨ娣樻卑”錛侊紒錛?/p>
璁$畻鏈虹瀛︾殑鍙茶瘲 瀛︿範璁ㄨ緗戦〉 濡傛灉浣犺涓轟綘鏄竴鍚嶇湡姝d紭縐鐨勭▼搴忓憳……璇?span lang=EN-US>Knuth鐨勩婅綆楁満紼嬪簭璁捐鑹烘湳銆嬶紝濡傛灉浣犺兘璇繪噦鏁村涔︾殑璇濓紝璇風粰鎴戝彂涓浠戒綘鐨勭畝鍘嗐?span lang=EN-US>--Bill Gates 榪欐槸涓濂楅泦鎵鏈夊熀紜綆楁硶涔嬪ぇ鎴愮殑緇忓吀涔嬩綔銆傚綋浠婅蔣浠跺紑鍙戜漢鍛樻墍鎺屾彙鐨勭粷澶у鏁拌綆楁満紼嬪簭璁捐鐨勭煡璇嗛兘鏉ユ簮浜庢銆?span lang=EN-US>--Byte 浠栫殑涓婚〉 http://www-cs-faculty.stanford.edu/~knuth/taocp.html At the end of 1999, these books (The Art of Comupter Programming) were named among the best twelve scientific monographs of the century by American Scientist, along with: Dirac on quantum mechanics, Einstein on relativity, Mandelbrot on fractals, Pauling on the chemical bond, Russell and Whitehead on foundations of mathematics, von Neumann and Morgenstern on game theory, Wiener on cybernetics, Woodward and Hoffmann on orbital symmetry, Feynman on quantum electrodynamics, Smith on the search for structure, and Einstein's collected papers. 銆 涓嬭澆榪欏涔︾殑絎竴鍜岀涓夊唽涓枃鐗?/span> (闃呰璇ヤ功浣跨敤鐨勮蔣浠朵笅杞?/span>. 璇ュ唴瀹規潵婧愪簬緗戠粶錛屼粎渚涘弬鑰冨涔?span lang=EN-US>.濡傛湁鐢ㄤ簬鍟嗕笟鐩殑錛屽悗鏋滆嚜璐燂紱濡傛湁鐗堟潈鍐茬獊錛屾潵淇″憡鐭ワ紝涓瀹氬垹闄?span lang=EN-US>. 鍐嶆澹版槑錛岃涔︽潵鑷綉涓婂叾浠栦功綾嶄笅杞界被绔欑偣錛屽浘涔︾増鏉冨綊鍘熶綔鑰呭拰鐢靛瓙涔﹀埗浣滆呮墍鏈夈傝鎮ㄩ瑙堣涔﹀悗錛屽湪24灝忔椂鍐呬粠璁$畻鏈轟笂灝嗚涔﹀垹闄ゃ?span lang=EN-US>) 涓嬭澆榪欏涔︾殑絎簩鍐岃嫳鏂囩増 錛堣鍐呭鏉ユ簮浜庣綉緇滐紝浠呬緵鍙傝冨涔?span lang=EN-US>.濡傛湁鐢ㄤ簬鍟嗕笟鐩殑錛屽悗鏋滆嚜璐燂紱濡傛湁鐗堟潈鍐茬獊錛屾潵淇″憡鐭ワ紝涓瀹氬垹闄?span lang=EN-US>. 鍐嶆澹版槑錛岃涔︽潵鑷綉涓婂叾浠栦功綾嶄笅杞界被绔欑偣錛屽浘涔︾増鏉冨綊鍘熶綔鑰呭拰鐢靛瓙涔﹀埗浣滆呮墍鏈夈傝鎮ㄩ瑙堣涔﹀悗錛屽湪24灝忔椂鍐呬粠璁$畻鏈轟笂灝嗚涔﹀垹闄ゃ?span lang=EN-US>) knuth 鍏堢敓鐨?lt;< 鍏蜂綋鏁板>> 涓嬭澆(TAOCP 鐨勬暟瀛﹀熀紜) 鏈功鑷涓鐗堝嚭鐗堜互鏉ワ紝宸茬粡鎴愪負涓栫晫鑼冨洿鍐呭箍娉涗嬌鐢ㄧ殑澶у鏁欐潗鍜屼笓涓氫漢鍛樼殑鏍囧噯鍙傝冩墜鍐屻傛湰涔﹀叏闈㈣榪頒簡綆楁硶鐨勫唴瀹癸紝浠庝竴瀹氭繁搴︿笂娑電洊浜嗙畻娉曠殑璇稿鏂歸潰錛屽悓鏃跺叾璁叉巿鍜屽垎鏋愭柟娉曞張鍏奸【浜嗗悇涓眰嬈¤鑰呯殑鎺ュ彈鑳藉姏銆傚悇绔犲唴瀹硅嚜鎴愪綋緋伙紝鍙綔涓虹嫭绔嬪崟鍏冨涔犮傛墍鏈夌畻娉曢兘鐢ㄨ嫳鏂囧拰浼爜鎻忚堪錛屼嬌鍏峰鍒濇緙栫▼緇忛獙鐨勪漢涔熷彲璇繪噦銆傚叏涔﹁瑙i氫織鏄撴噦錛屼笖涓嶅け娣卞害鍜屾暟瀛︿笂鐨勪弗璋ㄦс?/span> Topics covered: Overview of algorithms (including algorithms as a technology); designing and analyzing algorithms; asymptotic notation; recurrences and recursion; probabilistic analysis and randomized algorithms; heapsort algorithms; priority queues; quicksort algorithms; linear time sorting (including radix and bucket sort); medians and order statistics (including minimum and maximum); introduction to data structures (stacks, queues, linked lists, and rooted trees); hash tables (including hash functions); binary search trees; red-black trees; augmenting data structures for custom applications; dynamic programming explained (including assembly-line scheduling, matrix-chain multiplication, and optimal binary search trees); greedy algorithms (including Huffman codes and task-scheduling problems); amortized analysis (the accounting and potential methods); advanced data structures (including B-trees, binomial and Fibonacci heaps, representing disjoint sets in data structures); graph algorithms (representing graphs, minimum spanning trees, single-source shortest paths, all-pairs shortest paths, and maximum flow algorithms); sorting networks; matrix operations; linear programming (standard and slack forms); polynomials and the Fast Fourier Transformation (FFT); number theoretic algorithms (including greatest common divisor, modular arithmetic, the Chinese remainder theorem, RSA public-key encryption, primality testing, integer factorization); string matching; computational geometry (including finding the convex hull); NP-completeness (including sample real-world NP-complete problems and their insolvability); approximation algorithms for NP-complete problems (including the traveling salesman problem); reference sections for summations and other mathematical notation, sets, relations, functions, graphs and trees, as well as counting and probability backgrounder (plus geometric and binomial distributions). 銆 璇瘋浣忥細綆楁硶瀵艱 鏄湰鏁欐潗 鑰?span lang=EN-US> TAOCP 鏄湰鍙茶瘲銆?/span>
1銆佷紒涓氱駭搴旂敤寮鍙?/strong>
榪欓噷鏄疛AVA鐨勫ぉ鍦幫紝澶у埌鍏ㄥ浗鑱旂綉鐨勭郴緇燂紝灝忓埌涓皬浼佷笟鐨勫簲鐢ㄨВ鍐蟲柟妗堬紝JAVA閮藉崰鏈夋瀬涓洪噸瑕佺殑鍦頒綅銆?/p>
2銆佺綉绔欏紑鍙?/strong>
褰撶劧灝辨槸JSP+Servlet+JavaBean錛屼互鍙婂悗鏉ョ殑Struts錛孲pring錛孒ibernate/IBatis絳夛紝涓鐩翠互鏉ラ兘鐩稿綋嫻佽
3銆佺Щ鍔ㄩ鍩?/strong>
鍏稿瀷鐨勫簲鐢ㄦ槸鎵嬫満娓告垙錛堝浗鍐呬富瑕佹槸榪欐柟闈級錛岃繖閲屾槸J2ME鐨勫ぉ鍦幫紝鍏跺疄搴旂敤鑼冨洿鏄緢騫跨殑錛屽彧鏄浗鍐呭紑鍙戜笉澶熴?/p>
JAVA宸叉垚涓哄綋浠婂競闈笂鏈鍙楁榪庣殑緙栫▼杞歡錛屽浜庡浜庝俊鎭珮閫熷彂杈劇殑浠婂ぉ錛孞AVA鎶鏈凡緇忔棤澶勪笉鍦紝鎵嬫満杞歡銆佹墜鏈篔AVA娓告垙銆佺數鑴戣蔣浠剁瓑絳夈傚彲浠ヨ繖鏍瘋錛屽彧瑕佷綘浣跨敤鎵嬫満銆佺數鑴戠瓑鐢靛瓙浜у搧錛屼綘灝變細鐢ㄥ埌璺烰AVA鏈夊叧鐨勪笢瑗褲?/p>
]]>
]]>
C:\WINDOWS\system32>java
Registry key 'Software\JavaSoft\Java Runtime Environment\CurrentVersion'
has value '1.3', but '1.4' is required.
Error: could not find java.dll
Error: could not find Java 2 Runtime Environment.
鐪嬪埌浜嗕粬涓嬮潰鍗村疄鏈夊ソ澶氱殑jdk鐗堟湰銆傚寘鎷琷b7甯︾殑1.3銆傝繕鏈塲b9甯︾殑1.4.1銆傝繕鏈夋垜鍒氳鐨刯dk1.4.2銆傞兘鍦紝鑰岀湅鍒?br>CurrentVersion鐨勫肩珶鐒舵槸1.3銆傝姝伙紝浜庢槸鏀規垚1.4銆備繚瀛樸傚湪鍛戒護琛岀殑C:\WINDOWS\system32涓嬭繍琛宩ava銆傛垚鍔熶簡銆?br> 浜庢槸鎵撳紑eclipse銆俹k銆備竴鍒囨垚鍔熴傜粓浜庣湅鍒頒簡閭d釜鏈熸湜鐨勭晫闈€?br>榪欎釜闂鍙兘鏄痡b7鐨勮嚜甯dk1.3鎵閫犳垚鐨勩傜湅鏉clipse瀵繪壘鐨刯dk涓嶆槸緋葷粺鐜鍙橀噺涓殑java_home銆傝屾槸system32涓嬬殑java铏氭嫙鏈恒備篃灝辨槸
娉ㄥ唽琛ㄤ腑鐨勯偅涓狫ava Runtime Environment\CurrentVersio銆傝繖嬈$粓浜庝粠鏍規湰涓婅В鍐充簡榪欎釜鎭肩伀鐨勯棶棰樸傞珮鍏淬?/p>
鎬諱箣錛屼粩緇嗘煡鐪嬬郴緇熷彉閲忎腑path鐨勫煎氨鐭ラ亾鏄粈涔堝師鍥狅紒
]]>
閲囩敤緗戠珯鏍囧噯鐨勫ソ澶?/h4>
]]>
eg錛?br> 1. 娌℃湁null reference銆?
2. reference蹇呴』鏈夊垵鍊箋?
3. 浣跨敤reference瑕佹瘮浣跨敤鎸囬拡鏁堢巼楂樸傚洜涓簉eference涓嶉渶瑕佹祴璇曞叾鏈夋晥鎬с?
4. 鎸囬拡鍙互閲嶆柊璧嬪鹼紝鑰宺eference鎬繪槸鎸囧悜瀹冩渶鍒濊幏寰楃殑瀵硅薄
(鍙傦細http://dev.csdn.net/article/17/17286.shtm )
]]>
•Struts鐨勫叿浣撳疄鐜版ā寮忔湁錛?br>•鍓嶇鎺у埗鍣紙FrontController錛?br>•搴旂敤鎺у埗鍣紙ApplicationController錛?br>•鍛戒護澶勭悊鍣紙CommandProcessor錛?br>•瑙嗗浘澶勭悊鍣紙ViewHandler錛?br>
View鎶鏈?妗嗘灦)
•HTML/XHTML
•JSP
•XSL
•Excel/PDF
•Flash
•Xforms
•Template
•Velocity
•Freemaker
•Webmacro
•Layout
•Sitemesh
•Tiles
鎺у埗鍣ㄦ鏋訛紙Web妗嗘灦錛?br>•Struts
•JSF
•WebWork
•Tapstry
•Cocoon
•SpringMVC
•ADF
•Flex
•Laszlo
Model妗嗘灦
•(POJO錛?
•SpringIoCContainer
•Someothercontainer
•EJB
•ADF
Persistence妗嗘灦
•JDBC
•Hibernate
•iBATIS
•JDO
•Cayenne
•MrPersister
•OJB
•EJB
•TOPLINK
]]>
The Art of Computer Programming(TAOCP)
Donald.E.Knuth( 鍞愮撼寰?span lang=EN-US>.E.鍏嬪姫鐗癸紝涓枃鍚嶉珮寰風撼)鏄畻娉曞拰紼嬪簭璁捐鎶鏈殑鍏堥┍鑰咃紝鏄綆楁満鎺掔増緋葷粺TEX鍜?span lang=EN-US>METAFONT鐨勫彂鏄庤咃紝浠栧洜榪欎簺鎴愬氨鍜屽ぇ閲忓垱閫犳х殑褰卞搷娣辮繙鐨勮憲浣?span lang=EN-US>(19閮ㄤ功鍜?span lang=EN-US>160綃囪鏂?span lang=EN-US>)鑰岃獕婊″叏鐞冦備綔涓烘柉鍧︾澶у璁$畻鏈虹▼搴忚璁¤壓鏈殑鑽h獕閫浼戞暀鎺堬紝浠栧綋鍓嶆鍏ㄧ璐敞浜庡畬鎴愬叾鍏充簬璁$畻鏈虹瀛︾殑鍙茶瘲鎬х殑涓冨嵎闆嗐傝繖涓浼熷ぇ宸ョ▼鍦?span lang=EN-US>1962騫翠粬榪樻槸鍔犲埄紱忓凹浜氱悊宸ュ闄㈢殑鐮旂┒鐢熸椂灝卞紑濮嬩簡銆?span lang=EN-US>
Knuth鏁欐巿鑾峰緱浜嗚澶氬欏瑰拰鑽h獕錛屽寘鎷編鍥借綆楁満鍗忎細鍥劇伒濂?/strong>(ACM Turing Award)錛岀編鍥藉墠鎬葷粺鍗$壒鎺堜簣鐨勭瀛﹂噾濂?span lang=EN-US>(Medal of Science)錛岀編鍥芥暟瀛﹀浼氭柉钂傚皵濂?span lang=EN-US>(AMS Steele Prize)錛屼互鍙?span lang=EN-US>1996騫?span lang=EN-US>11鏈堢敱浜庡彂鏄庡厛榪涙妧鏈崳鑾風殑鏋佸彈灝婇噸鐨勪含閮藉(KyotoPrize)銆傜幇涓庡叾濡?span lang=EN-US>Jill鐢熸椿浜庢柉鍧︾鏍″洯鍐呫?span lang=EN-US>
Introduction to Algorithms錛?span lang=EN-US>CLRS錛?/font>
瀛︿範鍜岃璁虹綉欏?/font>
]]>
涓ょ涓嶅悓鏂規硶鐨勫疄鐜幫細
閴翠簬緗戝弸鐨勭殑鎸囧嚭錛屾垜閲嶆柊璁ょ湡鐮旂┒浜嗕竴涓嬪洓鑸嶄簲鍏ワ紝鏈緇堢粰鍑烘紜В娉曞涓嬶細
import java.math.BigDecimal;
import java.text.DecimalFormat;
/**
* 鏈緥閫氳繃瀵圭綉涓婂嚑縐嶅彇鍥涜垗浜斿叆鐨勭爺絀訛紝榪涜浜嗕竴涓嫻嬭瘯銆傛渶緇堥氳繃瀹為獙鍜岀悊璁哄緱鍑簉ound4涓哄敮涓姝g‘鐨勭畻娉曘?br />
* 2008/10/13
*
* @author jamezhan
*
*/
public class RoundTest {
public static double round1(double v, int scale) {
if (scale < 0)
return v;
String temp = "#####0.";
for (int i = 0; i < scale; i++) {
temp += "0";
}
return Double.valueOf(new java.text.DecimalFormat(temp).format(v));
}
/**
* 璇ョ畻娉曚細鍑虹幇涓棿榪愮畻鍚庣粨鏋滆秴榪嘍ouble.MAX_VALUE錛屾墍浠ヤ笉鎺ㄨ崘浣跨敤
* @param d
* @param scale
* @return
* @throws Exception
*/
public static double round2(double d, int scale) throws Exception {
if (scale < 0)
return d;
long temp = 1;
for (int i = scale; i > 0; i--) {
temp *= 10;
}
if (Math.abs(d * temp) > Double.MAX_VALUE)
throw new Exception("data is too big or too small");
d *= temp;
long dl = Math.round(d);
return (double) (dl) / temp;
}
public static double round3(double v, int scale) {
BigDecimal value = new BigDecimal(v);
float actualTax = value.setScale(scale, BigDecimal.ROUND_HALF_UP).floatValue();
return actualTax;
}
public static double round4(double v,int scale)
{
if(scale<0){
throw new IllegalArgumentException("The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
}
public static void testRound1(double d, int scale) {
System.out.println("==========================");
System.out.println("data:"+ d + "; scale:"+scale);
double a = round1(d, scale);
System.out.println(a);
DecimalFormat df = new DecimalFormat();
System.out.println("formatted:"+df.format(a));
}
public static void testRound2(double d, int scale) {
try {
System.out.println("==========================");
System.out.println("data:"+ d + "; scale:"+scale);
double a = round2(d, scale);
System.out.println(a);
DecimalFormat df = new DecimalFormat();
System.out.println("formatted:"+df.format(a));
} catch (Exception e) {
System.err.println( e.getMessage() );
}
}
public static void testRound3(double d, int scale) {
try {
System.out.println("==========================");
System.out.println("data:"+ d + "; scale:"+scale);
double a = round3(d, scale);
System.out.println(a);
DecimalFormat df = new DecimalFormat();
System.out.println("formatted:"+df.format(a));
} catch (Exception e) {
System.err.println( e.getMessage() );
}
}
public static void testRound4(double d, int scale) {
try {
System.out.println("==========================");
System.out.println("data:"+ d + "; scale:"+scale);
double a = round4(d, scale);
System.out.println(a);
DecimalFormat df = new DecimalFormat();
System.out.println("formatted:"+df.format(a));
} catch (Exception e) {
System.err.println( e.getMessage() );
}
}
public static void main(String[] args) throws Exception {
System.out.println("****************************** Test round1 ******************************");
testRound1(Double.MAX_VALUE,2);
testRound1(1.264,2);
testRound1(-1.264,2);
testRound1(1.265,2);//wrong result
testRound1(-1.265,2);//wrong result
testRound1(1.266,2);
testRound1(-1.266,2);
testRound1(10224948.265,2);//wrong result
testRound1(-10224948.265,2);//wrong result
testRound1(-Double.MAX_VALUE, 2);
System.out.println("****************************** Test round2 ******************************");
testRound2(Double.MAX_VALUE,2);
testRound2(1.264,2);
testRound2(-1.264,2);
testRound2(1.265,2);//wrong result (java琛ㄧず灝忔暟0.1鐨勯棶棰樺鑷寸殑 1.265琛ㄧず涓?.2599999904632568)
testRound2(-1.265,2);//wrong result (鐢變簬round綆楁硶鏄厛鍔?.5鍐嶈繍綆楋紝鎵浠涓鴻礋鏁版椂涓旀渶鍚庝竴浣嶅皬鏁頒負5鏃剁粨鏋滄槸涓嶆紜殑)
testRound2(1.266,2);
testRound2(-1.266,2);
testRound2(10224948.265,2);
testRound2(-10224948.265,2);//wrong result
testRound2(-Double.MAX_VALUE, 2);
System.out.println("****************************** Test round3 ******************************");
testRound3(Double.MAX_VALUE,2);//wrong result
testRound3(1.264,2);
testRound3(-1.264,2);
testRound3(1.265,2);
testRound3(-1.265,2);
testRound3(1.266,2);
testRound3(-1.266,2);
testRound3(10224948.265,2);//wrong result
testRound3(-10224948.265,2);//wrong result
testRound3(-Double.MAX_VALUE, 2);//wrong result
System.out.println("****************************** Test round4 ******************************");
testRound4(Double.MAX_VALUE,2);
testRound4(1.264,2);
testRound4(-1.264,2);
testRound4(1.265,2);
testRound4(-1.265,2);
testRound4(1.266,2);
testRound4(-1.266,2);
testRound4(10224948.265,2);
testRound4(-10224948.265,2);
testRound4(-Double.MAX_VALUE, 2);
}
}