有朋友在群里問了這個問題,印象中Java沒有這方面的函數(百分數轉換為小數倒是有一個),而且直接乘以100會得出類似2.5999999999的結果,在網上也沒有搜到類似的解決方案,所以把我們的討論結果發上來,肯定不是最優解,也希望來訪者留下你們的解決辦法,只要能優化其中的某一段就可以!
private?String?convert(String?orignal)


{
????//去掉小數后面的零值,如:0.02500
????String?noDotInteger?=?Integer.parseInt????(str.replace('.',''))?+?"";//2500
????int?lengthOfZero?=?noDotInteger.length()?-?noDotInteger.indexOf("0");//2
????str?=?str.substring(0,?str.length()?-?lengthOfZero);//0.025?

????//轉換成百分數字符串
????int?index?=?orignal.indexOf('.');
????if(index?<?orignal.length()?-?2)

????
{
????return?orignal.substring(0,index)?+?orignal.substring(index?+?1,index?+?3)?+
?'.'?+?orignal.substring(index?+?3)?+?"%";
????}
????else

????
{
???????return?orignal.substring(0,index)?+?orignal.substring(index?+?1)?+?"%";
????}
}?

續:J2ME綜合技術討論群 的劉軍提出了他的解決方案:
import?java.math.BigDecimal;
public?class?Hello


