2013年10月9日 星期三

[Java] BigDecimal 的基本使用 參考

java BigDecimal  的基本使用 參考



BigDecimal bigNumber = new BigDecimal("89.1234567890123456789"); //宣告第一個需要運算的數值
BigDecimal bigRate = new BigDecimal(100); //宣告第二個需要運算的數值

// 乘法
BigDecimal bigResult = bigNumber.multiply(bigRate); //bigResult為bigNumBer * bigRate
System.out.println(bigResult.toString()); //印出bigResult


//  除法 
BigDecimal bigResult2= bigNumber.divide(bigRate,2,BigDecimal.ROUND_HALF_UP);  //宣告data2為bigNumber/bigRate並四捨五入至小數點第二位
System.out.println(bigResult2);

// 加法
BigDecimal bigResult3=bigNumber.add(bigRate);
System.out.println(bigResult3);

// 減法
BigDecimal bigResult4=bigNumber.subtract(bigRate);
System.out.println(bigResult4);

// 平方
BigDecimal bigResult5=bigRate.pow(2);
System.out.println(bigResult5);

// 開根號
BigDecimal bigResult6=new BigDecimal(Math.pow(bigRate.doubleValue(), 0.5));
System.out.println(bigResult6);

// 設定 小數點位數
BigDecimal bd = new BigDecimal(233.6666);
int scale = 3;
System.out.println(bd.setScale(scale, BigDecimal.ROUND_HALF_UP));

2013年9月6日 星期五

[JAVA] 來吧!! RXTX 沒再怕的!!

職場初心者, 要跟serial port 通訊真是噩夢~!

過去的~ 就該留下紀錄!!   看看市面上的java 書籍, 大多都是VB 寫的RS232 通訊範例

根據前人(Google 上的文章), 有很多可以參考的

各位看官, 程式碼 在這~ 
https://docs.google.com/file/d/0B1dxd4xZ2_wPbEpiNnZERlBNbk0/edit?usp=sharing
https://docs.google.com/file/d/0B1dxd4xZ2_wPbDFQeUktT2NLR1U/edit?usp=sharing








2013年7月10日 星期三

Sublime Text 2.02 版本 如何安裝 Package Control 影片

最近被sublime text 2 煞到了~~


這麼強大的功能,確實讓人很心動!!


錄製一段影片~ 有關~ Sublime Text 2.02 版本  如何安裝 Package Control 的碎碎念影片

希望可以分享給有需要的人....  (搞不好只有我不懂  XD  )



PS. Git  網站 :http://git-scm.com/


同場加映  Sublime Text 2 安裝 Package Control 的 影片~


2013年7月3日 星期三

Notepad++ 寫程式 錄製巨集 常用的快捷鍵

說真的~ 有陣子我好愛看看notepad++ 的神奇特異功能。
特別是 錄製巨集的部分。
說到錄製巨集

有些在錄製巨集的時候,常用快捷鍵,必須記住:
以下是本人撰寫程式碼時常用到的....
Ctrl+C 複製
Ctrl+X 剪下
Ctrl+V 貼上
Ctrl+Z 回到上一步
Ctrl+Y 恢復
Ctrl+A 全選

Home   回到行最開頭
End   回到行最尾端
(可搭配Shift 做選取應用)

Shift+方向鍵  選取

Ctrl+D 複製並貼上游標所在的一行
Ctrl+L 删除游標所在的那一行
Ctrl+T 游標所在的那一行向上移動一行

F3     找下一個(必須先尋找過)
Shift+F3     找上一個(必須先尋找過)
F5     執行  (可參考  這篇  How to Run an external program from Notepad++ )
Tab  加入一個單位的Space
Shift+Tab  移除一個單位的Space
Ctrl+U  英文字母轉大寫
Ctrl+Shift+U 英文字母轉小寫

Ctrl+Q   註解  (轉寫程式碼模式時很好用, 文字編輯模式無作用)

以下幾點本人覺得好好用的
Ctrl+(方向鍵) 跳過一個單詞 (包含空白)   ps. 效果相當於滑鼠雙擊左鍵的選取單字(但是包含後面的空白)
Ctrl+Shift+(方向鍵)  選取單詞 (不包含空白)   ps. 效果相當於滑鼠雙擊左鍵的選取單字(不包含後面的空白,好用)

Ctrl+F3 找尋當下選取的下一個單詞
Ctrl+Shift+F3 找尋當下選取的上一個單詞

最後不可忘記的是特異功能,就是  column mode (灑花 :D )
就是  列模式編輯(請參考這裡)
愛死這功能了, 因為可以這樣用
例如 有這樣的資料列
--------------------
A.
B.
C.
--------------------
   AND
--------------------
APPLE
BOY
CAT
--------------------
這兩個資料列   要怎麼做成像這樣?
--------------------
A.APPLE
B.BOY
C.CAT
--------------------

