發表文章

目前顯示的是有「Java」標籤的文章

Split Strings in String Array (Java)

圖片
Search over through google about this topic but not too much result. Therefore, I would like to share my method. However, should many persons can resolve this better than me. import java.util.ArrayList; public class stringTest { public static void main (String[] args) { //假設有一個String array如下 String [] s={"1001:台泥","1002:台積電","1003:宏電","1004:蘋果"}; //宣告一個String array以承接.split將字串分開後回傳的array String [] a; //宣告一個ArrayList,因ArrayList可使用.add將值加入array ArrayList list= new ArrayList(); //宣告一個迴圈,將String array的值一個一個取出,並分開 for (int j=0; j<s.length;j++){ //使用.split將字串分隔,並以另一個String array承接 a=s[j].split(":"); //因只需要股票代號,故只取array[0],並一個一個加入ArrayList list.add(a[0]); } //印出結果 System.out.println(list); } }

Jsp+R Server

圖片
rServer據開發者說是rJava的theard safe版本 我用jsp呼叫rJava的時候 只要重新整理或是怎麼的 Tomcat就會整個傻住然後shoutdown 必需要自己手動開啟 因為r一次只能有一個執行緒存在 而java是可以多個執行緒的 所以只要r的執行緒還在跑 就不能再新增一個 而rJava的執行緒不知道怎麼回事 就是關也關不掉 換用rServer之後 當然是Tomcat是沒有再死機了 但根據開發者說的( 在這裡 ) Although Rserve works on Windows it is not recommended to use it on that platform. Windows lacks important features that make the separation of namespaces possible, therefore Rserve for Windows works in cooperative mode only, that is only one connection 意思就是說 雖然你用了rServe 但是在windows上面還是一次只能有一個連線哦 靠北啊 那不就等於是單機版 那我寫jsp幹嘛!! 一次只有一個使用者能連進來不是超落漆嗎 唉 算了啦 頭都洗一半了 老師說就先繼續做 之後再看要不要弄一台Linux試試看 在這裡我就先分享如何使用rServe的心得 也算是公德一件 首先要在R裡安裝rServe install.packages("Rserve") 安裝好之了後就在R裡面啟動它 library(Rserve) Rserve() 看到Starting Rserve就表示Rserve已經在幕後啟動 然後打開Java的IDE 或筆記本 任何你習慣寫java code的介面 package rServe; import org.rosuda.REngine.Rserve.*; public class test { public static void main (String[] args) { // new R connection try{ ...

Java快速的讀取陣列的值

//設定一個double的陣列,名叫temp,把值都放進去 double[] temp={4.17,5.58,5.18,6.11,4.50,4.61,5.17,4.53,5.33,5.14} //用以下迴圈可快速的取出陣列的值 for(double i : temp) { out.println(i+"\t"); }

R與Java的結合

圖片
如果有人需要用java寫出一個可以應用R的介面 我在這裡先提供如何用java成功的call R,其中有很多眉眉角角,而R的文件也不是很清楚,這是我的好朋友郭董幫我試出來的,放在這裡供鄉民參考參考 Step 1. 先把java的開發環境都設定好,先裝好JDK及IDE,例如Netbean,設好環境變數等 Step 2.請先到rjava的網站下載 3個最重要的jar檔案 http://www.rforge.net/JRI/files/ ,請記得3個.jar的檔都要下載回來放在同一個資料夾 Step 3. 接下來的步驟非常重要,如果你尿急的話請先去上完廁所再回來,因為這個設定關係到是否可以在java裡直接下r的指令,並產生出結果,首先,請到控制台\所有控制台項目\系統\進階系統設定\進階\環境變數,我們要加入 2個路徑,第一個是r.dll的路徑,這是你安裝好R之後一定會有的,就在你的R目錄下面(大部份的人是C:\Program Files\R\R-2.15.1\bin\i386 or x64)請把這一條加入環境變數裡,如下圖(請注意,你的路徑有可能不一樣,端看你的R安裝在那裡) 然後再把.jar存放的路徑加進去環境變數裡,請記得前後一定要用;分隔 (請注意,你的路徑有可能不一樣,端看你將.jar放在哪裡) Step 4. 打開Java IDE測試一下,如果跑出 15,那就代表你可以成功的在java裡call R了 import org.rosuda.JRI.Rengine; public class RJava {     public static void main (String[] args)     {         // 宣告一個Rengine         Rengine re=new Rengine (new String [] {"--vanilla"}, false, null);         if (!re.waitForR())         {   ...

JAVA 環境變數設定

圖片
最近因為論文需要所以開始學java了 Java真的是一個很搞工的東西 如果不用IDE開發 用記事本寫的話 要到系統>進階的環境設定那裡設定一些路徑 讓你用命令提示視窗跑java之後才會有結果產生 網路上教學的文章很多 如果你搜尋JAVA 環境設定的話會跑出一堆 第一篇最多人按的設定是錯的 照著他設的話 java還是可以跑 但是有一個地方錯了 最底下還有人糾正作者 但是他也沒改 很多人沒有拉到最下面所以就跟著傻傻的設了 現在我把我的方法PO上來讓鄉民參考參考 不管是Windows什麼版本 請到控制台裡面找到"系統">選擇進階系統設定 按下去之後會看到一個視窗跳出來,請選擇進階的環境變數 接下來要設定的路徑通通都在"系統變數"那邊,不要一直傻傻的加在上面USER的使用者變數 在系統變數的地方新增一個JAVA_HOME,路徑就放灌好Java JDK之後的路徑,數字的部份會依版本的不同而不同 然後在系統變數的地方,可以到一個叫做Path的變數,我們要加上一個路徑,讓電腦知道下了javac跟java指令的時候它該做什麼動作,這個路徑就是C:\Program Files\Java\jdk1.7.0_21\bin,請選擇Path這個路徑之後,按下編輯  然後你就會看到變數值那裡有好多路徑,千萬不要動到它們,我們只要在最後面加上%JAVA_HOME%\bin;(請記得前後一定要用;分隔,如果前面的路徑沒有用;結尾,一定要自己加上去),再按確定,就可以了。 所以現在知道了吧,JAVA_HOME只是為了存放現在JAVA JDK版本的路徑,如果未來電腦上裝了新的JDK,就直接來改JAVA_HOME的路徑就可以了,不用再去打開Path,眼花瞭亂的找好久,當然,JAVA_HOME也可以不要設,直接在Path打上完整的路徑C:\Program Files\Java\jdk1.7.0_21\bin就行了,但如果之後電腦裡JDK的版本有改,也要記得回到path,把jdk1.7.0_21的部分改掉,不然電腦還是會去找舊版的javac跟java來執行的