{
????public?static?void?main(String?args[])

????
{
????????String?s?=?"0.025";
????????BigDecimal?bd?=?new?BigDecimal(s);
????????System.out.println(bd.multiply(new?BigDecimal(100)));?//輸出2.500
????}
}?山城浪子則說用java.text.DecimalFormat最好最方便!
如果服務器發來的字節流沒有作任何標記,只是在發完一次數據后flush(),則在客戶端可以用inputStream.available()來判斷流的長度,但一定要在調用read()至少一次之后,不然就只能得到零值。
如下代碼所示:
//將接收到的數據存到字節數組array
int?firstChar?=?inputStream.read();
int?length?=?inputStream.available();
byte[]?array?=?new?byte[length+1];
array[0]?=?(byte)firstChar;
inputStream.read(array,1,length);
去年十月從中科大面試回來就寫了一篇日志,詳細記錄了整個面試過程,由于某些原因一直沒能發布出來,現在就想總結幾點出來,給HIT的XDXM們一些參考。
1、要自信。面試中自信是最重要的。
面試時像跟老師拉家常似的,老朋友嗎,好久不見了,當然要聊久一點啦,^_^
2、去之前最好能復習一下數據結構、操作系統和編譯原理的基本概念,老師可能會提一些這方面的問題;把自己做過的項目整理一些資料出來,最好能弄幾張截圖。
3、坐火車來面試的前天晚上要盡量休息好,面試要顯得有精神,最好提前一天到,要不然上火車就趕緊補臥鋪票,我補遲了一點,結果到半夜1點多才換到臥鋪,好在睡了5個小時,精神還可以。
4、沒別的啦,推免程序的時間挺緊的,各個學校不一樣,一定要打聽好。
科大在接收推免的最后一天才收到我的申請,招生辦的老師打電話問我為什么寄這么遲,沒能到計算機系面試,有可能是這個原因。
工大9月30號才給發成績單和證明,我又在大連實習,每次都要同學幫忙,特快專遞也得兩天啊,kick!
最后補充一點,工大學生還是很強的,有保研機會的應該都能被中科大錄取,所以不要怕錄不上。
??????前天由于突然斷電,造成系統崩潰,啟動系統在Windows Server 2003滾動條出現時發生藍屏,提示
system32/config目錄下的software文件錯誤,無法啟動。
??????用安裝盤修復未果,以為
覆蓋安裝可以保留原有程序,所以重裝了系統,結果在安裝時也沒發現有覆蓋安裝保留原有系統的選項。裝完后程序都不能運行了,為了保留原有Oracle數據(Y的那幾天沒做備份),試著把整個Oracle文件夾(包括ora90, admin, oradata)備份下來,用
同樣路徑重裝Oracle和新建數據庫,數據庫設置和以前一樣。然后在“服務”里停掉所有以Oracle開頭的服務,我的包括OracleOraHome90Agent,OracleOraHome90HttpServer,OracleOraHome90TNSListener和OracleServiceSMS(SMS是我的數據庫名)。再把剛才的備份覆蓋到以前的目錄(jdk目錄里有些dll可能被使用,這個目錄可以不覆蓋),啟動剛才關閉的服務,打開
Enterprise Manager Console和
Net Manager,發現現在的數據庫和服務命名跟原來一模一樣(重裝操作系統時最好計算機名也跟以前一樣,不然還要改一下NetManager里
服務命名和
監聽程序的
主機名)。
??????不知道這種備份是不是叫
冷備份,反正是挺“冷”的,悄無聲息就備份過來了,呵呵,這種機制感覺挺好!
有越來越多的跡象表明Web2.0之類的東西漸漸深入網絡的各個角落,無論是Google Maps,Gmail,Flickr還是國內的163郵箱、365kit、豆瓣網,都把Ajax之類代表Web2.0的技術發揮得淋漓盡致,撇開他們用的技術不管,單從他們提高的用戶交互“流暢感”,就可以說是對Web技術的一次改革。
以前的Web應用從功能方面考慮的因素比較多,對提升用戶體驗度所做的工作很少,現在的Web2.0應用則從用戶的角度入手,把提升用戶體驗度當成第一目標。以前不喜歡搞Web開發,更不喜歡用JavaScript,感覺那些東東只能做些美化界面的活,做些動畫什么的,因為當初認為它只能在客戶端發揮作用,而現在JavaScript和異步傳輸結合,就把服務器的地盤也奪過來了。
如今,Web2.0應用的復雜度已經可以與大型應用媲美了,很多提高用戶體驗度的東東都要在后臺做大量有技術難度的工作,如365kit的通訊錄同步功能,就要在與Outlook、MSN、手機交互中下很大工夫。
現在還沒有時間,要忙著做項目和畢業設計,等過一陣子,一定要研究一下Ajax和JavaScript,并做出個像樣的應用來。也希望以后能做出個好的應用,有市場的,慢慢把它做大,推廣,現在不流行網絡創業嗎,呵呵,而且門檻也比較低,要的硬件和資金不多,主要是應用要有市場、有創意!
Web2.0火了,我們又多了一條路!
(寫得不好,歡迎大家拍磚)
續:
RIA應該也是一種實現Web2.0的技術?
Web2.0應該是一種思想,是通過提高用戶體驗度來贏得市場,實現它的技術有很多,只要能達到提高用戶體驗度的目的,我們就可以說它“是”Web2.0,不是嗎?
RIA技術我知道的好像有三種:1、Flex 2、Eclipse RCP 3、Ajax 4、Java Web Start
1、
Flex終于免費了
Adobe公司發布Flex2.0測試版本,除了Flex Builder IDE收費外,其他都免費,相信不久也會出現基于Eclipse的Flex GUI開發插件,RIA開發者或許又多了一種選擇
2、JavaSE 6 ( 代號Mustang)已經能在
java.net上下載了,相信在各方面都會有很大進步
3、Borland宣布放棄包括Delphi、C++ Builder、C# Builder和JBuilder在內的IDE產品線,原因是迫于開源的壓力,看來Eclipse的影響是要越來越大了
4、廣泛流傳Google正在研發自己的OS, 而且將基于Linux的一個發行版---
Ubuntu Linux。呵呵,當時選擇用Ubuntu看來也是明智之舉啊
5、VMware宣布將免費推出服務器版虛擬軟件VMware Server,現在已經可以下載其beta版本
在Joel的
一篇文章里提到了這樣一句話,
Something is usable if it behaves exactly as expected. Joel認為軟件的可用性也是如此:
如果軟件的每一次響應都符合用戶要求,那它就是可用的。這確實是“正確”的,關鍵在于我們怎么獲得目的用戶的確切需求,單個領域用戶還好一點,做個市場調查估計能得出個八九不離十;如果是通用軟件,那還得考慮周詳一點。
這句話倒是值得收藏,以后做軟件的時候是應該多考慮一下,使界面響應和工作流程能更符合用戶的習慣和需求!
續:
又有了一種
新的譯法,感覺這樣容易理解些:UI能以用戶預期的方式來響應他們的操作,那這個UI就是可用的。
摘要: 生活小竅門大全2--熱愛生活,就收藏她吧!--(收藏)
閱讀全文
摘要: 生活小竅門大全--熱愛生活,就收藏她吧!--(收藏)
閱讀全文
Andy Luo:
1、在生成頁面后更新數據庫中鏈接地址,或做一個標記,使得主頁上各篇文章的鏈接地址指向靜態頁面。
2、在第一次訪問文章時創建靜態頁面,或在服務器定時查詢新增紀錄並生成靜態頁面
3、訪問主業時也可生成靜態網葉,通過查詢數據庫中一個記錄,獲取最新文章的錄入時間,比較並更新主業的靜態網葉
轉自:http://blueline.hit.edu.cn/ccs/blogs/loveme/archive/2006/03/03/1030.aspx
為了減輕服務器壓力,將原來的文章管理系統由JSP文件的從數據庫中取數據顯示改為由jsp生成靜態html文件后直接訪問html文件。下面是一個簡單的示例
1.buildhtml.jsp
<%@ page contentType="text/html; charset=gb2312" import="java.util.*,java.io.*"%>
<%
try{
String title="This is Title";
String content="This is Content Area";
String editer="LaoMao";
String filePath = "";
filePath = request.getRealPath("/")+"test/template.htm";
//out.print(filePath+"<br>");
String templateContent="";
FileInputStream fileinputstream = new FileInputStream(filePath);//讀取模塊文件
int lenght = fileinputstream.available();
byte bytes[] = new byte[lenght];
fileinputstream.read(bytes);
fileinputstream.close();
templateContent = new String(bytes);
//out.print(templateContent);
templateContent=templateContent.replaceAll("###title###",title);
templateContent=templateContent.replaceAll("###content###",content);
templateContent=templateContent.replaceAll("###author###",editer);//替換掉模塊中相應的地方
//out.print(templateContent);
// 根據時間得文件名
Calendar calendar = Calendar.getInstance();
String fileame = String.valueOf(calendar.getTimeInMillis()) +".html";
fileame = request.getRealPath("/")+fileame;//生成的html文件保存路徑
FileOutputStream fileoutputstream = new FileOutputStream(fileame);//建立文件輸出流
byte tag_bytes[] = templateContent.getBytes();
fileoutputstream.write(tag_bytes);
fileoutputstream.close();
}
catch(Exception e){
out.print(e.toString());
}
%>
2. template.htm
<html>
<head>
<title>###title###</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<LINK href="../css.css" rel=stylesheet type=text/css>
</head>
<body>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td align="center">###title###</td>
</tr>
<tr>
<td align="center">author:###author### </td>
</tr>
<tr>
<td>###content###
</td>
</tr>
</table>
</body>
</html>
在下面這篇文章中 http://www.firstpartners.net/blog/technology/2006/03/01/web-20-and-enterprise-java-move-over-struts/ ,作者介紹了幾種常用的AJAX框架。
最后作者以Struts為例,介紹了幾種選擇Ajax的場景:
1 現有的Struts應用程序要使用Ajax,請使用AjaxAnywhere
2 建立新的應用程序準備使用Ajax,參考Appfuse,它集成了DWR的Ajax
3 中期目標: 使用一種支持Ajax的JSF的實現,MyFaces或者Struts Shale
原文地址:http://blog.csdn.net/danny_xcz/archive/2006/03/03/614302.aspx
....
...
...
zhu zhu~
摘要: 值的關注的Java開源項目
名稱
資料
概況
OFBiz
http://ofbizchina.com:8080/
http://www.ofbiz.org/
https://ofbiz.dev.java.net/
OFBiz是一個非常著名的開源項...
<test name="org.redsoft.forum.AllTests” haltonfailure="no" outfile="result" >