很簡單, 只要對著  第二個資料列  按下 Alt+ Shift + 方向鍵  (or  Alt + 滑鼠拖拉方向)
選取後  按下  Ctrl+C (複製)

然後在第一個資料列  用 Alt+ Shift + 方向鍵  (or  Alt + 滑鼠拖拉方向) 選取
按下  Ctrl+V (貼上)

就可以達成  這樣的資料對應了!!   (再見了 EXCEL 對應動作~)
--------------------
A.APPLE
B.BOY
C.CAT
--------------------

只要熟記 以上的 Notepad++ 預設快捷鍵

相信  在  錄製巨集 時候 , 可以更 得心應手

如果覺得背快捷鍵會有快感而深深不可自拔, 請參考 自訂>>快捷鍵管理
這麼做的後果就是讓你的滑鼠在一旁涼快去 XD



2013年3月15日 星期五

介紹 二維陣列 簡易 增加長度 , 並且 新增一列 一維陣列


介紹 二維陣列 簡易 增加長度 , 並且 新增一列 一維陣列



  //  要複製的二維陣列

  String ret[][]={ {"A1","B1","C1"},

          {"A2","B2","C2"}

      };

  

  String ret01[][]=new String[ret.length+1][3];



  for (int i = 0; i < ret.length; i++) {

   // 複製陣列

   System.arraycopy(ret[i], 0, ret01[i], 0, ret[i].length);

  }

  // 新的資料陣列 在最後一行

  ret01[ret01.length-1]=new String[]{"t01","t02","t03"};

  

  // finish




沒錯~  你得到  ret01  這個長高的二維陣列!

2013年2月22日 星期五

About Swing Note

package doW;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class JNotePad {
 JButton clickMe;
 JButton nothingToDo;
 
 JPanel jpanel01;
 private void show() {
  jpanel01=new JPanel();
  jpanel01.setBackground(Color.GRAY);
  jpanel01.setLayout(new BoxLayout(jpanel01,BoxLayout.Y_AXIS));
  
   clickMe=new JButton("點我呀~ 笨蛋");
   clickMe.addActionListener(new ActionListener() {
   @Override
   public void actionPerformed(ActionEvent arg0) {
    whatUserDo();
   }
  });
   clickMe.setFont(new Font("serif",Font.BOLD,20));
   
   
   nothingToDo=new JButton("noting to do");
   
   jpanel01.add(clickMe);
   jpanel01.add(nothingToDo);
   
   
   JFrame jf=new JFrame("note pad title");
   jf.setVisible(true);
   jf.setSize(400, 300);
   jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   
   jf.getContentPane().add(BorderLayout.EAST,jpanel01);
   
   
   

 }

 private void whatUserDo() {
  clickMe.setText("user click me!");

 }

 public static void main(String[] args) {
  new JNotePad().show();
 }
 
}

2013年2月17日 星期日

google-code-prettify 讓Code 在網頁看來更親切

參考http://code.google.com/p/google-code-prettify/


說明白

  1. Download a distribution
  2. Include the script and stylesheets in your document (you will need to make sure the css and js file are on your server, and adjust the paths in the script and link tag)
    <link href="prettify.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="prettify.js"></script>
  3. Add onload="prettyPrint()" to your document's body tag.
  4. Modify the stylesheet to get the coloring you prefer

不想下載的 可以直接連結線上的


<pre class="prettyprint"><code class="language-java">    

程式碼


</code></pre>


the End~

Array 用法

package doW;


import java.util.Arrays;

/**
 * Array  用法
 * @author Administrator
 *
 */
public class S01 {
	public static void main(String[] args) {
		
/*		
		遊 戲	 威力彩
		期 別	 第 102000013 期
		開獎日期	 民國  102 年 2 月 14 日
		兌獎期限	 至   102 年 5 月 14 日 (註2)
		本期中獎號碼	
		第1區 依大小順序排列:	
		13	14	16	22	31	32
		第2區:	
		03
		第1區 依開出順序排列:	
		16	22	31	13	32	14
		*/

		
        int[] arrOne = new int[] {16,	22	,31,	13,	32,	14};
        int[] arrThree = Arrays.copyOf(arrOne, arrOne.length);  //複製一維陣列  
        
        System.out.println("第1區 依開出順序排列:");
        for(int i:arrThree){	
        	System.out.print(i+",");
        }
        System.out.println();
        
        System.out.println("第1區  依大小順序排列:");
        Arrays.sort(arrThree);  // 快速排序法排序
        for(int i:arrThree){
        	System.out.print(i+",");
        }
	}
}

第1區 依開出順序排列: 16,22,31,13,32,14,
第1區 依大小順序排列: 13,14,16,22,31,32,

Hello World SimpleCodeLife

透過分享,才有簡單符碼生活~

簡單,不簡單... 

by mathantic