tag:blogger.com,1999:blog-55679975069037919912024-01-05T14:48:59.815+08:00My Practice in Java ProgrammingThis blog contains posts regarding my practice in programming. The posts are about questions in Yahoo Knowledge or some program design ideas or implementation of algorithms. Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.comBlogger36125tag:blogger.com,1999:blog-5567997506903791991.post-14501246715083743772013-08-31T01:34:00.003+08:002014-03-29T20:13:54.022+08:00A General Algorithm for Creating a Tree Structure from a String with Nested Parentheses<br />
Suppose there's a tree structure <b>MyTree</b>, which contains three fields: Integer <span style="color: blue;">id</span>, String <span style="color: blue;">value</span>, and List<MyTree><mytree> <span style="color: blue;">children</span>. When constructing a MyTree object with constructor "MyTree(Integer id, String value)", the id parameter should not be null or negative, and the value parameter should contain only English letters or numbers. The toString() public method of MyTree returns a String that contains all available information about the MyTree object and has a pattern like this:<br />
</mytree><br />
<mytree></mytree><br />
<span style="font-size: large;"><b><mytree>(1:AA<span style="color: red;"><span style="background-color: #f1c232;"><span style="background-color: white;">(..child 1..)(..child 2..)</span></span></span></mytree><mytree><span style="color: red;"><span style="background-color: #f1c232;"><span style="background-color: white;"><span style="color: red;"><span style="background-color: #f1c232;"><span style="background-color: white;">(..child 3..)</span></span></span></span></span></span></mytree><mytree><span style="color: red;"><span style="background-color: #f1c232;"><span style="background-color: white;"><span style="color: red;"><span style="background-color: #f1c232;"><span style="background-color: white;">...(..child n..)</span></span></span></span></span></span>)</mytree></b></span><br />
<br />
For example, <br />
<br />
<span style="font-size: large;"><b>"(1:AA(2:BB)(3:CC(31:wef(52:huEf)(35:weDf(554:Q)))(43:f34w(42:wefw)))(4:ge(43:werw))(5:zer(99:f5)(100:f5)))"</b></span><br />
<mytree><br />
is the tree string of a MyTree object (the return value of the "public String toString()" method in class MyTree) with id 1, value AA, and four MyTree children with id 2, 3, 4, 5 respectively. </mytree><br />
<mytree><br />
</mytree> <mytree><b><span style="color: lime;"><span style="color: black;">The problem is</span>: <span style="color: #6fa8dc;">how to create a tree structure from a string with nested parentheses? In other words, how to convert this kind of tree strings back to objects with MyTree data structure?</span></span></b></mytree><br />
<br />
<mytree>In addition, there may be spaces inserted between parentheses, values, ids, and colons that do not damage the validity of the tree string. For example, "<u>(1:AA(65:wete))</u>" and "<u>( 1 : AA(65 : wete ) )</u>" are converted to the same MyTree object. </mytree><br />
<br />
<br />
<mytree>This problem seems quite difficult when first encountered, since the tree structure can't be constructed with just a few regular expressions. The following is my implementation of an algorithm for creating the tree structure from a tree string with nested parentheses. You can download the codes from <a href="http://sites.google.com/site/moderntone/MyStringParser.zip">http://sites.google.com/site/moderntone/MyStringParser.zip</a></mytree><br />
<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<b><span style="color: blue;"><mytree><br />
</mytree></span></b><br />
<mytree><br />
<b>MyTree.java</b><br />
<br />
</mytree><br />
<pre class="brush:java">package com.treeparse;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyTree {
private Integer id;
private String value;
private List<MyTree> children;
public MyTree(Integer id, String value){
if (id == null || id < 0)
new Exception("Error: The id should be non-negative.").printStackTrace();
Pattern pattern = Pattern.compile("[^a-zA-Z0-9]");
Matcher matcher = pattern.matcher(value);
if (matcher.find())
new Exception("Error: The value should contain only English letters or numbers.").printStackTrace();
this.id = id;
this.value = value;
children = new ArrayList<MyTree>();
}
public String getValue() {
return value;
}
public void setValue(String value){
this.value = value;
}
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
public List<MyTree> getChildren() {
return children;
}
public MyTree getChild(int i){
return children.get(i);
}
public boolean isLeaf() {
return children.size() == 0;
}
public static MyTree valueOf(String treeString){
MyParser mp = new MyParser();
return mp.parse(treeString);
}
@Override
public String toString(){
StringBuilder builder = new StringBuilder("(" + id + ":" + value);
for (MyTree child : children)
builder.append(child);
return builder.append(")").toString();
}
}
</pre><br />
<b>MyTokenizer.java</b><br />
<br />
<pre class="brush:java">package com.treeparse;
import java.util.*;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MyTokenizer {
private String treeString;
protected boolean isInvalid;
protected String value;
protected Integer id;
protected List<String> childUnits;
public MyTokenizer(String treeString) {
this.treeString = treeString.trim();
tokenize();
}
private void tokenize(){
try {
setId();
setValue();
setChildUnits();
} catch (Exception e) {
System.out.println("MyTokenizer.tokenize() Exception e = " + e);
isInvalid = true;
return;
}
}
private void setId(){
try {
Pattern pattern = Pattern.compile("(?<=\\() *\\d+ *(?=:)");
Matcher matcher = pattern.matcher(treeString);
if (matcher.find()){
id = Integer.parseInt(matcher.group().trim());
return;
}
} catch (Exception e) {
System.out.println("MyTokenizer.setId() Exception e = " + e);
}
isInvalid = true;
}
private int tempIndex;
private void setValue(){
try {
Pattern pattern = Pattern.compile("(?<=:) *[a-zA-Z0-9]+ *[\\(\\)]");
Matcher matcher = pattern.matcher(treeString);
if (matcher.find()){
tempIndex = treeString.indexOf(matcher.group()) + matcher.group().length() - 1;
value = matcher.group().substring(0, matcher.group().length() - 1).trim();
return;
}
} catch (Exception e) {
System.out.println("MyTokenizer.setValue() Exception e = " + e);
}
isInvalid = true;
}
/**
* Examine treeString's parentheses from leftParenthesis to treeString.length() - 1
* @param leftParenthesis
*/
private void setChildUnits(){
this.childUnits = new ArrayList<String>();
int cv = 0;
Integer tempStart = null;
for (int i = tempIndex; i < treeString.length() - 1; i ++){
switch (treeString.charAt(i)) {
case '(':
if (++cv == 1)
tempStart = i;
break;
case ')':
if (--cv == 0){
childUnits.add(treeString.substring(tempStart, i+1));
tempStart = null;
}
break;
}
}
if (tempStart != null)
isInvalid = true;
}
}
</pre><br />
<b>MyParser.java</b><br />
<br />
<pre class="brush:java">package com.treeparse;
import java.util.List;
public class MyParser {
public MyParser() {
}
public MyTree parse(String treeString){
MyTokenizer tokenizer = new MyTokenizer(treeString);
if (tokenizer.isInvalid){
System.err.println("warning: the input is not a valid MyTree string.");
return null;
}
List<String> childUnits = tokenizer.childUnits;
MyTree myTree = new MyTree(tokenizer.id, tokenizer.value);
List<MyTree> children = myTree.getChildren();
for (String childUnit : childUnits)
children.add(parse(childUnit));
return myTree;
}
public static void main(String[] args) {
String testString = "(1 : AA (2 : BB) (3: wef (56:3t4) (6:4g3)) )";
testString = "(1:AA(2:BB)(3:CC(31:wef(52:huEf)(35:weDf(554:Q)))(43:f34w(42:wefw)))(4:ge(43:werw))(5:zer(99:f5)(100:f5)))";
MyTree tree = MyTree.valueOf(testString);
System.out.println(tree);
for (MyTree myTree : tree.getChildren()){
System.out.println(myTree.getId() + " with tree string: " + myTree);
}
}
}
</pre><b>Key point of the algorithm: </b><br />
<mytree><b><span style="color: blue;">Identify the children tree strings of the root, and parse them recursively to create the whole tree structure</span></b> <br />
</mytree><br />
<mytree><br />
</mytree><br />
<mytree>A key point of the codes below is in <u>setChildUnits()</u> method in <b>MyTokenizer</b>.java. The method determines tree string's sub-strings that represent the children of the root, and the <b>MyParser</b> parses them recursively until all tree strings as leaves are parsed and the whole tree are constructed. </mytree><br />
<mytree><br />
</mytree><br />
<mytree>The idea behind the method is not complex. The program first identifies the start and end indexes of the sub-string about the part of all children tree strings and then keeps track of the parentheses with the value of (number of left parentheses) - (</mytree><mytree>number of right parentheses), stored in local variable cv. </mytree><br />
<br />
<mytree>If cv is 1 when a left parenthesis is checked, it is the start parenthesis of a child tree string; if cv is 0 when a right parenthesis is checked, it is the end parenthesis of a child tree string. This claim can be easily proved. </mytree>Suppose the tree string is a valid one, then left parentheses and right parentheses must occur pairwise.Thus, the cv value of the start parenthesis of any child is 1 + n - n = 1, and cv of the end parenthesis of any child is obviously constantly zero. For all left parentheses beside the start parentheses of children, the cv value is always larger than 1, since 1 + n - m > 1 and m < n; for all right parentheses beside the end parentheses of children, cv is m + 0 with m = 1 or more and thus always larger than 0. With this idea, the start and end parentheses of all children tree strings are identified. <br />
<mytree><br />
</mytree><br />
<mytree>The concept of this implementation can similarly be applied to all kinds of tree structures with multiple fields and tree strings with different patterns. There are three major classes: a tree class, and tokenizer class, and a parser class. The tree class represents the tree structure; the tokenizer classes examines the tree string to obtain information about all fields and the first-generation children; the parser class recursively parses the tree strings until the tree structure is constructed. </mytree><br />
<br />
<br />
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-48195252705748306762013-05-20T00:55:00.001+08:002013-05-23T23:18:44.868+08:00Implementation of the AVL Tree in Java <br />
In computer science, an AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child sub-trees of any node differ by at most one; if at any time they differ by more than one, rebalancing is done to restore this property.<br />
<br />
The following is my implementation of an AVL tree Java library, which supports methods for insertion, deletion, and look-up. The data structure is simple. AVLNode has the following fields:<br />
<br />
<b>protected </b>AVLNode <span style="color: blue;">left, right, parent</span>;<br />
<b>protected </b>Integer <span style="color: blue;">value, height</span>;<br />
<b>private </b>Object <span style="color: blue;">object</span>; //<span style="color: #38761d;">An additional field for data to be stored in an AVLNode</span><br />
<br />
And an AVLTree object represents an AVL tree composed of AVLNode objects. <br />
<br />
You can download the Java library from <a href="http://sites.google.com/site/moderntone/AVLTree.zip">http://sites.google.com/site/moderntone/AVLTree.zip</a><br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOgAAACrCAIAAADjB0ftAAAUPElEQVR4nO2df1AUV57A+5/8zx+pcv3jyqxJaimtXSObmR1nXdZ/NiTZqvNu69zCKxUEnYt7mwp456ornIqoMLiXORH1qtZZzEUzoBA0lxHWTRF2C5QrJYAQuZkC+RFdfjg4DAwzw+Sq74+e7n6v+3XPTMNMTz++n3pFul+/190jn7x53fS3vwwLAAaE0fsEAEALKyludtHFFdwbAKgA4gKGJDlx+5qOCkW+FcQF0kYS4vbePIqvHpE0UBfXbWMYmxtZszq8eAuvw8rY3KzXYcU2uW2MFHE/wColvrh1J6vrTlbXnaxamnIuTTkXn1x83lcz0VH+v7dL605WsSy7/d8auJZq4nodVqvVihgn1VOskW/hcNtAWIAnvrjVx353+j/us3N/JhfEVxVxORmxYTY2vgoIG0FcID4JTRUOltayM5+RC8ve+PPj7KKL2UUX//DHPoUd8FLiEwTMRHElMXG9DqvV4XZY+XmDOKHAjyCvBGggIXGL/+k/2acfK5a4iL7KJrr8CrKYuLhWW6wduknoTqwEKCEhcX9Z4GSfXGSfXCzYf6Vw35XCfc7CfdzClYJ9Vwr3XynglvdfKdx3Rd4dHWfJl2jYtCFhcVHrcawOL7kSoIWExH33H6+xnmqu/GL3R7fG/k+p/P2u/5J29jqs0psC2ETX6vDiqiYxVfCSthCbA5SRkLg//YdGdrCcHSz/2S9dDV+HGwbDDV9HGr7mfgol/LMdLnlf6TUY63VYJebabJipyYuLj+NumzjrlVUClJCQuKa/bWL7Dm3Z3uTsDDg7A1e6As6ugLMz4OwKXOkMOLsCzq7Alr+7SepKul+LGeV1WCXf4vgQjdmpJC7WCb9xAfMEOklI3B+807Lp3VvnP39+/vPn590z5z+fOe9+fv7zmfPuGa5m07stqT5RAEBJ9C9n2W99plJSeooAIAceawQMCYgLGBIQFzAkIC5gSEBcwJCAuIAhAXEBQ6KnuLbcHB2PDhiadIj7lxqzUFiWrchbKy9pOA2AJlIubtOvX0NXJ75qq8hbu7T4x8muC+d2v8UtgLhAsqRW3L+cNocnL4cnL/uHHJO9VaNfHnnxpKsib+1k14X+GydsuTncAogLJEtqxf3T6Zyw/z5ajm7fVpG39tzut2y5OVw5t/utiry1pPmu8HCXGEMZL1YHWC2kWNzjOeHJFrR8u/hEmCrYcnNUpgrIg7xer1ceqwOPia9qUivufx/PCY/WC6Xp4CaVIu3MDbjCcCqJ1QFtVzepFbfp4MbwkIMrTQc3hUcvE8tkbxVBXA4vPzmIG6sDrCZSK+61X78WHqoKD1U1HdzELciLkrVehwMLV1eM1XE7YI67+kituM6Cvwn3Hmk6uCnce4JY1MZa8fLL5mZVYnVg7F2NpFbcD3+xtungpnDvEWJRtRYA1Ej5HyCctu+plFQfHaAVeMgGMCQgLmBIQFzAkIC4gCEBcQFDAuIChgTEBQyJkcQt3bpG71OICzxFkSYyWtz2is0dv/2+UGp3rENX2ys2632CckDcNJHR4nYc3uhtdz7tvvq0+2rPjRpnST662nF4o94nKEcQF17en1oyWtz2Qxuedl+NzN319V1/3HrJWZKPrrYf2qD3CcoBcdNERot7t3TD0+6rvr7rvr7rj9suc+IKq3dLVcSVB/agOSGQF5UzNje/xeYWWxGkQ14TbXOzsndWc8pyP/GmkCAoBWS0uHfez+65UfO49dLjtsv36iuObt+Grt55P1uhnzywR5YzBXVIGCKxZelUVXzsl9+KtuIHWNKICwmCUkDmilu6dU3tjnXOknyuHN2+jStCTe2OdeT7DPILJGlNXGNI9mCv+Be8FxYkO8TFhQRBK03misuybHPx6+jV2NHt29DV5uLXyd1SIS42Bou9YsJiFcQRFxIErTAZLW5D4asqF2cNha8q9JMH9ihlwE5YXDyBIINNEdCsQai4xFSZkCBoZchoca/tWq9ycXZt13rFnoTAHuT7mJzJhySu28aIGYaF3g5JLlelzK7oxRkkCFpZMlrcj3auR6/GnCX56OpHO5XFBWgno8XtPJVTv/O7QqndsQ5d7TwFL3tcvWS0uBKM8KwCkCaMJC4ACIC4gCEBcQFDQo+4c3Nz4+PjHiBhxsfH5+bm9P69aYQScX0+38TERDAYjEa/hZJgCQaDExMTPp9P79+eFigRd2R4OBKORCJLkUgkEonctr9BLBEAYykSjowMD+v929MCJeJ6PJ5oNBqORLjyadXmyNK3kjJw+8Bt+xtCm8wtX5+zWM4NpuVY0WjU4/Ho/dvTAlXihkJhrtw8myMX1/NF2eDtA7ftbwjNlEpLMcMU3+JXbxUzlpoBvM3AOQtT3BIarLFINg3WWBiGKW6RNLacG4h30KTbD5yzyE8syQLi6ozH41laWlpcDHHFdeaHoci3XLk35ssuuvjPjj+N3v/Q80XZwO33Gk7/UGhJKI9qLBaLhSlu4Wse2S0W+wDahq8ZsFss9kdo9wG7xVJUZGGKWvAd1jxSOSLhBJJpv4yytLQE4uqJx+OJRCILwSBXPj71ZjAUDYaii+GoIG4wHF0MR4Ph6LXKN4WW8tJvt5jt/c1FjNneH6vst5uZomaxzadFjKW6P7gQ7K+2cAtC6a+2MEWfcj+DYneLvV/5iNKSbPtllEgkAuLqCSfu/MICV/5QYZpfjM4vRgOLorjzweh8MDq/GK2vMAktZaV5L2Ou7l+Yby5izNV9fH1zEbO3mW/TXMQUNc8vLMwv9FebzdX9aPf+ajOzt3lhvr/azBQ1c5X91WZxV817xefF+QbSeoYhtTdX98tOFTkE32xvM/IpJC2lzRZAXJ3xeDyhUDjA8/vjJv981D+/5F8QxfUvLPnnoy8Wor8/bg4ocXMvY676KrbE7L2J1PMryOJXVeZYa56vqsyxrdiS0j5ja1j9zb0Mcg5CtfxY4tabVfwW/qji0ZGe8mahUBjE1ROPxxMKhfw8l8p/9Dyw5Jtbeh6ICOI+n1vyBSK+wNLFsh/5FbhRyJjP9gjLTOEN6Zaes2axtuesWWgu1Aib+a1CqxuFyA6RBpJ6tD0OfjCkW89Zs9iKqxS2Ip9J1iwUCoG4euLxeBYXF2dnX3Dl/DHL1IvI1IvIlF8Ud8ofmfZHpvyR2mNbhJZYeXjGJDGFMZ15GNv68IzJdKaH+8l36TljEhvwNUxBI7JD05mH3M/ZF7ONhUxBI97YdOahrF6xvaQ0FjCFjbHTLmyUVM6+aCxgTGd6xJ2Qmi0uLoK4euLxeILBoI/n3w9veTYbvjfm+1V956/qOzlxn/kiz2bDf/WFf3d4i4/Eg9MmpqBBUmE6/UBcMxUUmMQKrgpZJewD79RQwCBbGwoYQv2D0yaGVO9rKMBOzudrKOA28v/lOyMr6AmTmgWDQRBXTzwez8LCwgxP1W9+PDETvjfmyz34CWftNzPhiZnwxPPwxEyk+jc/niHg2sOYKrtldcweV2ylu9LE4E26K9Eh2lTZPdNdaRI7kHq59mDt5XsyVboqTcIm5AixOtceftG1J3YotHPlHuT42OmTmi0sLIC4euLxeObn56emprly+l+2jk2Fx6bDd/q/udP/zdh0eGw6PDodHpsKj02HKv91q9DSyOWT3cyeT5a3k/n5eRBXTzweTyAQmOQ5Wbr1yWRoZDL8ZDL0JPYz9GQyNDIZGpkMVZRunaSA67uZ3deXuY9AIADi6gkn7rNnf+XK8ZKfHPsgt6wkt6wk9xjys+yD3LIPco+X/ERoacjy8S6GYRhm18fL3hWIqzMjIyN+v396evoZkDDT09N+v39kZETv354WKBHX5/NNjI/7/f45IGH8fv/E+Dg8j6szPp9vZHg4TcEDVDAyPGxQa1maxAVWFSAuYEjoFFcpdEfv8wJWDDrFVQnd0fvUgJWBTnHVQ3fidld6KalI7CWi0reRyt7QLH0zuha8Diu8wVEGneLGDd1R6+x1WK1W9FX68teT8zVKr72HNzWnHDrFjRu6o9KXkxEbZqUpIYSNIK5u0Clu3NAd5a68lPgEwW1TenlzAuIuN+uO9G3oyByEmPlH3oxC6BQ3buiOYk/sLftEWSUeJSjucrLuIBkmEsr8Q2hGH3SKGzd0R6kjOoKRL9EwFRIWd1lZd8gjrnLmH2Iz2qBT3LihO+Ru2O9bqhAnKa5qElOFZWTdQScACWT+UWhGGXSKGzd0h9hL9r2K34iSJthhtYirJesOv7cEM/8oNaMLOsWNG7pD6kS6X4sZ5XVYJd/i+BBNTuYj0zvBrDtiwh9sLOXbqGT+UWxGE3SKGzd0R+8TTApqv+6XA53ixg3d0fsEkwG8JUGnuHFDd/Q+wcSI3W0AbQnQKS5APSAuYEhAXMCQgLiAIQFxAUNCp7gQukM9dIqb7tAdpT/9AimDTnGXFbqD/R03MR81iAsBOcuDTnG1h+6ITwiI6/H/AAAjbtqhU1ytoTsqcZGqgLhph05xNYbukLyVREYSI3Bkj4bhddKOQjMIyNEOneJqDN1ReJwlVi2NwMGe1kYeRpTFR2AdCQeDgBwN0CmuxtCduCMuKe4MbUIOwiF7BgE5y4JOcTWG7qjPcVUicIhRj/Kt0mNBQI526BRXW+gOy8ruKqCxL4oROGhkBCkIR11cCMjRBJ3iagrd4VG6j6sYgWN1uJFN8iAcyVANATkrAZ3iGiF0B77ulwWd4hogdAe8XR50ipvRoTsQkLMS0CkuQD0gLmBIQFzAkIC4gCEBcQFDAuIChsRI4pZuXaP3KQCZQkaL216xueO33xdK7Y516Gp7xWa9TxDQjYwWt+PwRm+782n31afdV3tu1DhL8tHVjsMb03guyQY5QFBEaslocdsPbXjafTUyd9fXd/1x6yVnST662n5oQxrPBcTNLDJa3LulG552X/X1Xff1XX/cdpkTV1i9W6oirjyJDfqMN/5gK7/F5hZb4dLJg2bk+xfacC/chwe+U0tGi3vn/eyeGzWPWy89brt8r77i6PZt6Oqd97MV+slDc2WJSNC4MfTpQsJT2xxKj5HH6pEeXq9aCjRgZchccUu3rqndsc5Zks+Vo9u3cUWoqd2xjnyfQf7glbQmbp4m5WSSrEp8jjzXybL/FQAFMldclmWbi19Hr8aObt+GrjYXv07ulgZxlSYAYnACiJtaMlrchsJXVS7OGgpfVeiHTgy42FiltNJJiYslK5PE53gdDjzAByJxU0tGi3tt13qVi7Nru9Yr9hSvjrAYclk8TjxxkRC02C6l4Tbyiz8xRA0uzlJHRov70c716NWYsyQfXf1op7K4AO1ktLidp3Lqd35XKLU71qGrnady9D5BQDcyWlwJ8KwCIGAkcQFAAMQFDAmICxgSEBcwJCAuYEjoFBey7lAPneKmO+sOkHboFFdb1h3ZU1/L+4Mt5NVJJXSKqz3rDstqeh8dPAuWbugUV2vWHQ4Q1wDQKa7GrDsxiM/zagjUgbw6KYROcTVm3YkhEVdzoA7k1UkhdIqrMetODFxc7YE6kFcnhdAprtasOxwycTUG6kBenRRCp7jas+6wLGmqoC1QB/LqpBA6xV1W1h35aJdUoA7k1UkLdIqbGVl34Os+hdApbkZk3QFvUwmd4uqcdQfy6qQeOsUFqAfEBQwJiAsYEhAXMCQgLmBIQFzAkOgmrn+odbQ+yz/UqtcJZADwFK92dBN3tD7Lfz97tD4rTjvxNj726BT6OCv2/BbBBHG7HndWZXaKIT0pF3e4Ma+uPK+usSu2PmgXl5dFV1t5Xl15Xl15XtsgfiyuXHDNKnUdtNeVH3gwrXCqSGkbZGc7DmDnj6CbuL0nskbrs+IPuri46IOx6OtqlY0kPCKTACuolMqu0iAursjKiNvVhvlqH44tiJUqHesaXQ8uEMSVthTUn3a50i8us7/VXNa86cRn2afavlPTmfXh/7xU94jZ38oKU4Uvs0cvqw66CuIm+IZwrW6AuMpMu1ykATUBcTkm4oo723HA1TEhHi794q7JKyMWbmvviSz/l68MObSIi8a+xBtxJXIQw2bUQ3GIOXwSSdfDkuxEnxqzOryymYzXYbU63OizvooNJAeU/kuoiTvtcmFf911t2Dd4V1u5fZjQTN5SONZKicsfWjhPXaYKP6grVCrcbGHIoTpbUJjjSh+YVZnioul0+Ar0neQxVRVDcYhvLdeWrkeyQ/zMhL5eh9VqtQmHl8fzIA3knwU9koq4wx3Id3G5fZhlZzsOCFuFMU/ejF+WTj3RSao4XhKIIy423LL6ifvSibePtJbJy0sn3vYPtfZWZU22vjJUpTzokkZcyRsLEnkMC4+1kYx50s3xc+xoy3oiPV/pptgGif3y/2HJsRKEiUeCI25dzEhhqEPGVEKzGNyVkyAZacQVruHQ01AXd+LBBewoeoqrVFiW7T2RNdn6Su+J5MRlk5gqoIi/2tiSpCcxFIe891SIiwRSWmWjLNoR70f+LCzLqoiLDp/IV/NwY56rYyJuMwTRwpWZKshn4bqI23Hwp+qFmy30HlGcLUjiWfBYMELqHCleh5V4Qed1WK0Oh03wWCUUh3hfYqXElWRXkXlJjOeRC498FhSJuKJbiB+zHQfq0DnABXubIBaxGWbSyopL2qSLuF+896bnaqlS+eK9N/1DrfePZE22fOf+EemgK3uoVTZ/5H/T+Jc5KfRLaWaMpd+RXv+Ia+TQncTFlcwz8BHXIbvLjO2DFM8jOwj+WUQEcaU3dNmJBxeE+agLHUqHGxNoNmivU7+PSxibsb2JfdHbusSbHrqI685/bcD+c648whce2X/uzn+NZVklcVMNTQEKSp9FOlUwIrqI2/LOy1y59c7LLW/z5Z2XW96O1bAse/9IFldSeiZSaPprq/JnkQ20BiMT/3KmH9I7CEaGps+SHKtQXIAGQFzAkPw/HLuQ4cpYV40AAAAASUVORK5CYII=" /><br />
<br />
<br />
<b>AVLTree.java</b><br />
<br />
<pre class="brush:java">package com.avltree;
public class AVLTree {
private AVLNode root;
public AVLTree(int... values) {
for (int value : values)
insert(value);
}
public AVLNode getRoot() {
return root;
}
public void insert(AVLNode node){
if (root == null)
root = node;
else {
root.insertToLeaf(node);
AVLNode keyNode = updateHeightsAndDetectKeyNode(node);
if (keyNode != null) // rotate to adjust the tree
adjustTreeByRotation(keyNode);
}
}
private void insert(int value){
if (root == null)
root = new AVLNode(value);
else {
AVLNode newNode = new AVLNode(value);
root.insertToLeaf(newNode);
AVLNode keyNode = updateHeightsAndDetectKeyNode(newNode);
if (keyNode != null) // rotate to adjust the tree
adjustTreeByRotation(keyNode);
}
}
public void delete(AVLNode node){
int value = node.value;
delete(value);
}
public void delete(int value) {
AVLNode parentOfDeletedLeaf = deleteBeforeAdjustment(value);
if (parentOfDeletedLeaf != null) {
AVLNode keyNode = detectKeyNode(parentOfDeletedLeaf);
if (keyNode != null){
AVLNode newkeyNode = adjustTreeByRotation(keyNode);
updateHeights(newkeyNode.parent);
}
} else {
System.out.println("The AVLTree doesn't contain " + value);
}
}
private AVLNode detectKeyNode(AVLNode parentOfDeletedLeaf){
AVLNode currentNode = parentOfDeletedLeaf;
while (currentNode != null) {
int bf = currentNode.getBalanceFactor();
if (bf == 2 || bf == -2)
return currentNode;
else
currentNode = currentNode.parent;
}
return null;
}
private AVLNode deleteBeforeAdjustment(int value) {
AVLNode currentNode = root;
while (currentNode != null) {
if (currentNode.value == value)
break;
else
currentNode = value < currentNode.value ?
currentNode.left : currentNode.right;
}
if (currentNode != null) {
while (!currentNode.isLeaf()) {
AVLNode replacement = currentNode.getBalanceFactor() < 0 ?
currentNode.right.getLeftmost() : currentNode.left.getRightmost();
currentNode.value = replacement.value;
currentNode = replacement;
}
AVLNode parent = currentNode.getParent();
if (parent == null) root = null;
else if (currentNode == parent.left)
parent.setLeft(null);
else
parent.setRight(null);
updateHeights(parent);
return parent;
}
return null;
}
private void updateHeights(AVLNode fromParentOfDeletedLeaf){
AVLNode currentNode = fromParentOfDeletedLeaf;
currentNode.adjustHeight();
while (currentNode != null){
currentNode.adjustHeight();
currentNode = currentNode.parent;
}
}
/**
* called by insert(int) keyNode: the node closest to the newly inserted
* node where |BF|>1
* @param newNode : newly added leaf AVLNode
* @return keyNode
*/
private AVLNode updateHeightsAndDetectKeyNode(AVLNode newNode) {
AVLNode keyNode = null;
while (newNode.parent != null) {
if (newNode.getParent().height - newNode.height != 1) {
if (keyNode == null) {
int bf_parent = newNode.getParent().getBalanceFactor();
if (bf_parent > 1 || bf_parent < -1) {
keyNode = newNode.getParent();
break;
}
}
newNode.getParent().height++;
newNode = newNode.getParent();
} else
break;
}
return keyNode;
}
public AVLNode lookup(int value) {
AVLNode currentNode = root;
while (currentNode != null) {
if (currentNode.value == value)
return currentNode;
else
currentNode = value < currentNode.value ?
currentNode.left : currentNode.right;
}
System.out.println("The AVLTree doesn't contain " + value);
return null;
}
/**
* LL or LR type if balance factor == 2; rotateRight for keyNode if bf of
* keyNode.left == -1, it's LR type; rotateLeft for keyNode.left first RR or
* RL type if balance factor == -2; rotateLeft for keyNode if bf of
* keyNode.right == 1, it's RL type; rotateRight for keyNode.right first
*
* @param keyNode
*/
private AVLNode adjustTreeByRotation(AVLNode keyNode) {
AVLNode newKeyNode = null;
int bf_keyNode = keyNode.getBalanceFactor();
if (bf_keyNode == 2) {
if (keyNode.left.getBalanceFactor() == -1) // LR
keyNode.setLeft(keyNode.left.rotateLeft());
newKeyNode = keyNode.rotateRight();
} else if (bf_keyNode == -2) {
if (keyNode.right.getBalanceFactor() == 1) // RL
keyNode.setRight(keyNode.right.rotateRight());
newKeyNode = keyNode.rotateLeft();
} else {
new Exception("There are some bugs").printStackTrace();
}
if (keyNode.parent == null) {
root = newKeyNode;
root.parent = null;
}
else {
if (keyNode == keyNode.parent.left)
keyNode.parent.setLeft(newKeyNode);
else
keyNode.parent.setRight(newKeyNode);
newKeyNode.parent.adjustHeight();
}
return newKeyNode;
}
public void print(Order order) {
switch (order) {
case PREORDER:
root.print_preorder();
break;
case INORDER:
root.print_inorder();
break;
case POSTORDER:
root.print_postorder();
break;
}
}
}
</pre><br />
<br />
<b>AVLNode.java</b><br />
<br />
<pre class="brush:java">package com.avltree;
public class AVLNode {
protected AVLNode left, right, parent;
protected Integer value, height;
private Object object; //enable the AVLTree to store additional info
public AVLNode(int value){
this.value = value;
this.height = 0;
}
public AVLNode(int value, Object object){
this.value = value;
this.height = 0;
this.object = object;
}
public AVLNode(AVLNode node){
this.value = node.value;
this.height = node.height;
this.left = node.left;
this.right = node.right;
}
public Object getObject() {
return object;
}
public void setObject(Object object) {
this.object = object;
}
public int getValue(){
return value;
}
public AVLNode getParent() {
return parent;
}
public AVLNode getLeft() {
return left;
}
protected void setLeft(AVLNode left){
this.left = left;
if (left != null)
left.parent = this;
}
public AVLNode getRight() {
return right;
}
protected void setRight(AVLNode right){
this.right = right;
if (right != null)
right.parent = this;
}
public int getHeight() {
return height;
}
public int getLevel(){
int level = 0;
AVLNode currentNode = this;
while ((currentNode = currentNode.parent) != null)
level++;
return level;
}
protected int getBalanceFactor(){
int leftHeight = getLeftHeight();
int rightHeight = getRightHeight();
return leftHeight - rightHeight;
}
protected void insertToLeaf(AVLNode node){
if (node.value == value){
System.out.println("Duplicate node " + value);
return;
}
else {
if (node.value < value){
if (left == null) setLeft(node);
else left.insertToLeaf(node);
}
else {
if (right == null) setRight(node);
else right.insertToLeaf(node);
}
}
}
/**rotate right
* change of height should be added;
* applies to the LL type situation
*/
protected AVLNode rotateRight(){
AVLNode newRight = new AVLNode(this);
newRight.height = getRightHeight() + 1;
newRight.setLeft(left.right);
left.setRight(newRight);
left.adjustHeight();
return left;
}
/**
* rotate left
* change of height should be added;
* applies to the LL type situation
*/
protected AVLNode rotateLeft(){
AVLNode newLeft = new AVLNode(this);
newLeft.height = getLeftHeight() + 1;
newLeft.setRight(right.left);
right.setLeft(newLeft);
right.adjustHeight();
return right;
}
protected void adjustHeight(){
int leftHeight = getLeftHeight();
int rightHeight = getRightHeight();
height = (leftHeight > rightHeight) ? leftHeight + 1 : rightHeight + 1;
}
protected int getLeftHeight(){
return left == null ? -1 : left.height;
}
protected int getRightHeight(){
return right == null ? -1 : right.height;
}
protected boolean isLeaf(){
return left == null && right == null;
}
protected AVLNode getLeftmost(){
AVLNode leftmost = this;
while (leftmost.left != null)
leftmost = leftmost.left;
return leftmost;
}
protected AVLNode getRightmost(){
AVLNode rightmost = this;
while (rightmost.right != null)
rightmost = rightmost.right;
return rightmost;
}
//////////
protected void print_preorder(){
System.out.print(value + " ");
if (left != null) left.print_preorder();
if (right != null) right.print_preorder();
}
protected void print_inorder(){
if (left != null) left.print_inorder();
System.out.print(value + " ");
if (right != null) right.print_inorder();
}
protected void print_postorder(){
if (left != null) left.print_postorder();
if (right != null) right.print_postorder();
System.out.print(value + " ");
}
}
</pre><br />
<b>Order.java</b><br />
<br />
<pre class="brush:java">package com.avltree;
public enum Order{
PREORDER, INORDER, POSTORDER
}
</pre><br />
<br />
<b>Test.java</b><br />
<br />
<pre class="brush:java">package com.test;
import com.avltree.*;
public class Test {
public static void main(String[] args) {
// int[] values = new int[] {23, 18, 12, 8, 14, 20, 44, 52 };
AVLTree tree = new AVLTree(23,18,44,12,20,52,4,14,16); //LR
// AVLTree tree = new AVLTree(18,12,44,23,52,20,20); //RL
// AVLTree tree = new AVLTree(18,20,12,14,8,4); //LL
// AVLTree tree = new AVLTree(14,12,20,18,23,44); //RR
// AVLTree tree = new AVLTree(23,18,12); //simple LL
// AVLTree tree = new AVLTree(50, 20, 80, 10, 30, 60, 90, 70); //test delete
AVLNode root = tree.getRoot();
System.out.println(root.getValue() + ", with height " + root.getHeight());
System.out.println(root.getLeft().getValue() + ", with height " + root.getLeft().getHeight());
System.out.println(root.getRight().getValue() + ", with height " + root.getRight().getHeight());
System.out.println(root.getLeft().getLeft().getValue() + ", with height " + root.getLeft().getLeft().getHeight());
System.out.println(root.getRight().getRight().getValue() + ", with height " + root.getRight().getRight().getHeight());
int toBeDeleted = 90;
System.out.println("After deleting " + toBeDeleted);
tree.delete(toBeDeleted);
System.out.println(root.getValue() + ", with height " + root.getHeight());
System.out.println(root.getRight().getValue() + ", with height " + root.getRight().getHeight());
// System.out.println(root.getRight().getRight().getValue() + ", with height " + root.getRight().getRight().getHeight());
// System.out.println(root.getRight().getLeft().getValue() + ", with height " + root.getRight().getLeft().getHeight());
// System.out.println(root.getLeft().getRight() == null);
tree.print(Order.PREORDER);
}
}
</pre>Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-42976234636079139332013-05-11T20:46:00.002+08:002013-05-11T20:58:36.571+08:00An Implementation of the Tic-Tac-Toe Artificial Intelligence in Java<br />
This is my Java implementation of the Tic-Tac-Toe artificial intelligence. The first player, O, is the user, and the second player, X, is the computer.<br />
<br />
<div class="brush:java">The algorithm is simple and effective but may not be entirely perfect. The heuristic rules are simply grounded on those basic strategies I put together for playing Tic-Tac-Toe games and presented in the<i> private int computeHeuristicScoreAt(int position) </i>method in <span style="color: #38761d;">ArtificialIntelligence.java</span> below. </div><br />
You can download the Java source codes in <a href="http://sites.google.com/site/moderntone/TicTacToe.zip" target="_blank">http://sites.google.com/site/moderntone/TicTacToe.zip </a>and the executable jar file along with the two images in <a href="http://sites.google.com/site/moderntone/TicTacToeExecutableJar.zip">http://sites.google.com/site/moderntone/TicTacToeExecutableJar.zip</a><br />
<br />
<br />
<img alt="" src="data:image/png;base64,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F+fQz39G8+ZR8EHHx5v/eoKINn6IfqvZ7/r6erYLW2FhIduFLTEx8dy5c8HBwf7+/j4+Pi4uLk5OTuy9cMn9iTQg3mXJWnLuR/KtVm6XJZNUsMdADQpeBMghuU+cZeYegeJrcv8K91mdOnXqqaee0uv1r7/++vr16318fD799NN9+/YdOXLk66+/joyMvHTpEvoti7J+z8xBuo2DAWv7XXaDfv4zevghyr/m+Gzz10jX+CzdppEA+s3r9+qIiPr6+traWjZCv3HjxrVr15KTk2NiYsLCwo4ePbpnzx4fH59Vq1YtXbrUadb6rciTIk9MWLJkyZIlSx5//PHf/OY3jz/++JIlS5544oknn3zyt7/9rZOTk06ne4pHD8Dz5z//edmyZR4eHj4+Pr6+vnv27AkMDAwODj579uzFixdTUlLQb1mU9VuVXqq4VHk9YVW/y27Qww/Rz39GZTccH2zJtWnd+Fa4wkE6+j02dvDevYP37q31++Wac+eMRiM3Qs/Pz2cj9Li4uIiIiJMnTwYEBOzevdvHx+ejjz5au3bt+++//7e//e3dd99dvnz522+/7ezs7OzsvGw2e+KJJ1aI/OpXv3ruuedeeOGFv/71r6+99tqbb77p7Oy8fPnyd999V3xl+I773//935UrV/79739///33165d6+HhYTAYduzY4efnd+DAgaNHj7KN78TExPT0dPRbFlv6nTVjBumqfBry+83G5j//GRXnOL7TFhbbClc4SEe/x8aCuH6fP9/U1FRfX89+i6ywsJDbCz06OjosLOzEiROBgYF79uzZuXPn1q1bPT09N2zY4O7uzg5vsnr16tWrV/9zNnv66afd3d3X8bi7uy9ZsuSVV15566233n333b///e//+Mc/Vq9e7ebmxo7lsg6Ahx0CyMPDY9OmTQaDYdu2bbt27dq7d++BAweOHDkSGhoaERERGxt75cqV7Oxs9FsWG/s9Ewbpao0BZPZ7oJUef4wefmjmbnlzixukhxxGvxWug/furd3zyzXnzzc3Nzc0NNTV1VVWVhYXF3MnAk9ISIiMjDx9+vSJEycOHjzo7++/e/fuTz/9dNu2bR9//LHBYNiyZYunp6enp+fmzZs3bdq0eXZ69tlnfUT0ev3y5cvfe++91atXu7u7b9y40dPT02AwbN26VXxl+I7717/+tW3btn//+987d+7c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" /><br />
<br />
<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<b>ArtificialIntelligence.java</b><br />
<br />
<pre class="brush:java">package com.tictactoe;
import java.awt.Image;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class ArtificialIntelligence extends MouseAdapter{
/** Indexes of the nine positions:
* 0 1 2
* 3 4 5
* 6 7 8
*/
private int[] situation; // length = 9; 0: empty; 1: O; 2: X private JTable table;
private Integer[] heuristicScoresAndPositions;
public ArtificialIntelligence(JTable table){
this.table = table;
situation = new int[9];
}
private static final HashMap<Integer, List<Integer>> linesMap;
static {
linesMap = new HashMap<Integer, List<Integer>>();
List<Integer> lines = new ArrayList<Integer>();
lines.add((1 << 4) + 2); lines.add((3 << 4) + 6);
lines.add((4 << 4) + 8);
linesMap.put(0, lines);
lines = new ArrayList<Integer>();
lines.add((0 << 4) + 2); lines.add((4 << 4) + 7);
linesMap.put(1, lines);
lines = new ArrayList<Integer>();
lines.add((0 << 4) + 1); lines.add((4 << 4) + 6);
lines.add((5 << 4) + 8);
linesMap.put(2, lines);
lines = new ArrayList<Integer>();
lines.add((0 << 4) + 6); lines.add((4 << 4) + 5);
linesMap.put(3, lines);
lines = new ArrayList<Integer>();
lines.add((0 << 4) + 8); lines.add((2 << 4) + 6);
lines.add((1 << 4) + 7); lines.add((3 << 4) + 5);
linesMap.put(4, lines);
lines = new ArrayList<Integer>();
lines.add((2 << 4) + 8); lines.add((3 << 4) + 4);
linesMap.put(5, lines);
lines = new ArrayList<Integer>();
lines.add((0 << 4) + 3); lines.add((2 << 4) + 4);
lines.add((7 << 4) + 8);
linesMap.put(6, lines);
lines = new ArrayList<Integer>();
lines.add((1 << 4) + 4); lines.add((6 << 4) + 8);
linesMap.put(7, lines);
lines = new ArrayList<Integer>();
lines.add((0 << 4) + 4); lines.add((2 << 4) + 5);
lines.add((6 << 4) + 7);
linesMap.put(8, lines);
}
private boolean checkWhetherTheCurrentPlayerWins(int position, boolean byUser){
List<Integer> possibleLines = linesMap.get(position);
for (Integer anotherTwoPositions : possibleLines){
int p1 = anotherTwoPositions >> 4, p2 = anotherTwoPositions & 0xf;
if (byUser){
if (situation[p1] * situation[p2] == 1)
return true;
}
else
if (situation[p1] + situation[p2] == 4)
return true;
}
return false;
}
@Override
public void mousePressed(MouseEvent e) {
boolean notEnded = playByUser(e);
try {
Thread.sleep(100);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
if (notEnded)
playByComputer();
}
private void computeHeuristicScores(){
heuristicScoresAndPositions = new Integer[9]; //score << 8 + row << 4 + column
for (int i = 0 ; i < 9 ; i++){
heuristicScoresAndPositions[i] = (situation[i] > 0) ?
i : computeHeuristicScoreAt(i) + i;
}
}
private int computeHeuristicScoreAt(int position){
List<Integer> possibleLines = linesMap.get(position);
int h = 0;
for (Integer line : possibleLines){
int p1 = line >> 4, p2 = line & 0xf;
int zeroCount = 0, oneCount = 0, twoCount = 0;
switch (situation[p1]) {
case 0: zeroCount++; break;
case 1: oneCount++; break;
default: twoCount++; break;
}
switch (situation[p2]) {
case 0: zeroCount++; break;
case 1: oneCount++; break;
default: twoCount++; break;
}
if (twoCount == 2)
return 1 << 20;
else if (oneCount == 2)
h += 1 << 16;
else {
if (zeroCount == 1 && twoCount == 1)
h += 1 << 12;
else if ( zeroCount * oneCount == 1)
h += 1 << 10;
else if (zeroCount == 2)
h += 1 << 9;
else {
h += 1 << 6;
}
}
}
return h;
}
private void playByComputer(){
computeHeuristicScores();
Arrays.sort(heuristicScoresAndPositions);
int thePosition = heuristicScoresAndPositions[8] & 0xf;
if (situation[thePosition] > 0){
JOptionPane.showMessageDialog(null, "This game is ended in a draw.");
restart();
return;
}
situation[thePosition] = 2;
ImageIcon OorXIcon = new ImageIcon("images/x.png");
Image img = OorXIcon.getImage();
Image newImg = img.getScaledInstance(90, 90,
java.awt.Image.SCALE_SMOOTH);
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
tableModel.setValueAt(new ImageIcon(newImg), thePosition / 3, thePosition % 3);
if (checkWhetherTheCurrentPlayerWins(thePosition, false)){
JOptionPane.showMessageDialog(null, "Congratuations! Player X Wins.");
restart();
return;
}
}
private boolean playByUser(MouseEvent e){
int column = table.columnAtPoint(e.getPoint());
int row = table.rowAtPoint(e.getPoint());
if (table.getValueAt(row, column) != null)
return false;
int position = row * 3 + column;
situation[position] = 1;
ImageIcon OorXIcon = new ImageIcon("images/o.png");
Image img = OorXIcon.getImage();
Image newImg = img.getScaledInstance(90, 90,
java.awt.Image.SCALE_SMOOTH);
DefaultTableModel tableModel = (DefaultTableModel) table.getModel();
tableModel.setValueAt(new ImageIcon(newImg), row, column);
if (checkWhetherTheCurrentPlayerWins(position, true)){
JOptionPane.showMessageDialog(null, "Congratuations! Player O Wins.");
restart();
return false;
}
return true;
}
public void restart(){
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++)
table.setValueAt(null, i, j);
}
situation = new int[9];
}
}
</pre><br />
<br />
<b>ImageRenderer.java</b><br />
<br />
<br />
<pre class="brush:java">package com.tictactoe;
import java.awt.Component;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.table.DefaultTableCellRenderer;
public class ImageRenderer extends DefaultTableCellRenderer {
private static final long serialVersionUID = 1L;
JLabel lbl = new JLabel();
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
lbl.setIcon((ImageIcon) value);
return lbl;
}
}
</pre><br />
<b>TictacToe.java</b><br />
<br />
<pre class="brush:java">package com.tictactoe;
import javax.swing.*;
import java.awt.*;
import javax.swing.border.EmptyBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.table.DefaultTableModel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
public class TicTacToe extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private static JTable table;
private ArtificialIntelligence ai;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TicTacToe frame = new TicTacToe();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private void setTable() {
final Object[][] tableItems = new Object[][] { { null, null, null },
{ null, null, null }, { null, null, null }, };
table = new JTable();
table.setGridColor(new Color(255, 0, 0));
ai = new ArtificialIntelligence(table);
table.addMouseListener(ai);
table.setModel(new DefaultTableModel(tableItems, new String[] { "0",
"1", "2" }) {
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
});
table.setBackground(new Color(153, 255, 255));
table.setBorder(new EtchedBorder(EtchedBorder.RAISED, new Color(107,
142, 35), null));
table.setBounds(89, 70, 270, 270);
for (int i = 0; i < 3; i++) {
table.setRowHeight(i, 90);
table.getColumnModel().getColumn(i)
.setCellRenderer(new ImageRenderer());
}
}
public TicTacToe() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 470);
setTitle("Tic-Tac-Toe");
setResizable(false);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
setTable();
contentPane.add(table);
JButton btnNewButton = new JButton("Restart");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
ai.restart();
}
});
btnNewButton.setFont(new Font("SansSerif", Font.BOLD, 16));
btnNewButton.setBounds(180, 380, 90, 25);
contentPane.add(btnNewButton);
}
}
</pre><br />
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com1tag:blogger.com,1999:blog-5567997506903791991.post-49376621703481376692013-04-28T17:00:00.001+08:002013-04-28T17:21:34.337+08:00A Java Implementation of the K-means Clustering Algorithm for 3D points<br />
In data mining, k-means clustering is a method of cluster analysis that aims to partition n points into k clusters where each point belongs to the cluster with the nearest mean. This results in a partitioning of the data space into Voronoi cells.<br />
<br />
The following codes are my implementation of the K-means algorithm for 3D points. The Java project can be downloaded from <a href="https://sites.google.com/site/moderntone/K-Means.zip">https://sites.google.com/site/moderntone/K-Means.zip</a><br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<b>Cluster.java</b><br />
<br />
<pre class="brush:java">package kmeans;
import java.util.*;
public class Cluster {
private final List<point> points;
private Point centroid;
public Cluster(Point firstPoint) {
points = new ArrayList<point>();
centroid = firstPoint;
}
public Point getCentroid(){
return centroid;
}
public void updateCentroid(){
double newx = 0d, newy = 0d, newz = 0d;
for (Point point : points){
newx += point.x; newy += point.y; newz += point.z;
}
centroid = new Point(newx / points.size(), newy / points.size(), newz / points.size());
}
public List<point> getPoints() {
return points;
}
public String toString(){
StringBuilder builder = new StringBuilder("This cluster contains the following points:\n");
for (Point point : points)
builder.append(point.toString() + ",\n");
return builder.deleteCharAt(builder.length() - 2).toString();
}
}
</pre><br />
<b>Clusters.java</b><br />
<br />
<pre class="brush:java">package kmeans;
import java.util.*;
public class Clusters extends ArrayList<cluster> {
private static final long serialVersionUID = 1L;
private final List<point> allPoints;
private boolean isChanged;
public Clusters(List<point> allPoints){
this.allPoints = allPoints;
}
/**@param point
* @return the index of the Cluster nearest to the point
*/
public Integer getNearestCluster(Point point){
double minSquareOfDistance = Double.MAX_VALUE;
int itsIndex = -1;
for (int i = 0 ; i < size(); i++){
double squareOfDistance = point.getSquareOfDistance(get(i).getCentroid());
if (squareOfDistance < minSquareOfDistance){
minSquareOfDistance = squareOfDistance;
itsIndex = i;
}
}
return itsIndex;
}
public boolean updateClusters(){
for (Cluster cluster : this){
cluster.updateCentroid();
cluster.getPoints().clear();
}
isChanged = false;
assignPointsToClusters();
return isChanged;
}
public void assignPointsToClusters(){
for (Point point : allPoints){
int previousIndex = point.getIndex();
int newIndex = getNearestCluster(point);
if (previousIndex != newIndex)
isChanged = true;
Cluster target = get(newIndex);
point.setIndex(newIndex);
target.getPoints().add(point);
}
}
}
</pre><br />
<b>Point.java</b> <br />
<br />
<pre class="brush:java">package kmeans;
public class Point {
private int index = -1; //denotes which Cluster it belongs to
public double x, y, z;
public Point(double x, double y, double z) {
this.x = x;
this.y = y;
this.z = z;
}
public Double getSquareOfDistance(Point anotherPoint){
return (x - anotherPoint.x) * (x - anotherPoint.x)
+ (y - anotherPoint.y) * (y - anotherPoint.y)
+ (z - anotherPoint.z) * (z - anotherPoint.z);
}
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String toString(){
return "(" + x + "," + y + "," + z + ")";
}
}
</pre><br />
<b>KMeans.java</b><br />
<br />
<pre class="brush:java">package kmeans;
import java.io.*;
import java.util.*;
public class KMeans {
private static final Random random = new Random();
public final List<point> allPoints;
public final int k;
private Clusters pointClusters; //the k Clusters
/**@param pointsFile : the csv file for input points
* @param k : number of clusters
*/
public KMeans(String pointsFile, int k) {
if (k < 2)
new Exception("The value of k should be 2 or more.").printStackTrace();
this.k = k;
List<point> points = new ArrayList<point>();
try {
InputStreamReader read = new InputStreamReader(
new FileInputStream(pointsFile), "UTF-8");
BufferedReader reader = new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null)
points.add(getPointByLine(line));
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
this.allPoints = Collections.unmodifiableList(points);
}
private Point getPointByLine(String line) {
String[] xyz = line.split(",");
return new Point(Double.parseDouble(xyz[0]),
Double.parseDouble(xyz[1]), Double.parseDouble(xyz[2]));
}
/**step 1: get random seeds as initial centroids of the k clusters
*/
private void getInitialKRandomSeeds(){
pointClusters = new Clusters(allPoints);
List<point> kRandomPoints = getKRandomPoints();
for (int i = 0; i < k; i++){
kRandomPoints.get(i).setIndex(i);
pointClusters.add(new Cluster(kRandomPoints.get(i)));
}
}
private List<point> getKRandomPoints() {
List<point> kRandomPoints = new ArrayList<point>();
boolean[] alreadyChosen = new boolean[allPoints.size()];
int size = allPoints.size();
for (int i = 0; i < k; i++) {
int index = -1, r = random.nextInt(size--) + 1;
for (int j = 0; j < r; j++) {
index++;
while (alreadyChosen[index])
index++;
}
kRandomPoints.add(allPoints.get(index));
alreadyChosen[index] = true;
}
return kRandomPoints;
}
/**step 2: assign points to initial Clusters
*/
private void getInitialClusters(){
pointClusters.assignPointsToClusters();
}
/** step 3: update the k Clusters until no changes in their members occur
*/
private void updateClustersUntilNoChange(){
boolean isChanged = pointClusters.updateClusters();
while (isChanged)
isChanged = pointClusters.updateClusters();
}
/**do K-means clustering with this method
*/
public List<cluster> getPointsClusters() {
if (pointClusters == null) {
getInitialKRandomSeeds();
getInitialClusters();
updateClustersUntilNoChange();
}
return pointClusters;
}
public static void main(String[] args) {
String pointsFilePath = "files/randomPoints.csv";
KMeans kMeans = new KMeans(pointsFilePath, 6);
List<cluster> pointsClusters = kMeans.getPointsClusters();
for (int i = 0 ; i < kMeans.k; i++)
System.out.println("Cluster " + i + ": " + pointsClusters.get(i));
}
}
</pre><br />
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com5tag:blogger.com,1999:blog-5567997506903791991.post-22773520704888024612013-04-07T00:08:00.000+08:002013-04-08T23:24:46.329+08:00An implementation of the R-Tree algorithm in Java<br />
The following classes are my implementation of <b>R-Tree</b>, which can be used to construct an R-Tree for a list of points in a plane. The package along with a csv file storing points to be inserted can be downloaded from <a href="https://sites.google.com/site/moderntone/RTree.zip">https://sites.google.com/site/moderntone/RTree.zip</a>. The method to split an overflowing node is the Quadratic method by Antonin Guttman. <br />
<br />
I have done a little testing but am still not very sure that the source codes below are entirely free of bugs. Any reader who finds bugs is welcomed to report them in comments below. And if I find some bugs afterwards, I will also modify this post. <br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<b>MBR.java</b><br />
<br />
<pre class="brush:java">package RTree;
import java.util.ArrayList;
import java.util.Collections;
public class MBR {
protected double left, right, top, bottom;
private Double area;
private ArrayList<MBR> children; //an array of children MBRs
//an array of leaf entries; only leaf MBRs have entries with nonzero size
private ArrayList<MBR> entries;
private MBR parent; //All leaf entries and node entries except the root have a parent MBR
private static int idTrace = 0;
private Integer id;
private static final QuadraticComparator qc = new QuadraticComparator();
private static Integer m, M;
public static void initialize(int m, int M){
if (M < 2 || m > M / 2)
new Exception("Improper m and M values").printStackTrace();
MBR.m = m; MBR.M = M;
}
public MBR(double left, double right, double top, double bottom) {
this.left = left; this.right = right;
this.top = top; this.bottom = bottom;
if (left > right || bottom > top)
new Exception("Left shouldn't be larger than right, " +
"and bottom shouldn't be larger than top").printStackTrace();
children = new ArrayList<MBR>(); entries = new ArrayList<MBR>();
setId();
}
/**
* search the leaf MBR the leafEntry inserts to;
* @param leafEntry
*/
public MBRPair search(MBR leafEntry) {
MBRPair targetMbrPair = null;
if (children.size() == 0) //has no children but may have leaf entries
targetMbrPair = new MBRPair(this, leafEntry);
else {
ArrayList<MBRPair> mbrPairs = new ArrayList<MBRPair>();
for (MBR child : children)
mbrPairs.add(new MBRPair(child, leafEntry));
targetMbrPair = Collections.min(mbrPairs).getTarget().search(leafEntry);
}
return targetMbrPair;
}
/**
* If the leaf node is not full, an entry is inserted. Else
–Split the leaf node
–Update the directory rectangles of the ancestor nodes if necessary
* return null if no split occurs, or root MBR if it does
*/
public MBR splitWhenFull(){
MBR parentMbr = null;
if (getLeafEntries().size() == M + 1){
parentMbr = split_quardratic_forLeafEntries();
// System.out.println("MBR 72");
// parentMbr.printDetails();
}
else
return null;
while (parentMbr.getChildren().size() == M + 1) {
parentMbr = parentMbr.split_quardratic_forNoneLeafEntries();
}
return parentMbr.getRoot();
}
private void updateNodes(MBR newChild){
MBRPair temp = new MBRPair(this, newChild);
if (temp.getEnlargement() == 0) return;
adjustRegion(temp.getMergedMBR());
}
/**
* save calculation time a bit
* @param newChild
* @param pair
*/
private void updateNodes(MBR newChild, MBRPair pair){
MBRPair temp;
if (pair.getEnlargement() == 0) return;
adjustRegion(pair.getMergedMBR());
MBR ancestor = parent;
while (ancestor != null){
temp = new MBRPair(ancestor, newChild);
if (temp.getEnlargement() == 0) return;
ancestor.adjustRegion(temp.getMergedMBR());
ancestor = ancestor.getParent();
}
}
public void addNonLeafChild(MBR nonLeafChild){
nonLeafChild.setParent(this);
children.add(nonLeafChild);
updateNodes(nonLeafChild);
}
/**
* reduce calculation time a bit compared to addNonLeafChild(MBR nonLeafChild)
*/
public void addNonLeafChild(MBR nonLeafChild, MBRPair pair){
nonLeafChild.setParent(this);
children.add(nonLeafChild);
updateNodes(nonLeafChild, pair);
}
public void addLeafChild(MBR leafChild){
leafChild.setParent(this);
entries.add(leafChild);
updateNodes(leafChild);
}
/**
* reduce calculation time a bit compared to addLeafChild(MBR leafChild)
*/
public void addLeafChild(MBR leafChild, MBRPair pair){
leafChild.setParent(this);
entries.add(leafChild);
updateNodes(leafChild, pair);
}
public MBR split_quardratic_forLeafEntries(){
MBR group1 = this;
ArrayList<MBR> group1sLeafEntries = group1.getLeafEntries();
ArrayList<MBRPair> allPairs = new ArrayList<MBRPair>();
for (int j = 1; j < group1sLeafEntries.size(); j ++){
for (int i = 0 ; i < j; i++)
allPairs.add(new MBRPair(group1sLeafEntries.get(i), group1sLeafEntries.get(j)));
}
MBRPair theBestPair = Collections.max(allPairs, qc);
MBR group1_firstLeafEntry = theBestPair.getTarget();
MBR group2_firstLeafEntry = theBestPair.getToBeInserted();
ArrayList<MBR> leafEntries_bak = new ArrayList<MBR>();
leafEntries_bak.addAll(group1sLeafEntries);
leafEntries_bak.remove(group1_firstLeafEntry);
leafEntries_bak.remove(group2_firstLeafEntry);
group1sLeafEntries.clear();
group1.adjustRegion(group1_firstLeafEntry);
group1.addLeafChild(group1_firstLeafEntry);
if (parent == null){ //happens when splitting the root; the parent becomes the new root
parent = new MBR(left, right, top, bottom);
parent.addNonLeafChild(group1);
}
MBR group2 = new MBR(group2_firstLeafEntry.left, group2_firstLeafEntry.right, group2_firstLeafEntry.top, group2_firstLeafEntry.bottom);
parent.addNonLeafChild(group2);
group2.addLeafChild(group2_firstLeafEntry);
for (MBR child : leafEntries_bak){
MBRPair pair1 = new MBRPair(group1, child);
MBRPair pair2 = new MBRPair(group2, child);
if (group1.getLeafEntries().size() == M - m + 1){
group2.addLeafChild(child, pair2);
continue;
}else if (group2.getLeafEntries().size() == M - m + 1){
group1.addLeafChild(child, pair1);
continue;
}
if (pair1.getEnlargement() < pair2.getEnlargement()){
group1.addLeafChild(child, pair1);
}else if (pair2.getEnlargement() < pair1.getEnlargement() ){
group2.addLeafChild(child, pair2);
}else {
if (group1.getArea() < group2.getArea()){
group1.addLeafChild(child, pair1);
}else if (group2.getArea() < group1.getArea()){
group2.addLeafChild(child, pair2);
}
else {
if (group1.getChildren().size() <= group2.getChildren().size())
group1.addLeafChild(child, pair1);
else
group2.addLeafChild(child, pair2);
}
}
}
// System.out.println("MBR 216 : two groups " + group1.getLeafEntries().size() + ", " + group2.getLeafEntries().size());
// System.out.println("MBR 217 " + group1.left + ", " + group1.right + ", " + group1.top + ", " + group1.bottom);
// System.out.println("MBR 218 " + group2.left + ", " + group2.right + ", " + group2.top + ", " + group2.bottom);
return parent;
}
public MBR split_quardratic_forNoneLeafEntries(){
//this: group1; this.getChildren(): group1sChildren
MBR group1 = this;
ArrayList<MBR> group1sChildren = group1.getChildren();
ArrayList<MBRPair> allPairs = new ArrayList<MBRPair>();
for (int j = 1; j < group1sChildren.size(); j ++){
for (int i = 0 ; i < j; i++)
allPairs.add(new MBRPair(group1sChildren.get(i), group1sChildren.get(j)));
}
MBRPair theBestPair = Collections.max(allPairs, qc);
MBR group1_firstMBR = theBestPair.getTarget();
MBR group2_firstMBR = theBestPair.getToBeInserted();
ArrayList<MBR> children_bak = new ArrayList<MBR>();
children_bak.addAll(group1sChildren);
children_bak.remove(group1_firstMBR);
children_bak.remove(group2_firstMBR);
group1sChildren.clear();
group1.adjustRegion(group1_firstMBR);
group1.addNonLeafChild(group1_firstMBR);
if (parent == null){ //parent becomes new root
parent = new MBR(left, right, top, bottom);
parent.addNonLeafChild(group1);
}
MBR group2 = new MBR(group2_firstMBR.left, group2_firstMBR.right, group2_firstMBR.top, group2_firstMBR.bottom);
parent.addNonLeafChild(group2);
group2.addNonLeafChild(group2_firstMBR);
for (MBR child : children_bak){
MBRPair pair1 = new MBRPair(group1, child);
MBRPair pair2 = new MBRPair(group2, child);
if (group1.getChildren().size() == M - m + 1){
group2.addNonLeafChild(child, pair2);
continue;
}else if (group2.getChildren().size() == M - m + 1){
group1.addNonLeafChild(child, pair1);
continue;
}
if (pair1.getEnlargement() < pair2.getEnlargement()){
group1.addNonLeafChild(child, pair1);
}else if (pair2.getEnlargement() < pair1.getEnlargement() ){
group2.addNonLeafChild(child, pair2);
}else {
if (group1.getArea() < group2.getArea()){
group1.addNonLeafChild(child, pair1);
}else if (group2.getArea() < group1.getArea()){
group2.addNonLeafChild(child, pair2);
}
else {
if (group1.getChildren().size() <= group2.getChildren().size())
group1.addNonLeafChild(child, pair1);
else
group2.addNonLeafChild(child, pair2);
}
}
}
return parent;
}
/**
* adjust regon and leave other info unchanged
* @param newRegionMBR
*/
private void adjustRegion(MBR newRegionMBR){
this.left = newRegionMBR.left; this.right = newRegionMBR.right;
this.top = newRegionMBR.top; this.bottom = newRegionMBR.bottom;
}
public Double getArea(){
if (area == null)
area = (right - left) * (top - bottom);
return area;
}
public MBR getParent() {
return parent;
}
public void setParent(MBR parent) {
this.parent = parent;
}
public ArrayList<MBR> getChildren() {
return children;
}
public Integer getId() {
return id;
}
public void setId() {
if (id == null)
id = ++idTrace;
}
public ArrayList<MBR> getLeafEntries() {
return entries;
}
public MBR getRoot(){
if (parent == null)
return this;
MBR root = parent;
while (root.getParent() != null)
root = root.getParent();
return root;
}
public void printDetails(){
System.out.println("MBR.printDetails(): for MBR with id = " + id);
System.out.println("left = " + left + ", right = " + right
+ ", top = " + top + ", bottom = " + bottom);
System.out.println("children.size() = " + children.size() + ", leafEntries.size() = " + entries.size());
for (int i = 0; i < children.size(); i++){
System.out.println("child " + i + "left = " + children.get(i).left + ", right = " + children.get(i).right
+ ", top = " + children.get(i).top + ", bottom = " + children.get(i).bottom);
}
if (parent != null){
System.out.println("parent.left = " + parent.left + ", parent.right = " + parent.right
+ ", parent.top = " + parent.top + ", parent.bottom = " + parent.bottom);
}
}
}
</pre>
<b>MBRPair.java</b>
<pre class="brush:java">package RTree;
public class MBRPair implements Comparable<MBRPair>{
/**
* An MBRPair represent a pair of MBR;
* Used to facilitate the determination of the most proper leaf MBR an entry should be inserted to
* or the most proper non-leaf MBR an MBR should be inserted to
*/
private Double enlargement;
private final MBR target, toBeInserted;
private MBR mergedMBR; //merge target and toBeInserted into one by adjusting left, right, top, bottom
public MBRPair(MBR target, MBR toBeInserted){
this.target = target;
this.toBeInserted = toBeInserted;
}
/**
* �VIf there is a node whose directory rectangle contains the mbbto be inserted, then search the subtree
�VElse choose a node such that the enlargement of its directory rectangle is minimal, then search the subtree
�VIf more than one node satisfy this, choose the one with smallest area
*/
@Override
public int compareTo(MBRPair anotherPair) {
int firstComparison = getEnlargement().compareTo(anotherPair.getEnlargement());
if (firstComparison != 0)
return firstComparison;
return target.getArea().compareTo(anotherPair.getTarget().getArea());
}
public Double getEnlargement() {
if (enlargement == null){
double leftMost, rightMost, topMost, bottomMost;
leftMost = min(target.left, toBeInserted.left);
rightMost = max(target.right, toBeInserted.right);
topMost = max(target.top, toBeInserted.top);
bottomMost = min(target.bottom, toBeInserted.bottom);
mergedMBR = new MBR(leftMost, rightMost, topMost, bottomMost);
enlargement = mergedMBR.getArea() - target.getArea();
}
return enlargement;
}
private double max(double a, double b){
return a > b ? a : b;
}
private double min(double a, double b){
return a < b ? a : b;
}
public MBR getTarget() {
return target;
}
public MBR getToBeInserted() {
return toBeInserted;
}
public MBR getMergedMBR() {
if (mergedMBR == null)
getEnlargement();
return mergedMBR;
}
}
</pre>
<b>QuadraticComparator.java</b>
<pre class="brush:java">
package RTree;
import java.util.Comparator;
public class QuadraticComparator implements Comparator<MBRPair>{
@Override
public int compare(MBRPair pair1, MBRPair pair2) {
Double additionalArea1 = computeAdditionalArea(pair1);
Double additionalArea2 = computeAdditionalArea(pair2);
return additionalArea1.compareTo(additionalArea2);
}
private double computeAdditionalArea(MBRPair pair){
return pair.getMergedMBR().getArea() - pair.getTarget().getArea() - pair.getToBeInserted().getArea();
}
}
</pre>
<b>RTree.java</b>
<pre class="brush:java">package RTree;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class RTree {
public RTree() {
}
MBR root = null;
public static void main(String[] args) {
MBR.initialize(3, 7);
RTree rTree = new RTree();
String pointsFilePath = "files/randomPoints.csv";
MBR root = rTree.constructRTree(pointsFilePath);
root.printDetails();
}
public MBR constructRTree(String pointsFilePath){
ArrayList<MBR> leafMBRsToBeInserted = readLeafMBRs(pointsFilePath);
if (leafMBRsToBeInserted.size() == 0)
return root = null;
else{
MBR firstLeafMBR = leafMBRsToBeInserted.get(0);
root = new MBR(firstLeafMBR.left, firstLeafMBR.right, firstLeafMBR.top, firstLeafMBR.bottom);
root.addLeafChild(firstLeafMBR);
}
for (int i = 1 ; i < leafMBRsToBeInserted.size(); i++){
MBRPair pair = root.search(leafMBRsToBeInserted.get(i));
MBR targetMbr = pair.getTarget();
targetMbr.addLeafChild(leafMBRsToBeInserted.get(i), pair);
MBR newRoot = targetMbr.splitWhenFull();
if (newRoot != null)
root = newRoot;
}
return root;
}
/**
* Read leaf MBRs to be inserted to the RTree from file.
* The leaf MBrs of the RTree are zero-area points.
*/
private ArrayList<MBR> readLeafMBRs(String pointsFilePath){
ArrayList<MBR> points = new ArrayList<MBR>();
try {
InputStreamReader read = new InputStreamReader(new FileInputStream(pointsFilePath), "utf-8");
BufferedReader reader = new BufferedReader(read);
String line;
while ((line = reader.readLine()) != null) {
int comma = line.indexOf(",");
double x = Double.parseDouble(line.substring(0, comma));
double y = Double.parseDouble(line.substring(comma + 1));
points.add(new MBR(x, x, y, y));
} reader.close();
} catch (Exception e) {
e.printStackTrace();
}
return points;
}
}
</pre>Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com9tag:blogger.com,1999:blog-5567997506903791991.post-53062492698462540682013-03-15T00:49:00.003+08:002013-03-16T00:44:30.074+08:00Implementation of hashcode for a more efficient String hash<br />
Unicode uses 16 bits per character, allowing for 2^16 possibilities. A String with 2147483647 (Integer.MAX_VALUE) characters has 2^34359738352 possibilities. What a large number! Thus, it is of no doubt that the hashCode method of the String class is less efficient than that of Long, since the number of all unique possibilities of a String is by far larger than Long's.<br />
<br />
However, regarding Strings that match certain patterns, the number of unique possibilities is much smaller. For example, the number of English vocabularies with length below is lower than 2^64, the number of a Long's possibilities. For a class with a single non-static field "long test", the hashcode is simply "31 + (int) (test ^ (test >>> 32));", which is much more efficient than that of String, "s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]".<br />
<br />
The Java code below is an implementation of a more efficient hashcode for "English vocabularies with length below 12." (The first character can be upper-cased, and other characters should be lower-cased. No whitespace, hyphens, or other character are allowed.)<br />
<br />
<br />
<pre class="brush:java">package com.packa9e;
import java.util.HashMap;
public class Vocabulary {
private final StringBuilder vocabulary;
private long[] digits = new long[12];
public Vocabulary(String vocabulary){
this.vocabulary = new StringBuilder(vocabulary);
if (hasInputError())
new Exception("Not a valid vocabulary").printStackTrace();
}
private boolean hasInputError(){
if (vocabulary.length() > 12 )
return true;
if (vocabulary.charAt(0) >= 65 && vocabulary.charAt(0) <= 90) //A-Z
digits[0] = vocabulary.charAt(0) - 38; // A - 27 ... Z - 52
else if (vocabulary.charAt(0) >= 97 && vocabulary.charAt(0) <= 122)
digits[0] = vocabulary.charAt(0) - 96; //a - 1 .. z - 26
else
return true;
for (int i = 1 ; i < vocabulary.length(); i++){
if (vocabulary.charAt(i) >= 97 && vocabulary.charAt(i) <= 122)
digits[i] = vocabulary.charAt(0) - 96; //a - 1 ... z - 26
else
return true;
}
return false;
}
@Override
public int hashCode() {
Long longValue = digits[0] << 55;
for (int i = 1 ; i < vocabulary.length(); i++){
longValue += digits[i] << (5 * (11 - i));
}
return longValue.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Vocabulary other = (Vocabulary) obj;
if (vocabulary == null) {
if (other.vocabulary != null)
return false;
} else if (!vocabulary.toString().equals(other.vocabulary.toString()))
return false;
return true;
}
public static void main(String[] args) {
HashMap<Vocabulary, String> hashMap = new HashMap<Vocabulary, String>();
Vocabulary v1 = new Vocabulary("test");
hashMap.put(v1, "reg4te");
Vocabulary v2 = new Vocabulary("test");
System.out.println(hashMap.get(v2));
}
}
</pre>Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-3103498121782491582013-03-12T00:31:00.000+08:002013-03-12T00:32:42.079+08:00Implementation of a Card Shuffling Algorithm in Java<br />
About 15 months ago, I had an interview in a company around Da Qiao Tou station. The supervisor asked me about how to efficiently shuffle cards by C#, and I didn't quickly figured out a good answer. Finally, he said that the most efficient card Shuffling algorithm is to do thousands or a millions times of swap of two randomly chosen cards. I didn't think clearly and assumed that his view is correct. Now I realized that the algorithm he said is not efficient enough, much less the most efficient algorithm.<br />
<br />
The following is a Java implementation of a card shuffling algorithm which took just a few thousands of simple addition by 1 or subtraction by one. The generated deck of card is completely random provided that random numbers generated with <i>java.util.Random</i> and its methods are random. You can copy the codes and configure them on your own.<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<b>Card.java</b><br />
<br />
<pre class="brush:java">package com.cardshuffler;
public class Card {
public enum Suit{
Club, Diamond, Heart, Spade,
}
public final Suit suit;
public final int number; //J is represented by 11, and Q by 12, K by 13
public Card(Suit suit, int number) {
this.suit = suit;
this.number = number;
}
@Override
public String toString(){
return suit + "-" + number;
}
}
</pre>
<br />
<b>CardShuffler.java</b><br />
<br />
<pre class="brush:java">package com.cardshuffler;
import java.util.*;
import com.cardshuffler.Card.Suit;
public class CardShuffler {
private Random random;
private ArrayList<card> cards;
public CardShuffler() {
cards = new ArrayList<card>();
random = new Random();
}
public void shuffle() {
final int cardNum = 52;
boolean[] selected = new boolean[cardNum];
for (int i = cardNum; i >= 1; i--) {
int count = -1;
int randomNumber = random.nextInt(i) + 1;
for (int j = 0; j < randomNumber ; j++){
count++;
while (selected[count])
count++;
}
selected[count] = true;
cards.add(getCardByNumber(count));
}
}
/**
* the input number should be between 0 to 51
* @param number
* @return
*/
private Card getCardByNumber(int number) {
Suit suit = null;
int a = number / 13;
switch (a) {
case 0:
suit = Suit.Club;
break;
case 1:
suit = Suit.Diamond;
break;
case 2:
suit = Suit.Heart;
break;
case 3:
suit = Suit.Spade;
break;
}
return new Card(suit, number%13 + 1);
}
public ArrayList<card> getCards() {
return cards;
}
public static void main(String[] args) {
CardShuffler shuffler = new CardShuffler();
shuffler.shuffle();
List<card> shuffledCards = shuffler.getCards();
System.out.println("The resulting shuffled cards are:");
for (Card card : shuffledCards)
System.out.println(card);
}
}</card></card></card></card></pre>
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-9116256888295334752013-03-10T22:31:00.000+08:002013-03-16T00:22:33.377+08:00A Java Code Searcher<br />
Recently, in my computer, I noticed by accident that the "File Search" functionality in my Eclipse Helios is broken, and I don't know why. Whenever I press Ctrl + H, click the File Search tab, input a string I want to search, and click the search button, the result is always "0 matches in working space." After searching the Internet a while to look forward a solution, I still haven't found one. Thus, I wrote a simple but useful executable jar application for searching codes inside a project. The following are the codes and a tutorial about how to it.<br />
<br />
<b>Step 1</b>: Download the <span style="color: #274e13;"><i>CodeSearcher.jar</i></span> from <a href="https://sites.google.com/site/moderntone/CodeSearcher.jar?attredirects=0&d=1">https://sites.google.com/site/moderntone/CodeSearcher.jar?attredirects=0&d=1</a><br />
<br />
<b>Step 2:</b> Copy the <span style="color: #274e13;"><i>CodeSearcher.jar</i></span> to the project folder <br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPYAAAChCAIAAAB7+9XQAAAXg0lEQVR4nO2dbVAUV7qA+0/+W5VU7eZXsvfm5lJJxawo7jrJstatjeSjUnpTq8FEDRrTie6mornZKAoGUBDRxF4FYlQ+JH6gokEJ7YAQQAMqfgGiohMEBHQYGBiGj2mYwXN/9ExPf5ye6YEZeqbnfeota+bMe0438nA40/Q7h/jh50YEABqFYRgCFAc0DCgOaBxQHNA4oDigcVRQPGJV9nQeDghzQHFA4wRE8cZT8VxIXw2I4gZKp6MM/h9XCTRJkLQ6hwa843/FG4rihU83ihI8Kk6ThAuftPGuuHtkf/sIigc1flM8K3lHVvKOrOT08Z7c8Z7c0bbsvsadnTWJ986uz0pORwgt3HKczZRVnCYJgucpTfogjhfFaZJntk8DKwAUD2r8pviOzd+m/vsyGryAD57ZMopPbanhuXdglzGgeFDjm+JVVVXp6elyr365fi/qLcEHQicv3I1YlR2xKjuvHHc4miRkLeStXgQy8dv5vwDc7a42udGlmQgZKJ3oYAZKp6NoSudqEPWiSYKkXW2CX0OiwcXjANOBD4pXVla+/PLLL774olzCx5/+gLoPy4ZnZKdCwRqD90y09uA84g/Em71ZcQWHwGfSlEtSA6VjEwyUTqcj3T8tojOlSW5kA6VzngducME4wDShVHHW79jYWA+KI4RMV/I6jiw2XclDCMWtzo1bncPGR6tz4j7J+Yh9/ElO3OoccU85xcXtLl1E7ZyiwpldOK06PXf/LGAzebM4wSnOHQxznjibsYPzxwGmC0WKc34vXbrUs+IdRxYjx62OI4sRQmc6JuTif5f9KOkqs5aYhOJeLJIZgXtR8LuBm8Vdp6Zccezgql3ZDF+8K87327PipupdTEvSogiCaUkyVX+LEDp+Z+z4Heb4nTFeMG8sLsR2NwgXqQZKR9IIs1DhTcKudgOlI3DtrosnrrFcye4JX5zJU9N9PgI1+b3YRQ12wSNzGqD4tONd8fT09Bd5pKWlyWV2HFnMKc5O5Ll11txaa26dNafWmltnza2zzltU5Ol0eL/fse/bMMsOtpXm2cNbaeDeggp/jMSZ/EEpzCwuSOHeFciv/iVvN0HxacZvFw07Sjaaq+OYlqSmnGimJclcFfewZOMeum9Pae8eundPad8euvfVt4unfiAA8An/KX5k8cSDFPOFrxZFEOYLX020pnQcWRyxoIQfUz8KAPiK3xSvS535pDPb0kKVZr5naaHQw+y61JlTHxYApojfFO++lF+XOpMf3Zfypz4sAEwRKIkANA4oDmgcUBzQOKA4oHFAcUDjhIDiZHSk2qcAhDBBpPjFnXO5QAilxDwrDbXPEQg9gkXxU/98gf+082ZZSsyz46PlxrrMXcsXsA9AcWASBIXiF1PnMsZ9jHGfpYUyNqS3V28caKtLiXnWWJfZdDKJjI5kH4DiwCSYJsU9V8RVpEYylsv8iF84PyXm2V3LF5DRkWzsWr4gJeZZ3Lqcu6OPq6zxUIQGhB3TobjXiriKbyIZYzE/HKNt3EKFjI70sFDh1TAYDOLiMWkRGhB2BFzxSVTEnfryVQ8h7ikoVvNahAaEHYFVfHIVcUz7PmwYG9IxirNwJTpeitCAsCOAik+lIo5pSReFnN8GiuJ9EoTBWxEaEHYEUPGpVMQxDUn88DR/u99QKilCA8IO9S8aYivimAZ3ePQbALwQBIrjKuJyyf/mh4qnB4Q66isOFXFAQFFfcaiIAwKK+ooDQEABxQGNA4oDGgcUBzQOKA5oHA0qvv7136l9Cr6jzid6hsVNPFpQvCplVs2mV7jYu/g5/tOqlFlqn6ACQPGAoQXFaza8bKjK7b5yqPvKoRsnd+aui+U/rdnwstonqABQPGBoQfGqf73UfeXQ2OB5c+PRu/rvc9fF8p9W/esltU9QAaB4wAh2xT1XxLGcX/9S95VD5saj5sajd8v2sYpzT8+v96A4dm836WftC/ZkI2l3lszWLUrGFLV73nFOWLyHz4G95vAEteJeK+JYzn0ecePkzrv67++W7buUnxK/cD7/6bnPI2T64fdek9sdjrcnG/+x6Fvu25gKd5wTF+/BXnO+ELyKT6IiLnddbPzC+WzkrotlY+/i5/DXWKS/peW2zpLb6kS6vFA+pk87zomK92CvOV8IUsUnVxHHvr+MXzif/3bz9Mf/he8ZtIrLucQV78Fec74QjIpPpSJO+nbzeNx/yvTG7r0mtzucMsV9G1PpjnPi4j3Ya84XglHxqVTESd9uHln2H7JHwpS9YXeH86Y4bymteEyfdpwTFu/hc2CvOTzBqLhCsBVxl/JTctfF8t9uFiyVVxwIA0JZcVxFXP7SP+xd/Fz+0j9wUbsVPtg2rAlhxeUq4kLyHhUgYISw4lARByghhBUHACWA4oDGAcUBjQOKAxonrBU/m/FHbKh9XoA/CWvFf0qfNTbuEEXz2TWBtVzNvxSGxQ3iIsJa8aLtkVLF71cm3FZkOe/P8j5p411x98j+9nFqirtvuA0lwlrxwrTZtjEHG5c6zBGrsv9BVbRf3n2/MqH57GfHU2fL9uTflIK4m5WU4UVx3F1QfgNm8dCntrZ2eHhYYfLhrXNGbPYRm32UsXOKjzD2UcY+wtiPbJsj029qSw3PvQO7jAHFQ5+jR48WFhb29fUpSc5LiRoatQ+N2q2jbsWHRuxDI/ahUXt+ShS+m/uGWOxr2OWL8ho2udGDoZJNfMMu79Ci0+bdsB6oRZdSNKi4yWQ6cOBAV1eX1+SD30RZhuyWoXHLsFtxy/C4Zcg+MGw/+M1cfDfZqdAPNWzOh2IjgqSSzZ0pPTS/JMN977n0DKcdDSqOEOrr66Mo6v79+56Tv0/8U5913Dw43mcd4xTvGxw3W8fM1vHshD/hu8kp7pcaNl4WISiTwGVOdyUbfhaX3H3Om9ExadONNhVHCD1+/Dg5Obm/v99D8p7Nf+4ZGOsZGOuxuBXvsYyZLGM9lrG9m+fJ9JNZS/ixhs3zCNyL013Jxl9+SA7N/b9wDTJp04w2FTebzUpm8e82zHvUz1zqMK/Nr12bX8sq/sg89qifeWxmvt0gpzivcsz11LUenWoNGzeWK1m+2EyFSjZXd+yhnb1Ikusplza9aFDx3t5ehWvx9K9f6+xlLnWYo788xvrd1ct09jKdfUxn79iOr1/z1BlfrTb1GjaZC+4qVrK53z0I5mfxoblc3EmL0qYTDSqu/IpK6v+93tHDdJiYc01d55q6OkxMh4lpNzEdPUyHybbtq9cDfbahRkhec9Sa4j5dF09e/3qb0fbAyLQZbW3Of21tRtsDo+2B0ZayHhQXEpKGa05xn/hm3V82fxGdsC46YV30Zt6/CV9EJ3wR/c26v6h9gkGDc+0UgoKHueJAOACKAxoHFAc0DigOaBxQHNA4Ya04FLaFA2GtuDqFbcD0EtaKT7awDXO3q7vdw7VjhYVhoVk/FrSEteKTLWxz3m0kltlAkbrQ3UxBs4S14lMobCNImibFO0SQdGj+iVvbaFZxJVu9TbKwzXUftMBn9iZY0Z184hsG+UUD2AIzUVoo1Y8FLdpUXOFWb5MsbOPXcrnlFZcX4Gq6+IpLC8w4QrJ+LGjRoOKT2OrNt8I2gbNcpSOuDNJT6Rd2ZxWWkKwfC1q0pvjktnrzsbCNN1XSJEHS7tncS02Xj4qHVP1Y0KIpxaey1ZsvhW2ixYJwR0yJw7xLiT4qHlL1Y0GLphSfylZvvhS2CaZNcbWk8wVsTZdHxUO8fixo0ZTiCsFu9RZMhW2w2PAnYak4bqu3ICpsA8P9Sjgqjt3qLSgK20K5fixoCUfFYau3sCIcFQfCClAc0DigOKBxQPFJcv1h8/Lc9e/siZuXtuhtasXy3PXXHzarfVIABlB8MiSX7pmXtuizw19sOL2Rjc8OfzE75d3k0j1qnxogBhT3meTSPZFJMcklicUNJy/8VlX34OKF36ryLx1IKkl64etosDzYAMV94/rD5nlpi+JPb/jl/nnRSxX3yjaf2TQ75V35FUuAK+IAHKC4b3xwYN3K/E/zLu1nn55vOffvX3aVNBUjhDoG2rfrU1fmf/pxwQaZ3lARpwKguBOFH2m7YPeK97JX5NYdQgj9ZmqNyyXZ+Pzouk8L1n5asHbpDysX7F4h0xsq4lQAFHei8IPJZ6e8+8ctC3b/sh8hdLH1yszEN15J+NsrCX+bmfjG7OS35m57Ozp94ezkd2R6B7oiDsAAijtRuNXbgt0rXtu+cMPp7QihhwPdf93xXvT2RdHbFxVcOX3yZknswc9jdsd6m8UDVxEHYADFnSjc6u3jgg3R6YtWHFw7aLMihCpaLvzj2KbvKvcjhCy2weUH176XHffPwmSZ3oGuiAMwgOJOFG711tLT+sLX0X//fmX86eT7plau/dGgkXvs+YpKICviAAyguBPlW71tKaFmJixY8N37cflrEs5uS9XvSji7DSFEkE8T5NM/XDgk3zXQFXEABlDciU9bvW0poV5NXPBe9qol+1cv+WH1kv2rEUIE+fT+xs+jv9fJix6YijjAI6C4E5+2ekMIXX/Y/Pd9a+fviP2fnR/M3xGLXIqzwc7ogTxfQCmguBOftnrDomAWB1QAFPcbCtbigAqA4oDGAcUBjQOKAxoHFAc0DigOaBxQHNA4wa64pUXfnj/D0qJX+0RUBP6KOSWCXfH2/BmWyxHt+TO85OH+AC66pdp1l7Xcrdbu19UoTpB47L5XNuCKt56IyUqMyTpR53x+O8P9eErUlSXGZCXGZCXGlN0WHouNzEL8zW7sOSSuuWaSOVVelN1G/TVrBOcvJNgVb0ia0Z4/w/tELlRccF+qpKxApj//Bj+FkvtRPg9DTYPiQpn8o3hdmcDsjFbnA3ejh45ZJwqvZWIUF2dyPySmwkJVFFf4V3HiE/3chNOvJpVEbC37/c7aGbvrn8q6RXyiR9xCpTqifZ/HiVxGcb4enhSfpEWguDymwkLcJK1AcZZOr4r316wprOl0H04VxRXe2/S7mARssK82JM2wVD/fQk1Gcf4GZ95mcelWDdK90bhVkI4ySOvP3EsdwY+Vq5mk3SkSZz3s+MO+JFlHGSidjqK5G26lp+NOEB1Q/D/hSXFTYaFgsVFXJlg/1JUlZrRi0qSZ3LH8pbjr0Nx5qqW4kmoxhNDMrDi5YNcqLZTHtYrMWpz/neSvxTGzouQDIEQ3uzqldh3FIF4lY29zFdWh8R+Lftw8K04IdkHhnNbpSO7w0nI4XoL0a+EfyYPirTW8lUBiRitC/TVruFe5eVSa5nosXiLzF9PuORiDF8UFUzhSVXGkoFoMIfRU0psb9QnSeCrpTUuLviF9hlH/fEu6/ESOm8VFxY1KitxZmyRLG5chwpfFyyAh4pJMgWZSob3O4pIXRD8n0h9tfAERZtmjcBbPcrrLTZ+8eRqT5oR9L8jpiJvFuXel/NPwrHjntUzBUVRWHHmrFkMIPZX0plwghBqSZhj1zzck+aY48mGhwsctgfORqKeBvzjwvNIPhOK8GmedZObmdxT2w38tCCEPivOnZN7CoPVETGFNp9c0Hm5f/bNQkb5bUFdxr9ViNV/+1XOwa5WGjbJrFVE5GO+b6Jbcy9tN7FtUA6XTURTJGU/RggzRBRvpNRl/KS4YWvrzhS+Hk/5o8L4WPiLF3RbyTOqvWZPFX4FkZpRxCmLTBM75V3HcSyoqrqRarPKzOfcPrZeLys/mWFr0lzfOMBb//vJG8UQu2TtEss51OSFcSkhs570sXsEL6s/E7+jcz3hLBdzc7lVx0SpHOItTkqv2gjFw5XCSgwi/Fjec4uIL5KjzWia3bi7kT8+tJxSk3c7I8nxdHDPfC0Zz9+VfJsde8AnyKyp07AvNGe+wcUv44FbGO3TsCwghOcUDjZY+pkruaxEvVEKRIL8uXvzWM2yceeuZ4jdd8dYzxW86WxBClzfOYCNAp4pHS387l/9aJJN3iBHaf91UD/HVk1BGS1+Lz4DigMYBxQGNA4oDGkdNxR0TTyqbzJnnOrYVtUIEKDLPdVQ2mR0TT1T5FgcDair+8zVT6Y2+rn67lUHV8lRUVFy+3mRlEMQkoqvfXnqj7+eQvyg4edRUPKP4gXlkwjyK+kZQdXW1w253OOwTE46JCceTJxNPnkw4HPYnTybq6+tpmq5vut83giB8DfMoMo9MZBQ/UOVbHAyoqfi2otZBBvUOo95hVFVVZbePSy1/8mSitrZ2dHS0pOTnm3fb2WR/RhMVNZe64vdhFQW9giALA3+gQQZtK8L9GTE8UFlxiw31DKGeIVRZWTk+Poa1vLy8XK/X6/X68vJyNhkX9HLur98rafk0STRSc+ZSlz3luEdeflrxsIqCXk6QxybdvZGaQ+i2NnrPtNhAcfUU7x9Fj63osRVVVFSMjzE111vq77RdvdN+9U57/e22q3fa6++0Xbhx71F3d3tbW3l5OZssjiKSIHTJN91PlxXh0rBxk5ozl6qTTaCXEQQ32pGV5BGFwyoKehnh3wHx0T8Kiquo+AjqHkTdg6i8vHyMsVVfbXY4HA6HY3x8fKAub3x83OFwVF9tZqdzvV7PJgvDkDRXl3RT2q4sblKz51K1k3t1qkEvI8gfAzW4O/pHQHH1FO8bRp0DqHMA6fV6xjZ67uJ1hmFsNluvPsP0a97AzbMMw5y7eJ1TnE0WxAmSiKIuStsHUOcA/SHv1sICfDvB6+5un51mcLXokm54GtmViTpvULNdjR+ecLVEUQVpOtfRRb3oDwmy4AQpHkc6uHgcLs311OOhC4dBcfUUNw2j9gHUPoBKS0tto6NF5b9arVaLxdJTmmrKXNDX19ff319U/iu7Li8tLWWTBXGCJOJoTPsA/QFBfHCCl0aQeZL2vDiCiKJqnO1sAmofMGyJ0m25gdoHUPsNKpIghIfAZ+alseOwXcg89kGU7oM0A+Z8XC3OkW9QkQQ7Dm5wwTiY0/B8aBMorqLiPUPogRk9MKOSkpLRkZGC4nKTyXSwqOzQvm/zfjxM19TvPVqa/1PZhMM+MeEoKSlhkwVxnCQ+ohW0GxKjdInXJO3XqMgoqorNFxKZauDSqlJ17ha5zGtUJO+XRq6zhcyVPU96Kfcq//Skg/PHwXb3eOieIVBcPcUfW5GhDxn60JkzZ0aHh/cdPdPV1aW/UL895/T23J/O/3o182hp9uFih8PucNjPnDnDJguDjiV0m+sl7YUksYLmtRg2R+k210va66lZUVQFJl8aMiNw4xDkQfcpkQf5g+PHd6UpGZwbR9rd26EfW0Fx9RTvHkT3TOieCZ06dWpkaCiz4PSd+60n9L/+WFLNhtFozCw4zV5MPHXqFJssivKtOoIgD/Cevn8M3TPR7xPE+8dcacdIYg5VbhK1GzbNIXDt6MAK8oAJ3btCzVpBuw5k2DRHt+mKTOYxknBlus/nCjXLObioF71pq+GeiX7ffdoeBxeMw4Wru7dDdw+C4uop3mVBd3vQ3R5UVFQ0bLWm7M3bc6hIEAWntmbls5fMi4qK2GRMHHP/fp+11eBqp5dwrXOoMi75MjXL2aqLP0bN4l5yt/MG4Y285Jh0BC7TED+Ha6GWEOR+Ng1/XHK/8/TYB2x3XfxlmcH54xwjCYLN5Lp7OXSXBRRXT/GHA6jZiJqNKCcnZ8hqHbZaR4aGRoaHR0eGbSMjttFRxmYbY5jxMWZ8fCwnJ4dNhmg2omYjvZggv1eQ+XAAFFdP8fZ+1PQINT1CFEUNDQ4OWQddlg8JLbeNjzEURbHJEE2PUNNhklhGK8ls7wfF1VO8rR81PkKNj1BaWprVYuEsH8ZZnpaWxiaHexx2fupAlrL8NlBcLcW/K2lvMTpuPUIN3WijMhq6EYRPcesRajE6vitpV+VbHAyoqfi5G73FV80G00RbP4IIUBhME8VXzaXX4X5xNRizT5RcNWUUP1C9NEbDkVH8oOSqacw+ocq3OBiA2k1A46igeMSq7Ok8HBDmgOKAxgmI4o2n4rmQvgqKA9OJ/xVvKIoXPt0oSpiy4kq2VsPkCD6ZVjMfxQl4g2GY/wdbfu/x1W08ZQAAAABJRU5ErkJggg==" /><br />
<br />
<b>Step 3:</b> Click the jar file, type the string you want to search in your project codes, and found lines are immediately shown in the JScrollPane. You can also press the Enter key to refresh the JScrollPane.<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
You can also configure the CodeSearcher.java<i> </i>on your own and compile a new code searcher. For example, to search codes in a C# project or other types to files, you can assign "new String[] {".cs", ".log"};" instead of "new String[] {".java"};" to the static final String[] extensions. If you want to search the whole workspace, copy the <span style="color: #274e13;"><i>CodeSearch.jar</i></span> to your workspace folder.<br />
<br />
<b>CodeSearcher.java</b><br />
<br />
<pre class="brush:java">package com.codesearcher;
import java.io.File;
import java.util.ArrayList;
public class CodeSearcher {
private static final String[] extensions = new String[] {".java"};
private String fileOrDirectoryPath;
private ArrayList<File> files;
public CodeSearcher(String fileOrDirectoryPath) {
this.fileOrDirectoryPath = fileOrDirectoryPath;
}
public CodeSearcher(){
String path = getClass().getProtectionDomain().getCodeSource().getLocation().getPath();
this.fileOrDirectoryPath = path.substring(1, path.lastIndexOf("/"));
files = getAllFiles();
}
public ArrayList<File> getAllFiles(){
if (files == null){
ArrayList<File> files = new ArrayList<File>();
File directoryOrFile = new File(fileOrDirectoryPath);
if (!directoryOrFile.exists())
return files;
File[] listOfFiles = directoryOrFile.listFiles();
if (listOfFiles == null){
boolean fitsExtension = false;
for (String extension : extensions){
if (directoryOrFile.getAbsolutePath().endsWith(extension))
fitsExtension = true;
}
if (fitsExtension) files.add(directoryOrFile);
return files;
}
else {
for (File file : listOfFiles){
CodeSearcher searcher = new CodeSearcher(file.getAbsolutePath());
files.addAll(searcher.getAllFiles());
}
return files;
}
}
return files;
}
public ArrayList<String> searchLines(ArrayList<String> allLines, String target){
ArrayList<String> linesFound = new ArrayList<String>();
String targetToLowerCase = target.toLowerCase();
for (String line : allLines){
int indexOfColonPlus1 = line.indexOf(":") + 1;
String lineToLowerCase = line.substring(indexOfColonPlus1).toLowerCase();
if (lineToLowerCase.contains(targetToLowerCase))
linesFound.add(line);
}
return linesFound;
}
}
</pre><br />
<b>Main.java</b><br />
<br />
<pre class="brush:java">package com.codesearcher;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.ArrayList;
import javax.swing.border.*;
public class Main extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField textField;
private JTextArea textArea;
private static ArrayList<File> allFiles;
private static ArrayList<String> allLines;
private static CodeSearcher codeSearcher;
private static Main frame;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
frame = new Main();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
codeSearcher = new CodeSearcher();
allFiles = codeSearcher.getAllFiles();
setAllLines(allFiles);
}
public Main() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(300, 100, 700, 500);
setResizable(false);
setTitle("Code Searcher");
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
textField = new JTextField();
textField.setFont(new Font("Tahoma", Font.PLAIN, 15));
textField.setBounds(259, 60, 180, 27);
textField.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent arg0) {
}
@Override
public void keyReleased(KeyEvent arg0) {
}
@Override
public void keyPressed(KeyEvent arg0) {
performAction();
}
});
contentPane.add(textField);
JLabel lblInputTextTo = new JLabel("Input text to search codes");
lblInputTextTo.setFont(new Font("Century", Font.PLAIN, 18));
lblInputTextTo.setForeground(Color.BLUE);
lblInputTextTo.setBounds(242, 23, 220, 27);
contentPane.add(lblInputTextTo);
textArea = new JTextArea();
textArea.setFont(new Font("Microsoft New Tai Lue", Font.PLAIN, 12));
textArea.setEditable(false);
textArea.setBorder(new EtchedBorder(EtchedBorder.RAISED, Color.MAGENTA, null));
textArea.setBounds(48, 110, getWidth() - 100, 300);
JScrollPane scrollPane = new JScrollPane(textArea,
JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
scrollPane.setBounds(48, 110, 600, 300);
contentPane.add(scrollPane);
JButton btnClear = new JButton("Clear");
btnClear.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
textArea.setText("");
}
});
btnClear.setBounds(317, 424, 74, 23);
contentPane.add(btnClear);
JButton btnSearch = new JButton("Search");
btnSearch.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
performAction();
}
});
btnSearch.setBounds(459, 61, 81, 25);
contentPane.add(btnSearch);
}
private static void setAllLines(ArrayList<File> files){
if (allLines != null)
return;
allLines = new ArrayList<String>();
for (File javaFile : files){
try {
FileReader read = new FileReader(javaFile);
BufferedReader reader = new BufferedReader(read);
String line;
int count = 1;
while ((line = reader.readLine()) != null) {
line = javaFile.getName() + " " + count + " : " + line;
allLines.add(line);
count++;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void performAction(){
ArrayList<String> linesFound =
codeSearcher.searchLines(allLines, textField.getText());
StringBuilder builder = new StringBuilder();
for (String foundLine : linesFound){
builder.append(foundLine + "\n");
}
textArea.setText(builder.toString());
}
}
</pre><br />
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-80276461962905871702013-03-04T00:22:00.002+08:002013-03-04T22:36:06.758+08:00A source code for Java calculator (Java計算機)The following codes area fully workable codes for a Java calculator. It supports addition, subtraction, multiplication, and division of long decimal numbers or integers. You can copy the Java codes and configure them on your own. The main class is Calculator.java<br />
<br />
Because there seems to be some bugs in the Blogger regarding pasting long code, the web page layout is broken. '<' characters inside the Java codes are sometimes misinterpreted as the left angle bracket of ab HTML element. You can download the whole Java project of the calculator from:
<a href="https://sites.google.com/site/moderntone/JavaCalculator.zip?attredirects=0&d=1">https://sites.google.com/site/moderntone/JavaCalculator.zip?attredirects=0&d=1</a><br />
<br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAP4AAADUCAIAAAAzwwlWAAAYSklEQVR4nO2dbXQUVZrH64vf88FzHD7s0XUcN0fODktMmLHHYfwyBp1zlt05i4KCsL7UyuzMEdh1BCESQszG6GgtEGRHiegIhBjcKFIkKgcznkRQNgYQE6gTkkx4STrdSZOQpENg7n6o7qr7Vi+dru6urvv8z3OwX5661W3/+uap6vuvR0IgkJCSsranwid3Zm1fIJCjAH2QoPIS/VMHNxjBPusz9FVZktUM5oP8Ls/Q72zcQN5dTyXYoe8lV6osJWU3JqAvutJFv3bLK7VbXqndUn19qO76UN1k787IqVcHWsvOfby2dks1QmjxSwf0zGygr8qSFFI08671qN6irykhbL+gfFC66L+y8Q8v//dxdPXP/MCIzzz6KfEH6IsuV+gfO3asurra6tl1a7ej4UP8QOiDP3cVPrmz8Mmd73x6ynIHOFeaEiIKFlXGJ3IjlU5jEnGxycQuzRoppGgkxsYdLJ8ejftSmKpLU0IhRVVC9nUYKGtyRv/o0aNz5869++67rRKe+rf/QZfetww3wrhSlSR2mhKSZNX8b+KxBIlMms28zEk2s1WZgtEJfd5o+DbkgMY9TQmFQjL8afCNHNDXuV+6dKkN+o+srEO9O1HvzpXP7F719O5VT9etelq/sXvl07tXPbN7pX77md2rnt7NH8Ji1pc4mCYJY9NsShKbMdmtUpn1JRZ9esDkU/g3GOQD2aFvcL9s2TIb9B9+bC86/4oev17x3kf9N63in5f/iT+EgQvBBzbR6sg7pFlUPJbJbtA3xsQLLXY0d+jD4YCfZIk+zr09+r/4lwZ0tgydLfvlI/UHvo8fOBs/8P30ge/1f42I/3JJvdUIBOPE3IoXOrLMwwtP08hKWlNCsmqVzC149FoG+wqZp4w4XxVsNPwLwRQ8+gCAvs9kiX51dfXdmKqqqqwyS/7xIDr1/H2LD9a1jdW1je1uH6trH6trG6trH9vdNlbXPlbXPnbfPzVyt00cDxK4Gkecikwi5CYNP8JkayMsmVvA4F8h/QGFKXj4u048yh7mhrADA0DfT/LgJ60fP9Q07+GPth2ObDsc2aYObzs8vE2NbDs8vE0d1h+Z93BT+nsBgbyVN7/mFj54yCY82QUI5K2yt3wNBPKVAH2QoAL0QYIK0AcJKkAfJKgAfZCgAvRBgsq/6MsLi3L9EkBBVu7R//LVBUYghCpK57CR69cICqByjP7B396F3x34tqWidM71yU8H23e8tuJB/QagD8qEcon+ly8viA/uig/uinUrg53VfV+sH+1tryidM9i+4/QH5fLCIv0GoA/KhDKLvr2z8fOXi+Kx43hsWPxARemc11Y8KC8s0uO1FQ9WlM7h1f3GCkpzNbxKrEmml06CQLgyiL6js/HzzUXxwSY8bkz2GgWPvLDIpuDBFshrmkbZ/xjPIQjEKFPou3E2frK5KN63x4iD6+bZBL2xPumHWJssXDIH5EoZQd+ls/HgurnxbkWPg+vmxft2cWOws5qDvi7DKEX5wgF9kJO8R9+9s3Hvb++Kd1fHu6sPrpun32DDintNUQx7FHMFEdZzCALR8h59987GupV/E+9cf3DdvHhnOTfs5nvzQNa41AfGOOM5BIEo5fLk5hu/nnNw3bx453pu2HIPAqWrHP+kVSf/nU3k9rWBgq3cL2QAgXIiQB8kqAB9kKAC9EGCCtAHCSpAHySoAH2QoAoO+mvvvy3dIZyvCEteVdaVMrqiCJYrzV55jP6xivmtL/69EduX3I7fPVYx325jbqMHR/RnQ1p+oW/TlSloymP0W1+Yqx2ru3Ti3Usn3u344NW6NUvxu60vzLXe1IIYJ/RndZ1wXvsJz5SJ75Uof0nyGP1jz99z6cS701c/i57a19X8Zt2apfjdY8/fY7VhouUE9wlAX5hOAD5F397ZqOuztfdcOvFu9NS+6Kl9XS27dPSNu5+ttUKfIh/vdojbGWmLI92Kmu2baNeEi9PDEUszx+Z1z+B3zgglGsBgDS+M9i22G5rtMnhvk3kjgZUf0Xd0Nuo68rvCjg9e7Wp+s6tl11d7KjYsfgC/e+R3hRbbqTJ/ZT/ecJrqa5d4lPDDsH0UHfrPcYHSOcX7u9j0aWSNl+b3yu6Fpfg2Bal5fIe+G2cjQmjt/bdtX3J73ZqlemxY/IAexiPbl9xucc4HQ5/6iHFcSXHaYbF9FGeJPvGgSrcowsbnAKnKUigUIo9MuRtSZgbbt2lTEgZJ/kLfpbNR14dP/Qg/rt2w+AH87odP/chiO3fo2x8Gc/so2rdedIU+r1ewTbPHJPpk61WnDZ3eJqCfbbl3Nuo6sOqHNoe5B1b90GI7/HPFKwGsXKYrBKaYt+zKaN160fJ8KlWL2PRp5DZ7TH5T+O192Q2d3ybU+tmWe2ejrr3L77Q5zN27/E6rDYk5DW+IqGIfOVY28Jog2vZRJI4lmRKGPcxV2KNcixaRtPGSHlxWHTdM6W0GWT5CP1W9t+xO/Li2bs1S/O57yyzR99NhXC4wc/jZyj//czKrPEa/bWvRnmV/a8T2Jbfjd9u22l6omVt95EDZQZ+u8ax3Cb/m5qE8WMOTA2Vr1ucVNoIrOOiDQCkJ0AcJKkAfJKgAfZCgAvRBgkpE9D+u+Qdu5Pp1gbIqEdH/3+r509dvUPHdx6u9od/qdKUgv5Hmj0REv/G/ilj0zx/ddNYd/Q49WzxEn1iMDPJYIqJfX3Xv1PQNPb7qjxY+ufPflc/7jr9x/uim7z5+9sDL99ptrCmhUMjul2CY9fNEAUG/ra3t2rVrLpPf31o8MTUzMTUzGZ8x0J+Iz0zGZybiM3sri222NVxVlhgD+nmigKC/b9+++vr6SCTiJvmdipLxyZnxyZmxSRP98YmZ8YmZ8cmZPRUl1psmmafZd3Y5Wj2OG8BUYgUzYpcgW9tPMM8AswoUxFVw0A+Hw2+99dbFixcdk9/eXBIbn4mNX49dM9GPXbseG58ZvTbz9uYFlluavBFL563tf65tgUQHSHx/ln5FfAGeaT7huBNBfAUHfYRQJBJRFOX8+fP2yW+W/SQydj169XpkbNpAP3L1enRsOjp2feemn1htiM+0JtcuPVD2tkA+qfxZn9kx9ro4aSC+AoU+QujKlStbtmwZGRmxSd628adDo9NDo9NDMRP9odh0ODY9FJvevvE+/mYEVVi1Mgv0WSb5RwJ4GcPYDg3k+T4wUZbdz1qBQj8ajbqZ9V9/4b7LI/Gv+qO/2dP2mz1tOvqXo9OXR+JXovE/vMBHn5mXjVOPbux/TrZAe/T5tkN9K1k2trRKA/EUHPSHh4dd1vrVv//ZwHD8q/7ownX7de4vDscHhuMDkfjA8PQrv/8ZbyPeSR2DYWf7n5MtkLoUCM/Xy7Ed0j8yWKaBWAUHffdneF7+j/v7h+L94fiR0xePnL7YH473h+N94Xj/ULw/PFX5n/dn+tW6FhQtGVRA0E/pvP6Wtff3Dk5dGIz3Dk71Jv6d6h2cujA4dWFwqmKtb9AH8jOpgKCfkjav+fnG5xZuWrNw05qFG7F/Nz23cNNzCzev+XmuX6BxFgjAz6BERB8EQoA+SFgB+iBBBeiDBBWgDxJUIqIPBkUQEhP9zBoUQXkiEdH32qBIrGvztR0FHI+YRETfa4Mivf4GfojKCwUE/ZwaFPmNhEA+V0DQz6lBkYc+bTjE/SmUBZGqlNhHjIKK6pBI/KmhBwfHo5OCg37uDIpUsxXWcEhWQYS/i9sRkRgW8wloGnPXcnBwPDopOOijXBkUicNc/DuAeXfZJkKsvQvZeBfJdj/UjM8dHByPTgoU+ignBkVueU8d+rpH34ouynZl3LVBHxyPtgoU+jkyKDqhz9YkvMs6JDsi0t5FTVFUbEjqruXg4Hh0UnDQz51B0RF9RJQydJ9c5vDU8sCXOmImLnRCDw6ORycFB/0gGhQ9V9CKlnQUEPSDaVD0XEA+poCgn5LywKDoucDxyEhE9EEgBOiDhBWgDxJUQqB/4+Zfj56O7jjSX9nYA5FS7DjSf/R09MbNv+b6M/ReQqD/ycnw4Y7IxZGZsTiCSCkujswc7oh8cjKc68/QewmBfk3ThejEzegkikygyISlQVF/FgKP6CSKTtysabqQ68/QewmBfmVjz9U4Gr6WCBuDopGTdqhPSHJ9BvOzF1fjqLKxJ9efofcSBf3YFBoaT4S9QdFIswh1hbFq4F9V2zR5v8NQ6eS7i1NKsRTaeiqtQWJTgH7eqrKxZ2QSXRlLhKNB0ciko1GWpNCWb827yxstMsfU5ZK812qclPO1LQuw/WY3RiYBfR/LfiFDZWPPyAS6dDURjgZFI5MMrXxBqPxb7lNsqMsl+U+uMt3kp7Rrj2NkAtD3seyXr1U29kSuoYHRRDgaFI1MIhpkqUT5kvtUh3Jvsgh6vEF/UH1ckt8bNW4ndG+VNtCh3GuOo5WXhMo7yHx6NK28JHl/lUoNKOFblSjvVYXMR0bth1Ufl/Rdk5nMe4lcA/R9LHuDYmVjT/ga6htNhKNB0cgkokGWVqncp96pUlr12x1KkSS/M4r6RtXHzBvSYw1YfodSVJLMH9VeKgm91IHnc0cz0pgBG2RJz+lQikpCj1Vp5GuzG7a1KmS8o9aqUFGVxk0LA/p+lr1BsbKxZ2gcXYgmwtGgaGQScUCWVqr8p04qRdg0XBdFF6LqMv0Gu9VJpahEOZa4q5WVhMpOYvn80Yw0dsDkUyeVImMEM+yHNZ5Vl0nJ8Zm0oXFA38eyNyhWNvZcGUNaJBGOBkUjkwx1qRTa+DXz+NfKfEl+28zRbydv1MvSEyqdX6J8To+ZzOePpm0sSe6aHjD5FDEs/ppthkVvPyHNr9TMMXlpV8YAfR/L3qBY2dhz6So6F06Eo0HRyKTi060hSZLfwu4+uh+d2y9LT6hMgvqoeUN6dL++ifriVu1cWH1UCr14Ap0Lo3P7ZSlxO5nPH017sdgcBBsQndsvS8XKp2F07oQyX79BhP2w+lbyo8XY62HSLl0F9H0se4NiZWPPxRjqGkqEo0HRyOTEftMMOH+r1jWEuoa0DcXGI8ojkvzHIdQ1pCZvoK7jyvxk/aA/0rI1aftboWwoDm04judzR0tuskLtSgyeVLHSYuzFuL1fliRXw3YNoT+uMIblp12MAfo+luMZnr+Mou8GE+FoUDQy8z/UJZL8ZnqD/GUU0PexHM/r942g05cT4WhQNDLzPt6XpeVqmoP0jQD6eavKxp7eEXTqciIcDYpGZh7H+wlHYm3aQ/UC+vmr1w/1dQ/eOHMZdV6CSC3OXEbdgzdeP9SX68/QewmB/pGO4aZvolr4Zu8IgkgptPDNpm+ih/8P1uvnp6Znbh76JlzTdCHnpqe8i5qmC4e+CU/P3Mz1Z+i9hEAfBGIF6IMElYjoQwdFEBITfeigCEJioj/bDor0BfbJCxJbdNDypGkhdD7MgEREf7YdFKkLh5uX7gblowKCflY6KLLX0edddB+UJwoI+lnpoMhpIUF2KeE2IWS7OUDnQ18oOOhnvoOiI/rcJoTsU9D50BcKDvoo4x0UndHnNSEkp2HofOgbBQp9lNEOiiz6JqbWTQgpxqHzoW8UKPQz2kGRppJoKUjOyngTQrPggc6H/lJw0M9wB0XEnNe3OAzlQA2dD/2o4KAf6A6KULR4r4CgH/AOikB+BhQQ9FNSPnVQhM6HGZOI6INACNAHCStAHySoAH2QoAL0QYJKRPTBoAhCYqKfdYPi7E7Lw8n8zEpE9NMzKLI4Oi6T4UHs7DnEl6xlxRAjmA1SRPTTMSjKcoimWFPkkP2SeHwFjnu2Zj3rp7QXcRUQ9LNlUJRkVZVJrlRZVh0oBfT9qICgny2DIuE4TDxGmRBN6kzLlCzJKm0ZpLYxV3EyC6HxHZppif3QRkTWmAg2SL6Cg35WDIpJR6CJJ25CtEcfMSuS8XXIOHOs98pc9kwRxjMi0uuewQbJVXDQR9kwKBoMko6qdNEn6hNL0yO3AuIYEbEBwQZprUChjzJuUCRch+bsz8eYsee6Qt/Yiwv0+UZEd+gLb4MMFPqZNyiSsyLHY47NiBYeK6aUJ8+NmhWKfcGjKoQDGB+F2gvYIPkKDvrZMSgaHy89v7OVgqwwBU/yWfYwV2GOcrmHudjoNn5FbC8IbJBWCg76eWtQ9M+5yPwrWtJRQNDPZ4Oib9AXi/ygoJ+SfGZQ9AH6QtogRUQfBEKAPkhYAfogQQXogwQVoA8SVCKiDwZFEBIT/cwbFH1wvhLkJBHRn61BEeGLAmzPgfsMfcGchy4lIvqzNSgSC1hU2QZ+K/TT/Er47BuV5woI+tkwKKYAHqCfBwoI+lkxKKqcVqF8bwrXc0ia+SiLIN/ph9sRVXAeeqvgoJ95gyLvciSW6HM9h1g2aRHkOf1YOyI4D71UcNBHGTcoJqThrRDtZn1zE2wuxa19GFKs04+zjhKch14qUOijzBoUcXGdflYmKINHatbnzqw2TlxwHnqpQKGfWYMidiEG0nLOOhKtPIcYU1ybLrElY0cE56GnCg76mTcoEgeWuFMx+ZBCFDwczyFmHaQrJZ7Tj7YjgvPQSwUH/bw1KGZBgS1a0lFA0M9ng2LmBeTzFBD0U5LPDIqZlJDOQ5cSEX0QCAH6IGEF6IMEFaAPElSAPkhQiYg+GBRBSEz0s9VBEU6n+1oiop9GB0VyfQx3wYzpBnRCH3yDOZWI6KfTQdECfe6XAGZ9Xysg6GergyKgHxwFBP1sdVDkok+Z+diWEEYC9fUA32AuFRz0s9JB0c2sT6OPL9LXLNAH32D2FRz0UTY6KM4GfdLRiAt8g7lUoNBHWeugaDzgBn1za4pW8A3mUoFCP8MdFCl68XOTlHWQKngU1pNIZIJvMBcKDvrZMCiSFQftPLc8zDWchEnQwTfoAwUH/Tw0KELRkksFBP28NCgC+TlVQNBPSbk3KIJv0AcSEX0QCAH6IGEF6IMEFaAPElSAPkhQAfogQeVT9GPdzX17CmLdzbl+ITkUtA/KrHyKft+egtjxwr49BQ555q9CxJpGfI0B3nbHYvlkDldC8laD2l4v3EP1NJTWlpXWNrQn7p+tMW+npfaWstLastLastKWs+S+9NhRb7m68GxNbdnqk2GLl4pFy1k00rqaeP0pyqfod5YX9O0pcJ74SfSJlWXMajKL7fHFkC7h9xBKm6GygD4JmTfot7cQxNf0JG6YD9psWNtQf3IHB3060/jyhOvrfYW+y2UF0jPNCzZ9OK/8UOHWlh+82lbwxte31J6RnmlGRsHzRWHfLtuJ3wJ9u/4juGZJF6BvrXB9PW9Sd4G+rgFH9EdaV9e3Dpi78xX6LheT3Va6iRv6s53lBbEv7uhWZoM+bu9zmvVZ0yDrDMQdhqxHEO9ziH3dkg8nVnPyCy6Wb3w5J9uGkemRyL4cM4HaIf1/wg79cH09UbS0txB1SHtLWU0PJ43NNPblFfrJXRuv02/ou7QL/rh2lVXoNU+3YlvzWNT6+CeM1/qcWZRsdoiY7lgJ2AmHoUUzIKLLEN5DiNNPiLs3ckDylRH9uGxbL2IJ7HvB92SDfk8rVlGU1fQgNNK62njWmHfZtORtugTHi3VzzubIAX1iyke+RB+5swveUr5offMmNm4pXxTrbu6sLhhsvqO72nri58361OVt3KyPJC2E1LzLOgzJcopUSNEsvg+IB7rjrM88QX1/2K8838zFKZ9czvq1CaaN6Rab1zlpCenHoAamvFnfOBrGX4Y9+gMndxB78Sn6yIVd8JbyRVaBEOosLxhsvqOzPDX0UQoFDy7GbkhtqeFFhv2RRCbQx/zq9q0Xye347wUhZIM+PoVjBUZPQ2l964BjGiaTY28KHvZoxJ/oO9oFW9f9wj70mqdzvWXNQ1n2sA/XhN/hMJd7aJxoA2d8EyiHIXUCiT1H5BX6vDaMFtUW94vJvhdcFPomnRhhI62ra/FKZkdNi4EmN41g0Vv0eU/5EH03dsGjzxaff3etVRx9tjjW3Xx8fcFg0w+Or6cnfmbFO1NHJ1khSxLmW8BriohwFyGRRB5Y0O5CtmRCLtCnqiVy1mfbMBJj8CyLPAsw9wKHBvr0CX40cHKHUZfX49N5T4OLtLM1tfbn9Tl/H4jRzG3x0/zcE1A+RN/NGR516V3f1fxKjzPkjTM1v1KX3oUQskI/0wqSg8rqvdAFTz7Kb+i7PK/f9NCtenz00K1Ni5Lx0K1NixKPIISOry/QIxOv01JBWkNg/V6YyT7PFMxfc3Mny+tF5aGC9F68F6APElSAPkhQAfogQQXogwRV9tAvfHJn1vYFAjkK0AcJqv8HBIE8shfMZgkAAAAASUVORK5CYII=" /><br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<br />
<b>Adder.java</b><br />
<br />
<pre class="brush: java">import javax.swing.JTextField;
public class Adder {
private JTextField number1, number2;
public Adder(JTextField number1, JTextField number2){
this.number1 = number1; this.number2 = number2;
}
public String add(){
String n1 = number1.getText(), n2 = number2.getText();
if (n1.charAt(0) != '-' && n2.charAt(0) != '-') {}
else if (n1.charAt(0) == '-' && n2.charAt(0) == '-'){
number1.setText(number1.getText().substring(1));
number2.setText(number2.getText().substring(1));
return "-" + add();
}
else if (n1.charAt(0) != '-' && n2.charAt(0) == '-'){
number2.setText(number2.getText().substring(1));
Subtractor subtractor = new Subtractor(number1, number2);
return subtractor.subtract();
}
else{ //n1.charAt(0) == '-' && n2.charAt(0) != '-'
number1.setText(number1.getText().substring(1));
Subtractor subtractor = new Subtractor(number2, number1);
return subtractor.subtract();
}
AProcessor format = new AProcessor(n1, n2);
if (n1.contains(".") || n2.contains(".") ){
format.getProcessingInfo();format.getProcessingInfo2();
n1 = format.n1;n2 = format.n2;
String summation = addTwoPositiveIntegers(n1, n2);
summation = summation.substring(0, summation.length() - format.dotPosition + 1) + "." + summation.substring(summation.length() -
format.dotPosition + 1);
summation = Utils.adjustAnswer(summation);
return Utils.trimEndZeros(summation);
}
else {
format.getProcessingInfo2();
n1 = format.n1;n2 = format.n2;
return Utils.trimZeros(addTwoPositiveIntegers(n1, n2));
}
}
private String addTwoPositiveIntegers(String n1, String n2){
int[] n1digits = Utils.convertStringToDigits(n1), n2digits = Utils.convertStringToDigits(n2);
return getAdditionResult(n1digits, n2digits);
}
private String getAdditionResult(int[] n1digits, int[] n2digits){
int [] answerDigits = new int[n1digits.length];
for (int i = answerDigits.length -1 ; i >= 1; i--){
answerDigits[i] += n1digits[i] + n2digits[i];
if (answerDigits[i] >= 10){
answerDigits[i] -= 10;answerDigits[i-1]++;
}
}
StringBuilder builder = new StringBuilder();
for (int i = 0; i < answerDigits.length; i++)
builder.append(answerDigits[i]);
return Utils.trimZeros(builder.toString());
}
}
</pre><b>AProcessor.java</b> <br />
<pre class="brush: java">public class AProcessor {
public String n1, n2;
public int dotPosition;
public AProcessor(String n1, String n2){
this.n1 = n1;
this.n2 = n2;
}
public void getProcessingInfo(){
//counted from the right: 0, 1, 2, .., dotPosition
if (!n1.contains(".")) n1 +=".0";
if (!n2.contains(".")) n2 +=".0";
int i1 = n1.indexOf("."), i2 = n2.indexOf(".");
String n1afterdot = n1.substring(i1), n2afterdot = n2.substring(i2);
//when n1 is 3.34 and n2 is 23.3453, convert n1 to 3.3400
int numberOfAdditionalZerosRightSideOfDot = n1afterdot.length() > n2afterdot.length() ?
n1afterdot.length() - n2afterdot.length() : n2afterdot.length() - n1afterdot.length();
if (n1.substring(i1).length() > n2.substring(i2).length()){
dotPosition = n1.length() - i1;
for (int i = 0 ; i < numberOfAdditionalZerosRightSideOfDot ; i++) n2 += "0";
}
else {
dotPosition = n2.length() - i2;
for (int i = 0 ; i < numberOfAdditionalZerosRightSideOfDot ; i++) n1 += "0";
}
n1 = n1.replace(".", "");n2 = n2.replace(".", "");
}
public void getProcessingInfo2(){
int numberOfAdditionalZeros = n1.length() > n2.length() ?
n1.length() - n2.length() + 1: n2.length() - n1.length() + 1;
if (n1.length() > n2.length()){
n1 = "0" + n1; n2 = getConsecutiveZeros(numberOfAdditionalZeros) + n2;
}
else {
n2 = "0" + n2; n1 = getConsecutiveZeros(numberOfAdditionalZeros) + n1;
}
}
private static String getConsecutiveZeros(int n){
StringBuilder builder = new StringBuilder();
while (n > 0) {
builder.append("0");n--;
}
return builder.toString();
}
}
</pre><b>Calculator.java</b> <br />
<pre class="brush: java">import java.awt.EventQueue;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
import java.util.regex.*;
public class Calculator extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField number1, number2, answer;
private String number1_bak, number2_bak;
private JComboBox<string> operation;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Calculator frame = new Calculator();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
public Calculator() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(450, 100, 500, 240);
setTitle("Java Calculator");
setResizable(false);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
JLabel lblNewLabel = new JLabel("A calculator that supports basic math operations");
lblNewLabel.setForeground(Color.BLUE);
lblNewLabel.setFont(new Font("Dialog", Font.PLAIN, 16));
lblNewLabel.setBounds(75, 23, 340, 21);
contentPane.add(lblNewLabel);
number1 = new JTextField();
number1.setBackground(Color.YELLOW);
number1.setBounds(130, 64, 253, 21);
number1.setToolTipText("Input a number");
number1.addKeyListener(enterListener);
contentPane.add(number1);
number2 = new JTextField();
number2.setBackground(Color.YELLOW);
number2.setBounds(130, 98, 253, 21);
number2.addKeyListener(enterListener);
number2.setToolTipText("Input a number");
contentPane.add(number2);
operation = new JComboBox<string>();
operation.setFont(new Font("Segoe UI Light", Font.PLAIN, 24));
operation.setModel(new DefaultComboBoxModel<string>(new String[] {"+", "-", "×", "÷"}));
operation.setBounds(75, 95, 45, 28);
operation.addKeyListener(enterListener);
contentPane.add(operation);
JSeparator separator = new JSeparator();
separator.setBounds(60, 138, 380, 2);
contentPane.add(separator);
answer = new JTextField();
answer.setBorder(new EtchedBorder(EtchedBorder.LOWERED, Color.GRAY, null));
answer.setEditable(false);
answer.setBackground(Color.CYAN);
answer.setColumns(10);
answer.setBounds(130, 150, 253, 21);
contentPane.add(answer);
JButton btnNewButton = new JButton("Enter");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
performAction();
}
});
btnNewButton.setBorder(new MatteBorder(1, 1, 1, 1, (Color) new Color(0, 0, 0)));
btnNewButton.setBounds(395, 97, 64, 23);
contentPane.add(btnNewButton);
}
private void performAction(){
number1_bak = number1.getText();number2_bak = number2.getText();
if (checkInputError(number1) || checkInputError(number2)){
number1.setText(number1_bak); number2.setText(number2_bak);
JOptionPane.showMessageDialog(null, "Please input valid double numbers for calculation.");
return;
}
switch (operation.getSelectedItem().toString().charAt(0)) {
case '+':
Adder adder = new Adder(number1, number2);
answer.setText(adder.add());
break;
case '-':
Subtractor subtractor = new Subtractor(number1, number2);
answer.setText(subtractor.subtract());
break;
case '×':
Multiplicator multiplicator = new Multiplicator(number1, number2);
answer.setText(multiplicator.multiply());
break;
case '÷':
Divisor divisor = new Divisor(number1, number2);
answer.setText(divisor.divide());
break;
default:
break;
}
number1.setText(number1_bak); number2.setText(number2_bak);
}
private KeyListener enterListener = new KeyListener() {
@Override
public void keyTyped(KeyEvent arg0) {}
@Override
public void keyReleased(KeyEvent arg0) {}
@Override
public void keyPressed(KeyEvent arg0) {
if (arg0.getKeyCode() == KeyEvent.VK_ENTER){
performAction();
}
}
};
private boolean checkInputError(JTextField inputValue){
if (inputValue.getText().length() == 0)
return true;
if (inputValue.getText().charAt(0) == '+')
inputValue.setText(inputValue.getText().substring(1));
Pattern pattern = Pattern.compile("^-?\\d*\\.?\\d+$");
Matcher matcher = pattern.matcher(inputValue.getText());
if (!matcher.find()){
return true;
}
return false;
}
}
</string></string></string></pre><b>Divisor.java</b> <br />
<pre class="brush: java">import java.util.ArrayList;
import java.util.List;
import javax.swing.JTextField;
public class Divisor {
private static final int limitForAnswer = 30;
private JTextField number1, number2;
private List<integer> tempDigits = new ArrayList<integer>();
public Divisor(JTextField number1, JTextField number2){
this.number1 = number1; this.number2 = number2;
}
public String divide(){
String n1 = number1.getText(), n2 = number2.getText();
if (n1.charAt(0) != '-' && n2.charAt(0) != '-') {}
else if (n1.charAt(0) == '-' && n2.charAt(0) == '-'){
number1.setText(number1.getText().substring(1));
number2.setText(number2.getText().substring(1));
return divide();
}
else if (n1.charAt(0) != '-' && n2.charAt(0) == '-'){
number2.setText(number2.getText().substring(1));
String answer = divide();
return answer.contains("Not") ? "Not a number" : "-" + answer;
}
else{ //n1.charAt(0) == '-' && n2.charAt(0) != '-'
number1.setText(number1.getText().substring(1));
String answer = divide();
return answer.contains("Not") ? "Not a number" : "-" + answer;
}
if (n1.contains(".") || n2.contains(".") ){
n1 = someProcess(n1); n2 = someProcess(n2);
if (n2.equals("0"))
return "Not a number";
else if (n1.equals("0"))
return "0";
String tempDividend = Utils.trimZeros(n1.replace(".", ""));
String divisor = Utils.trimZeros(n2).replace(".", "");
divisor = Utils.trimEndZeros(divisor); tempDividend = Utils.trimEndZeros(tempDividend);
divideTwoNums(tempDividend, divisor);
if (!n1.contains(".")) n1 = n1 +".0";
if (!n2.contains(".")) n2 = n2 +".0";
String answer = shiftAndGetAnswer(n1, n2);
return answer;
}
else {
if (Utils.trimZeros(n2).equals("0"))
return "Not a number";
else {
number1.setText(n1 +".0");number2.setText(n2 +".0");
return divide();
}
}
}
private String shiftAndGetAnswer(String n1, String n2){
int log10n1 = getLog10n(n1), log10n2 = getLog10n(n2);
StringBuilder builder;
int log10Value = log10n1 - log10n2;
if (log10Value +1 > tempDigits.size()){
builder = new StringBuilder("");
for (int i = 0; i < tempDigits.size() ; i++)
builder.append(tempDigits.get(i));
int temp = log10Value + 1 - tempDigits.size();
for (int i = 0; i < temp ; i++){
builder.append("0");
}
return Utils.trimZeros(builder.toString());
}
else if (log10Value > 0){
builder = new StringBuilder("");
for (int i = 0 ; i < log10Value+1; i++)
builder.append(tempDigits.get(i));
builder.append('.');
int temp = tempDigits.size() - log10Value -1;
if (temp > 0){
for (int i = 0 ; i < temp; i++)
builder.append(tempDigits.get(i + log10Value));
}
else {
builder.append('0');
}
return Utils.trimZeros(builder.toString());
}
else {
builder = new StringBuilder("");
for (int i = 0 ; i < tempDigits.size() ; i++)
builder.append(tempDigits.get(i));
return builder.insert(1, '.').toString();
}
}
private String someProcess(String number){
number = Utils.trimZeros(number);
number = Utils.adjustAnswer(number);
number = Utils.trimEndZeros(number);
return number;
}
private static int getLog10n(String number){
if (number.charAt(0) == '0'){
int i;
for (i = 2; i < number.length(); i++){
if (number.charAt(i) != '0')
break;
}
return 1-i;
}
else {
return number.indexOf('.') -1;
}
}
private int getDigit(String string, int index){
return string.charAt(index) -'0';
}
/**
* For example, if n1 = 14 and n2 = 3, the result is 4666666... (stored in tempDigits)
* @param n1, n2
* @return
*/
private void divideTwoNums(String tempDividend, String divisor){
int upperBound, lowerBound;
String product, target;
upperBound = (getDigit(tempDividend, 0) + 1) / getDigit(divisor, 0);
lowerBound = getDigit(tempDividend, 0) / (getDigit(divisor, 0) + 1);
if (tempDividend.length() < divisor.length())
tempDividend = dweiChi(tempDividend, divisor.length() - tempDividend.length());
target = tempDividend.substring(0, divisor.length());
List<character> succeedingDigits = new ArrayList<character>();
if (tempDividend.length() > divisor.length()){
String succeedingString = tempDividend.substring(divisor.length());
for (int i = 0 ; i < succeedingString.length(); i ++)
succeedingDigits.add(succeedingString.charAt(i));
}
int i;
for (i = lowerBound; i <= upperBound; i++){
Multiplicator multiplicator = new Multiplicator("" + i, divisor);
product = multiplicator.multiply();
if (product.length() > target.length()) target = "0" + target;
if (product.compareTo(target) > 0)
break;
}
tempDigits.add(i-1);
Multiplicator multiplicator = new Multiplicator("" + (i-1), divisor);
product = multiplicator.multiply();
Subtractor subtractor = new Subtractor(tempDividend.substring(0, divisor.length()), product);
target = subtractor.subtract();
int targetStandardLength = divisor.length() + 1;
int count = 0;
while (count < limitForAnswer){
if (succeedingDigits.size() == 0)
target = target + "0";
else {
target = target + succeedingDigits.get(0);
succeedingDigits.remove(0);
}
if (target.length() < targetStandardLength)
target = dweiChi(target, targetStandardLength - target.length());
lowerBound = (getDigit(target, 0) * 10 + getDigit(target, 1) ) / (getDigit(divisor, 0) + 1);
upperBound = (getDigit(target, 0) * 10 + getDigit(target, 1) + 1) / getDigit(divisor, 0);
for (i = lowerBound; i <= upperBound + 1; i++){
multiplicator = new Multiplicator("" + i, divisor);
product = multiplicator.multiply();
if (product.length() < target.length()) product = dweiChi(product, target.length() - product.length());
else if (product.length() > target.length()) target = dweiChi(target, product.length() - target.length());
if (product.compareTo(target) > 0)
break;
}
tempDigits.add(i-1);
multiplicator = new Multiplicator("" + (i-1), divisor);
product = multiplicator.multiply();
subtractor = new Subtractor(target, product);
target = subtractor.subtract();
if (isZero(target) && succeedingDigits.size() == 0)
break;
count ++;
}
}
private String dweiChi(String string, int zeroNum){
StringBuilder builder = new StringBuilder(string);
for (int i = 0 ; i < zeroNum;i ++)
builder.insert(0, '0');
return builder.toString();
}
private boolean isZero(String target){
for (int i = 0 ; i < target.length(); i++){
if (target.charAt(i) != '0')
return false;
}
return true;
}
}
</character></character></integer></integer></pre><b>Multiplicator.java</b> <br />
<pre class="brush:java">import javax.swing.JTextField;
public class Multiplicator {
private JTextField number1, number2;
public Multiplicator(JTextField number1, JTextField number2){
this.number1 = number1; this.number2 = number2;
}
public Multiplicator(String number1, String number2){
this.number1 = new JTextField(number1);this.number2 = new JTextField(number2);
}
public String multiply(){
String n1 = number1.getText(), n2 = number2.getText();
if (n1.charAt(0) != '-' && n2.charAt(0) != '-') {}
else if (n1.charAt(0) == '-' && n2.charAt(0) == '-'){
number1.setText(number1.getText().substring(1));
number2.setText(number2.getText().substring(1));
return multiply();
}
else if (n1.charAt(0) != '-' && n2.charAt(0) == '-'){
number2.setText(number2.getText().substring(1));
return "-" + multiply();
}
else{ //n1.charAt(0) == '-' && n2.charAt(0) != '-'
number1.setText(number1.getText().substring(1));
return "-" + multiply();
}
if (n1.contains(".") || n2.contains(".") ){
n1 = preprocess(n1); n2 = preprocess(n2);
String tempn1 = n1.replace(".", ""), tempn2 = n2.replace(".", "");
String tempMultiplication = multiplyTwoPositiveIntegers(tempn1, tempn2);
int shiftHowManyTimes = (n1.length() - n1.indexOf('.') -1) + (n2.length() - n2.indexOf('.') -1);
StringBuilder builder = new StringBuilder(tempMultiplication + ".0");
for (int i = 0 ; i < shiftHowManyTimes; i ++)
builder = Utils.shiftRight(builder);
return Utils.trimEndZeros(builder.toString()) ;
}
else
return multiplyTwoPositiveIntegers(n1, n2);
}
private String preprocess(String n){
if (!n.contains(".")) n += ".0";
if (n.charAt(0) == '.') n= "0" + n;
return n;
}
private String multiplyTwoPositiveIntegers(String n1, String n2){
int[] n1digits = Utils.convertStringToDigits(n1), n2digits = Utils.convertStringToDigits(n2);
n1digits = reverse(n1digits);n2digits = reverse(n2digits);
int[] answerDigits = new int[n1digits.length + n2digits.length];
for (int i = 0 ; i < n1digits.length; i++){
for (int j = 0 ; j < n2digits.length; j++){
int temp = n1digits[i]*n2digits[j];
answerDigits[i+j] += temp;
}
}
for (int i = 0 ; i < answerDigits.length -1; i ++){
answerDigits[i+1] += answerDigits[i] / 10;
answerDigits[i] = answerDigits[i] % 10;
}
StringBuilder builder = new StringBuilder();
for (int i = answerDigits.length - 1 ; i >= 0; i--)
builder.append(answerDigits[i]);
return Utils.trimZeros(builder.toString());
}
private int[] reverse(int[] digits){
int[] result = new int[digits.length];
for (int i = 0 ; i<digits -="" .length="" 1="" digits.length="" digits="" i="" pre="" result="" return="">
<b>Subtractor.java</b>
<pre class="brush:java">import javax.swing.JTextField;
public class Subtractor {
private JTextField number1, number2;
public Subtractor(JTextField number1, JTextField number2){
this.number1 = number1; this.number2 = number2;
}
public Subtractor(String number1, String number2){
this.number1 = new JTextField(number1);this.number2 = new JTextField(number2);
}
public String subtract(){
String n1 = number1.getText(), n2 = number2.getText();
if (n1.charAt(0) != '-' && n2.charAt(0) != '-') {}
else if (n1.charAt(0) == '-' && n2.charAt(0) == '-'){
number1.setText(number1.getText().substring(1));
number2.setText(number2.getText().substring(1));
Subtractor subtractor = new Subtractor(number2, number1);
return subtractor.subtract();
}
else if (n1.charAt(0) != '-' && n2.charAt(0) == '-'){
number2.setText(number2.getText().substring(1));
Adder adder = new Adder(number1, number2);
return adder.add();
}
else{ //n1.charAt(0) == '-' && n2.charAt(0) != '-'
number1.setText(number1.getText().substring(1));
Adder adder = new Adder(number1, number2);
return "-" + adder.add();
}
AProcessor format = new AProcessor(n1, n2);
if (n1.contains(".") || n2.contains(".") ){
format.getProcessingInfo();format.getProcessingInfo2();
n1 = format.n1;n2 = format.n2;
String subtraction = subtractTwoPositiveIntegers(n1, n2);
subtraction = subtraction.substring(0, subtraction.length() - format.dotPosition + 1) + "." + subtraction.substring
(subtraction.length() - format.dotPosition + 1);
subtraction = Utils.adjustAnswer(subtraction);
return Utils.trimEndZeros(subtraction);
}
else {
format.getProcessingInfo2();
n1 = format.n1;n2 = format.n2;
return subtractTwoPositiveIntegers(n1, n2);
}
}
public String subtract_buLin(int length){
String tempResult = subtract();
int zerosNum = length - tempResult.length();
StringBuilder builder = new StringBuilder(tempResult);
for (int i = 0 ; i < zerosNum; i ++)
builder.insert(0, '0');
return builder.toString();
}
private String subtractTwoPositiveIntegers(String n1, String n2){
if (n1.compareTo(n2) >= 0){
int[] n1digits = Utils.convertStringToDigits(n1), n2digits = Utils.convertStringToDigits(n2);
return getSubtractionResult(n1digits, n2digits);
}
else {
return "-" + subtractTwoPositiveIntegers(n2, n1);
}
}
private String getSubtractionResult(int[] n1digits, int[] n2digits ){
int [] answerDigits = new int[n1digits.length];
for (int i = 0; i < answerDigits.length ; i++){
answerDigits[i] += n1digits[i] - n2digits[i];
}
for (int i = answerDigits.length - 1; i >= 0; i--){
if (answerDigits[i] < 0){
answerDigits[i] += 10;
answerDigits[i-1]--;
}
}
StringBuilder builder = new StringBuilder();
for (int i = 0; i < answerDigits.length; i++)
builder.append(answerDigits[i]);
return Utils.trimZeros(builder.toString());
}
}
</pre><b>Utils.java</b>
<pre class="brush:java">public class Utils {
/**
* @param args
*/
public static void main(String[] args) {
String test = "003400";String wew;
wew= Utils.trimZeros(Utils.trimEndZeros(test)).replace(".", "");
System.out.println(wew);
}
public static String trimZeros(String answer){
int i;
for (i = 0 ; i < answer.length(); i++){
if (answer.charAt(i) != '0')
break;
}
if (i != answer.length())
return answer.substring(i);
else
return "0";
}
public static String trimEndZeros(String number){ //trim end zeros for decimal numberss
StringBuilder builder = new StringBuilder(number);
if (number.contains(".")){
int index = number.length() - 1;
while (builder.charAt(index) == '0') {
builder.deleteCharAt(index);
index --;
}
if (builder.charAt(index) == '.')
builder.deleteCharAt(index);
}
return builder.toString();
}
public static String adjustAnswer(String answer){
if (answer.charAt(0) =='.')
answer = "0" + answer;
else if (answer.charAt(0) == '-' && answer.charAt(1) == '.'){
answer = "-0" + answer.substring(1);
}
return answer;
}
public static StringBuilder shiftRight(StringBuilder number){
if (number.toString().contains(".")){
if (number.charAt(0) == '0'){
number.insert(2, '0');
}
else if (number.charAt(1) == '.'){//6.7 -> 0.67
number.deleteCharAt(1);
number.insert(0, '.');number.insert(0, '0');
}
else {//457.3 -> 45.73
int dotIndex = number.indexOf(".");
number.deleteCharAt(dotIndex);
number.insert(dotIndex -1, '.');
}
}
else {
System.out.println("there is bug ");System.exit(0);
return null;
}
return number;
}
public static int[] convertStringToDigits(String string){
int[] result = new int[string.length()];
for (int i = 0 ; i < string.length(); i++)
result[i] = string.charAt(i) - '0';
return result;
}
public static int[] convertStringToDigits(String string, int length){
int howMany = length - string.length();int count = 0;
StringBuilder newString = new StringBuilder(string);
do {
newString.append('0');
} while(++count < howMany);
return convertStringToDigits(newString.toString());
}
}
</pre></digits></pre>Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-18960212049980156902013-03-02T01:16:00.001+08:002013-03-02T01:16:09.868+08:00A Java source code for Guess Number game (猜數字遊戲)The Java code below is my implementation of the "guess number game"(猜數字遊戲). It is a fully runnable Java application. A feature of the program is that it supports both Chinese and English languages. You can also copy and configure it on your own.<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<pre class="brush: java">import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JComboBox;
import javax.swing.DefaultComboBoxModel;
import java.awt.Font;
import java.awt.Color;
import javax.swing.JLabel;
import java.awt.Component;
import javax.swing.JButton;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.swing.JTextField;
public class GuessNumber extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private static final Random random = new Random();
private String randomNumber;
private int times;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GuessNumber frame = new GuessNumber();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private JComboBox comboBox;
private JLabel label;
private JButton btnStart;
private JTextField textField;
private JButton btnSwitchLanguage;
private JLabel additionalLabel;
private JButton btnEnter;
private JLabel giAgiBJLabel;
/**
* Create the frame.
*/
public GuessNumber() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(400, 100, 450, 300);
setResizable(false);
setTitle("Guess Number");
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
comboBox = new JComboBox();
comboBox.setForeground(Color.BLUE);
comboBox.setFont(new Font("微軟正黑體", Font.BOLD, 16));
comboBox.setModel(new DefaultComboBoxModel(new String[] {"English", "\u4E2D\u6587"}));
comboBox.setBounds(150, 125, 150, 35);
contentPane.add(comboBox);
label = new JLabel();
setLabel();
contentPane.add(label);
btnStart = new JButton("Start");
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
start();
}
});
btnStart.setForeground(Color.RED);
btnStart.setFont(new Font("Century", Font.BOLD, 14));
btnStart.setBounds(180, 190, 90, 30);
contentPane.add(btnStart);
textField = new JTextField();
textField.setFont(new Font("Tahoma", Font.BOLD, 18));
textField.setBounds(170, 120, 120, 35);
textField.setVisible(false);
textField.addKeyListener(enterListener);
contentPane.add(textField);
btnSwitchLanguage = new JButton("Switch Language");
btnSwitchLanguage.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
switchLanguage();
}
});
btnSwitchLanguage.setFont(new Font("Sylfaen", Font.PLAIN, 10));
btnSwitchLanguage.setBounds(328, 239, 110, 23);
btnSwitchLanguage.setVisible(false);
contentPane.add(btnSwitchLanguage);
additionalLabel = new JLabel("without duplicate digits");
additionalLabel.setFont(new Font("Kartika", Font.BOLD, 16));
additionalLabel.setForeground(new Color(153, 102, 0));
additionalLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
additionalLabel.setBounds(130, 65, 300, 35);
additionalLabel.setVisible(false);
contentPane.add(additionalLabel);
btnEnter = new JButton("Enter");
btnEnter.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
enter();
}
});
btnEnter.addKeyListener(enterListener);
btnEnter.setBackground(new Color(173, 255, 47));
btnEnter.setFont(new Font("新細明體", Font.BOLD, 12));
btnEnter.setForeground(Color.BLUE);
btnEnter.setBounds(310, 125, 69, 23);
btnEnter.setVisible(false);
contentPane.add(btnEnter);
giAgiBJLabel = new JLabel("");
giAgiBJLabel.setForeground(new Color(0, 0, 255));
giAgiBJLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
giAgiBJLabel.setFont(new Font("Comic Sans MS", Font.PLAIN, 28));
giAgiBJLabel.setBounds(190, 170, 130, 30);
contentPane.add(giAgiBJLabel);
}
public KeyListener enterListener = new KeyListener() {
@Override
public void keyTyped(KeyEvent arg0) {}
@Override
public void keyReleased(KeyEvent arg0) {}
@Override
public void keyPressed(KeyEvent arg0) {
int key = arg0.getKeyCode();
if (key == KeyEvent.VK_ENTER){
enter();
}
}
};
private void enter(){
times++;
boolean hasNoInputError = checkInputError();
if (hasNoInputError){
if (textField.getText().equals(randomNumber)){
if (comboBox.getSelectedIndex() == 1)
JOptionPane.showMessageDialog(null, "恭喜你答對了。你一共猜了"+times+"次");
else
JOptionPane.showMessageDialog(null, "Congratulations! Your answer is correct. You have guessed " + times + " times.");
switchLanguage();
}
else {
setGiAGiB();
}
}
}
private void switchLanguage(){
btnEnter.setVisible(false);
comboBox.setVisible(true);
btnStart.setVisible(true);
textField.setText("");
textField.setVisible(false);
setLabel();
additionalLabel.setVisible(false);
btnSwitchLanguage.setVisible(false);
giAgiBJLabel.setVisible(false);
}
private boolean checkInputError(){
String inputText = textField.getText().trim();
if (inputText.length()!=4){
if (comboBox.getSelectedIndex() == 1)
JOptionPane.showMessageDialog(null, "請輸入四位數正整數");
else
JOptionPane.showMessageDialog(null, "Please enter a 4-digit integer");
return false;
}
Pattern pattern = Pattern.compile("\\d\\d\\d\\d");
Matcher matcher = pattern.matcher(inputText);
if (!matcher.find()){
if (comboBox.getSelectedIndex() == 1)
JOptionPane.showMessageDialog(null, "請輸入有效的正整數");
else
JOptionPane.showMessageDialog(null, "Please enter a valid integer");
return false;
}
for (int i = 0; i <= 2; i ++){
for (int j = i+1; j <= 3 ; j ++ ){
if (inputText.charAt(i) == inputText.charAt(j)){
if (comboBox.getSelectedIndex() == 1)
JOptionPane.showMessageDialog(null, "輸入有誤。四個數字都不能重複");
else
JOptionPane.showMessageDialog(null, "Input error. There should be no duplicate digits");
return false;
}
}
}
textField.setText(inputText);
return true;
}
private void setLabel(){
label.setText("Select a language");
label.setForeground(new Color(153, 102, 0));
label.setAlignmentX(Component.CENTER_ALIGNMENT);
label.setFont(new Font("Kartika", Font.BOLD, 16));
label.setBounds(150, 60, 150, 35);
}
private void start(){
setRandomNumber();
btnEnter.setVisible(true);
comboBox.setVisible(false);
btnStart.setVisible(false);
textField.setVisible(true);
btnSwitchLanguage.setVisible(true);
setTexts();
times = 0;
}
private void setRandomNumber(){
boolean[] used = new boolean[10];
int d1 = random.nextInt(10);
used[d1] = true;
int d2 = random.nextInt(9);
if (used[d2]) d2++;
used[d2] = true;
int d3 = random.nextInt(8);
if (used[d3]) d3++;
if (used[d3]) d3++;
used[d3] = true;
int d4 = random.nextInt(7);
if (used[d4]) d4++;
if (used[d4]) d4++;
if (used[d4]) d4++;
randomNumber = "" + d4 + d3 + d2 + d1;
System.out.println(randomNumber);
}
private void setGiAGiB(){
int a = 0;
for (int i = 0 ; i < 4 ; i ++){
if (textField.getText().charAt(i) == randomNumber.charAt(i))
a++;
}
int b = 0;
for (int i = 0 ; i < 4 ; i ++){
if (randomNumber.contains(textField.getText().charAt(i) + "")){
if (textField.getText().charAt(i) != randomNumber.charAt(i))
b++;
}
}
giAgiBJLabel.setText(a + "A" + b + "B");
giAgiBJLabel.setVisible(true);
}
private void setTexts(){
if (comboBox.getSelectedIndex() == 1){
setTitle("猜數字");
label.setBounds(80, 40, 300, 35);
label.setFont(new Font("微軟正黑體", Font.BOLD, 16));
label.setText("請輸入一個數字不重複的四位數正整數");
btnSwitchLanguage.setBounds(328, 239, 110, 23);
btnSwitchLanguage.setFont(new Font("微軟正黑體", Font.PLAIN, 10));
btnSwitchLanguage.setText("切換語言");
btnEnter.setText("輸入");
}
else {
setTitle("Guess Number");
label.setBounds(75, 40, 300, 35);
label.setText("Please enter a 4-digit positive integer");
btnSwitchLanguage.setText("Switch Language");
btnSwitchLanguage.setFont(new Font("Sylfaen", Font.PLAIN, 10));
btnSwitchLanguage.setBounds(328, 239, 110, 23);
additionalLabel.setVisible(true);
btnEnter.setText("Enter");
}
}
}
</pre>
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-25103178755087997112013-03-01T00:32:00.000+08:002013-03-01T21:34:59.026+08:00A Java code for the Tic-Tac-Toe game (井字遊戲)<br />
The code below is a runnable Java program for the Tic-tac-Toe game(井字遊戲).You can copy the code and two images and establish a Java project to test on your own.<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<span style="font-size: large;">o.png and x.png:</span><br />
<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<div class="separator" style="clear: both; text-align: center;"></div><br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<pre class="brush: java">package com.tictactoe;
import java.awt.EventQueue;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JTable;
import javax.swing.JButton;
import javax.swing.border.EtchedBorder;
import java.awt.Color;
import java.awt.Font;
import javax.swing.table.DefaultTableModel;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
public class TicTacToe extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private static JTable table;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TicTacToe frame = new TicTacToe();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
// When the value of count is even, it's player O's turn;otherwise, it's player X's turn;
private int count = 0;
private int[][] situation; // = new int[3][3]; //null empty; true:O
// false: X
private void setTable() {
final Object[][] tableItems = new Object[][] { { null, null, null },
{ null, null, null }, { null, null, null }, };
situation = new int[3][3];
table = new JTable();
table.setGridColor(new Color(255, 0, 0));
MouseAdapter mouseListener = new MouseAdapter() {
/**
* check if the current player wins
*
* @return
*/
private boolean checkWhetherTheCurrentPlayerWins() {
System.out.println("Count = " + count);
if (count <= 3)
return false;
int player = (count % 2 == 0)? 1 : 2;
// check the two oblique lines
if ( situation[1][1] == player) {
if (situation[0][0] == player
&& situation[2][2] == player)
return true;
if (situation[0][2] == player
&& situation[2][0] == player)
return true;
}
//check rows
for (int row = 0; row < 3; row++) {
if (situation[row][0] == player && situation[row][1] == player && situation[row][2] == player)
return true;
}
// check columns
for (int column = 0 ; column < 3; column ++){
if (situation[0][column] == player && situation[1][column] == player && situation[2][column] == player)
return true;
}
return false;
}
@Override
public void mousePressed(MouseEvent e) {
JTable table = (JTable) e.getComponent();
int column = table.columnAtPoint(e.getPoint());
int row = table.rowAtPoint(e.getPoint());
if (table.getValueAt(row, column) != null)
return;
boolean OorNot = count % 2 == 0;
situation[row][column] = OorNot ? 1 : 2;
String imagePath = "images/" + (OorNot ? "o.png" : "x.png");
ImageIcon OorXIcon = new ImageIcon(imagePath);
Image img = OorXIcon.getImage();
Image newImg = img.getScaledInstance(90, 90,
java.awt.Image.SCALE_SMOOTH);
DefaultTableModel tableModel = (DefaultTableModel) table
.getModel();
tableModel.setValueAt(new ImageIcon(newImg), row, column);
if (checkWhetherTheCurrentPlayerWins()){
JOptionPane.showMessageDialog(null, "Congratuations! Player " + (OorNot ? "O":"X") + " Wins.");
restart();
return;
}
count++;
}
@Override
public void mouseReleased(MouseEvent e) {
((JTable) e.getComponent()).putClientProperty("pressedCell",
null);
}
};
table.addMouseListener(mouseListener);
table.setModel(new DefaultTableModel(tableItems, new String[] { "0",
"1", "2" }) {
private static final long serialVersionUID = 1L;
@Override
public boolean isCellEditable(int row, int column) {
return false;
}
});
table.setBackground(new Color(153, 255, 255));
table.setBorder(new EtchedBorder(EtchedBorder.RAISED, new Color(107,
142, 35), null));
table.setBounds(89, 70, 270, 270);
for (int i = 0; i < 3; i++) {
table.setRowHeight(i, 90);
table.getColumnModel().getColumn(i)
.setCellRenderer(new ImageRenderer());
}
} // end of reset table
private void restart(){
count = 0;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++)
table.setValueAt(null, i, j);
}
situation = new int[3][3];
}
/**
* Create the frame.
*/
public TicTacToe() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 470);
setTitle("Tic-Tac-Toe");
setResizable(false);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
setTable();
contentPane.add(table);
JButton btnNewButton = new JButton("Restart");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
restart();
}
});
btnNewButton.setFont(new Font("SansSerif", Font.BOLD, 16));
btnNewButton.setBounds(180, 380, 90, 25);
contentPane.add(btnNewButton);
}
}
</pre>Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-57560021227672160792013-02-28T13:56:00.001+08:002013-02-28T14:13:59.154+08:00Start and close Apache Solr by Java methods instead of command lines<br />
The Apache Solr server on the local computer can be started by running a <b><span lang="EN-US" style="font-family: 細明體; mso-bidi-font-family: 細明體; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt;">java -jar start.jar</span></b><span lang="EN-US" style="font-family: 細明體; mso-bidi-font-family: 細明體; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt;"></span> command in Cygwin or cmd and closed by a <b><span lang="EN-US" style="font-family: 細明體; mso-bidi-font-family: 細明體; mso-bidi-font-size: 12.0pt; mso-font-kerning: 0pt;">Ctrl + C</span></b> command. However, it's not convenient to manually check whether the Solr server is started, and an additional Cygwin or cmd window on the taskbar would be quite annoying. It's obviously a better design to do these via a few Java modules.<br />
<br />
<span class="st">This post is a tutorial on how to start Solr server, close Solr server, and check whether the local Solr server is running or not by Java. I searched on the Internet, read some StackOverFlow posts, and wrote the code below. The three methods <span style="color: blue;"><b>startSolrServer()</b>, <b>closeSolrServer()</b>,</span> and <span style="color: blue;"><b>isSolrServerAlive()</b></span> are responsible for the three functionalities respectively. </span><br />
<span class="st"><br />
</span> <span class="st">You can simply copy the three Java classes <b><span style="color: #990000;">SyncPipe.java, LoggedPrintStream.java, and SolrUtilities.java</span></b> below, paste them at some whether in your Java project, configure the solrDirectory, and directly use the three methods. </span><br />
<span class="st"><br />
</span> <span class="st">Beside, I feel that the design of the </span><span class="st"><span class="st"><span style="color: blue;"><b>closeSolrServer() </b></span></span>method is a bit inelegant. Weclome to leave comments below to provide better solutions about closing the Solr server by Java. </span><br />
<span class="st"><br />
</span> <br />
<br />
<span class="st"><b><span style="color: #990000;"> </span></b></span><img alt="" src="data:image/png;base64,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" /><br />
<br />
<span class="st"><b><span style="color: #990000;">SyncPipe.java</span></b></span><br />
<br />
<pre class="brush: java">package com.solrutils;
import java.io.InputStream;
import java.io.OutputStream;
public class SyncPipe implements Runnable {
public SyncPipe(InputStream istrm, OutputStream ostrm) {
istrm_ = istrm;
ostrm_ = ostrm;
}
public void run() {
try {
final byte[] buffer = new byte[1024];
for (int length = 0; (length = istrm_.read(buffer)) != -1;) {
ostrm_.write(buffer, 0, length);
}
} catch (Exception e) {
e.printStackTrace();
}
}
private final OutputStream ostrm_;
private final InputStream istrm_;
}
</pre>
<br />
<br />
<span class="st"><b><span style="color: #990000;"></span></b></span><span class="st"><b><span style="color: #990000;">LoggedPrintStream.java</span></b></span><br />
<br />
<pre class="brush: java">package com.solrutils;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.lang.reflect.Field;
public class LoggedPrintStream extends PrintStream {
final StringBuilder buf;
final PrintStream underlying;
LoggedPrintStream(StringBuilder sb, OutputStream os, PrintStream ul) {
super(os);
this.buf = sb;
this.underlying = ul;
}
public static LoggedPrintStream create(PrintStream toLog) {
try {
final StringBuilder sb = new StringBuilder();
Field f = FilterOutputStream.class.getDeclaredField("out");
f.setAccessible(true);
OutputStream psout = (OutputStream) f.get(toLog);
return new LoggedPrintStream(sb, new FilterOutputStream(psout) {
public void write(int b) throws IOException {
super.write(b);
sb.append((char) b);
}
}, toLog);
} catch (NoSuchFieldException shouldNotHappen) {
} catch (IllegalArgumentException shouldNotHappen) {
} catch (IllegalAccessException shouldNotHappen) {
}
return null;
}
}
</pre>
<br />
<span class="st"><b><span style="color: #990000;"><span class="st"><b><span style="color: #990000;">SolrUtilities.java</span></b> </span></span></b></span><br />
<br />
<pre class="brush: java">package com.solrutils;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
public class SolrUtilities {
private static final String solrDirectory = "D:/solr-4.1.0/";
public static void startSolrServer() {
try {
String[] command = { "cmd", };
Process p = Runtime.getRuntime().exec(command);
new Thread(new SyncPipe(p.getErrorStream(), System.err)).start();
new Thread(new SyncPipe(p.getInputStream(), System.out)).start();
PrintWriter stdin = new PrintWriter(p.getOutputStream());
stdin.println("cd /d D:");
stdin.println("cd " + solrDirectory + "example");
stdin.println("java -jar start.jar");
stdin.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static boolean isSolrServerAlive() {
try {
LoggedPrintStream lpsOut = LoggedPrintStream.create(System.out);
LoggedPrintStream lpsErr = LoggedPrintStream.create(System.err);
System.setOut(lpsOut);
System.setErr(lpsErr);
String[] command = { "cmd", };
Process p = Runtime.getRuntime().exec(command);
new Thread(new SyncPipe(p.getInputStream(), System.out)).start();
new Thread(new SyncPipe(p.getInputStream(), System.out)).start();
PrintWriter stdin = new PrintWriter(p.getOutputStream());
stdin.println("netstat -o -n -a | findstr 0:8983");
stdin.flush();
while (lpsOut.buf.lastIndexOf("findstr") == -1) {
System.out.println("lpsOut.buf = " + lpsOut.buf);
try {
Thread.sleep(250);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.setOut(lpsOut.underlying);
stdin.close();
if (lpsOut.buf.indexOf("LISTENING") == -1) {
return false;
} else {
return true;
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static void closeSolrServer() {
try {
LoggedPrintStream lpsOut = LoggedPrintStream.create(System.out);
System.setOut(lpsOut);
String[] command = { "cmd", };
Process p = Runtime.getRuntime().exec(command);
new Thread(new SyncPipe(p.getErrorStream(), System.err)).start();
new Thread(new SyncPipe(p.getInputStream(), System.out)).start();
OutputStream outputStream = p.getOutputStream();
PrintWriter stdin = new PrintWriter(outputStream);
stdin.println("netstat -o -n -a | findstr 0:8983");
stdin.flush();
while (lpsOut.buf.lastIndexOf("findstr") == -1) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.setOut(lpsOut.underlying);
if (lpsOut.buf.indexOf("LISTENING") == -1) {
System.err.println("SolrUtilities 62 the Solr server is already closed");
return;
} else {
String thePIDString = lpsOut.buf.substring(
lpsOut.buf.indexOf("LISTENING") + 9).trim();
int i = 0;
while (0 <= thePIDString.charAt(i) - '0'
&& thePIDString.charAt(i) - '0' <= 9)
i++;
thePIDString = thePIDString.substring(0, i);
stdin.println("taskkill /f /pid " + thePIDString);
}
stdin.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {
boolean isSolrAlive = isSolrServerAlive();
System.out.println("SolrUtilities.main() 122 isSolrServerAlive? " + isSolrAlive);
if (!isSolrAlive) {
startSolrServer();
System.out.println("SolrUtilities.main() the Solr server is started");
}
try {
Thread.sleep(30000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
closeSolrServer();
System.out.println("SolrUtilities.main() the Solr server is closed");
}
}
</pre>
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-35588919435029070822013-02-28T00:19:00.000+08:002013-03-13T22:47:37.273+08:00Step-by-step tutorial on the installation of Apache Solr<br />
This post is a<b> </b>simple, detailed, and step-by-step tutorial on how to install Apache Solr<br />
<br />
<br />
<b>Step 1</b>: Download <span style="color: #38761d;"><b>solr-4.1.0</b></span> from <a href="http://www.apache.org/dist/lucene/solr/4.1.0/solr-4.1.0.zip">http://www.apache.org/dist/lucene/solr/4.1.0/solr-4.1.0.zip</a><br />
<br />
<b>Step 2</b>: Unzip <span style="color: #38761d;"><b>solr-4.1.0</b></span> to a folder. Suppose the path of the folder is <span style="color: #cc0000;"><b>D:/solr-4.1.0</b></span><br />
<br />
<b>Step 3</b>: Execute <span style="color: blue;"><b>cmd.exe</b></span><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-TW</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<b>Step 4: </b>Enter command:<span style="color: #cc0000;"> <b><span lang="EN-US">cd /d D</span></b><span style="color: black;"><b>:</b></span> </span>to change disk<br />
<br />
<b>Step 5:</b> Enter command: <b><span style="color: #cc0000;">cd D:/solr-4.1.0/example/</span></b><br />
<br />
This step is to change to the directory of the <span style="color: #8e7cc3;"><b>start.jar</b></span>.<br />
<br />
<b>Step 6</b>: Enter command: <span style="color: #cc0000;"><b>java -jar start.jar</b></span> to start Apache Solr. <br />
<br />
If the resulting screen is without error messages like this, it is successful.<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
After entering this command, do not shutdown the cmd window or enter Ctrl C to close the server now.<br />
<br />
<b>Step 7</b>: Execute <span style="color: blue;"><b>cmd.exe</b></span> again to open another cmd window<br />
<br />
<b>Step 8</b>: In the new cmd window, enter command: <span style="color: #cc0000;"><b><span lang="EN-US">cd /d D</span></b><span style="color: black;"><b>:</b></span> </span><br />
<br />
<b>Step 9</b>: In the same cmd window, enter <span style="color: #cc0000;"><b>cd D:/solr-4.1.0/example/exampledocs</b></span><br />
<br />
This step is to change to the directory of the <span style="color: #c27ba0;"><b>post.jar</b></span><br />
<br />
<b>Step 10</b>: In the same window, enter <span style="color: #cc0000;"><b>java -Dauto -Drecursive -jar post.jar D:/solr-4.1.0/</b></span><span style="color: #cc0000;"><b><span style="color: #cc0000;"><b>example/</b></span>exampledocs</b></span><br />
<br />
This step is to index all Solr documents inside the folder <span style="color: #cc0000;"><b> D:/solr-4.1.0/</b></span><span style="color: #cc0000;"><b><span style="color: #cc0000;"><b>example/</b></span>exampledocs </b></span><br />
with the <span style="color: #c27ba0;"><b>post.jar</b></span>. If the resulting screen is similar to this, this step is successful.<br />
<br />
<img alt="" src="data:image/png;base64,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ZGh4uFodGqxWB6vVoeGRkdHRsfHxicmaXuWMYD2/oB+mxUXj0Ny6fWcFt++sw931uVPn9p27c/M3V3P//ufbLl68dPToWz/44Q/v3b8/PTOrB9Ra/VRcvHXLYrUePHjowMFDBw4c3H/gwP79+/fv379v3/69+/bt3btv7959e/ft37e/CWP63r179760d+9Le/fu3btv3/79+w8cPHjo0KFDbYfaDrcdPnL4yJHDR44cPnyk7fDhtra2Q21thw61HTp06OChQwcPNdS2RFvbstEH0tZ2qK2tre1w22FjE3oqB1cn21hS5/BG1Jc8tISRyMa5+uqxpIPLefBxaTt8aGk3HtE5rHPkEXn5SIuHY+nMqp9ch9va2tralh/Zg4cOHTx08OChgw0dMDhw4OCBJR1cycHl1KfvNzhgsH8F+/fvX95KLGf//gd9uq+lL0DGETGOZuO8Xt5yNp25K7Ts9DRO9uaGcallWGo39PBx8FCjwjTVECOarMd61WZ/vTiNEh08eHCpRIfaDrcdPtwozpEjR1aeLy8/Cq+s4OVN8srD8corv1wHY7GXXzny8suHDx851NZ28NBSsN63f/+++p7af+DAgZWn50o17dimKfv27du3byni68H9pb0vvfTSiy++tGfPiy+8sGf37hd27dq9c+euHTt37dixa8eOnTt27Nyxc9fOXbt27dq9e/fzzz//wp4X9ry458UX9+x58fnn9+za+cKO555/9pndP//Zrp88tfO/ntzx5BM7fvzvO5/4t51P/Gjnv//rrif+ddcT/7p7JT/a9R//tvM//n3Hj5947skfP/df//ncU08999OfPPfTn27/yU+2//d/b3/qqef+6z93/OePdzz5xM7/+LddT/xo1xM/2v3Ej55/4kfP1xPRJ+584kc7nvjRjv/4tx0/fmLnU0/u+ul/73r6Z88/+8wLO3a8uHv3Sy+++OKeF3fv3r3juR2/eOaZn/385z/5yU//66mnfvzkk08++Z9PPfXfP/3pz55++hfPPrt9x46du3Y//8KeF196ae/efXWf02aEwi8ohNnt9jt37s7P31zB/fufb7t0+fJbb731/R/84N69e5O1+p3N+g3TxcXF/fv3f9mtUEsttdRSSy211NLvmu7cuTM0NDQ2NjY9PT3bpLm5Of23Ib3feXJy8uWXX7l7927TbQ2Dzz//fNvl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SOnx3OR0ssHJlZ9OWcscC/qW6Tzzc275X7GcKX763Qeew6QQzqLz7Jcr9xhZ1/yV8pylmSu1ZAIAQBIwUtKVLVv2yy+/7NChw3XXXXfdddd16NChffv211577UsvvcQv6WJF90vmaYIR2oWwUcEvgeZuQWhW22PoTY6TDbqXzpWfbNOWaVPuWYQjoUdOREJiLtx23AfK7vizmHkmBviNlM0nx3JQuVJLJgAAJAGDJd11113XsWPHjh07xqs65lM6S3TTF24JhAvOTd+vxT1X6uZOjNeJV1lSfLD7wNOsu5eITpgrP6m0X068QqfMiITChLHwNfsZ8RTp1uw+4PulNfODIro8JXmeMi3TeohTzwOhZqYAAAAIF1Ml3bZt27p27dqtW7du3bp17drVfvmVX9JZRe+wsr2EC+LGzdk/nLNkb+5CtX5BCTcbYTZoPX4Ruf3GXBskER2dK6lsEAkRWvDrStDAyR6tR20ubYT25Q4kYTydRiE6QfFzpTmdaTmoXMnmEAAAkoap99Jt3779xhtv7NWrV69evXr27NmzZ0/74xF2SZceKOyRAKQQUbvCQ9cTugAAACAwUtJVqFBhx44dvXv3vq2QPn363HLLLelU0qk99gAgtYjURR6umEilAgAA3Bgp6ezvpevfv//AgQMHDhw4YMCAAQMG9OvXL9VLOuZLMwCkE7jULSQBAJAKBF/S5eTkVKxYcdeuXYMHDx46dOiQIUOGDBkyePDggQMHpllJF7YcAAAAAIAzJKOks38QbODAgfEvMQEAAAAAAAFisKSzX3gdMGBA//79+/fv37dv35dffhklHQAAAABA4Bgp6Zwfj+jTp4/9Y6+33HILSjoAAAAAABMY/BKTHj163HjjjT169OjevXv37t1vuOGGV1555dJLLw013jNE881w0VSVliDVFpIAAADphcFfj4j/tKv9AxLXXXfdq6++apd0nI+OqvW6LXtaCGszU1OFz2Q40c8GMddckvmWA9QgzBUuKgAASBuMlHRlypTZunXrNYVcffXVV1111VVXXbVkyZK6detakj8PINXraTkim5ayqqgFEi6a2aAnmksy33KAGji5wnUFAADpgamS7osvvmjTps2VV155xRVXtG7dOjs7Ozs7e+nSpfXq1bP8f4pH/zTBZuD50kFTUgQjChGdks6EWY5fjmUTAoQ2cV0BAEAa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" /><br />
<br />
<br />
After this step is done, the Solr documents inside <span style="color: #cc0000;"><b>D:/solr-4.1.0/</b></span><span style="color: #cc0000;"><b><span style="color: #cc0000;"><b>example/</b></span>exampledocs </b></span> are successfully indexed. Then you can quickly search the indexed documents with Solr queries.<br />
<br />
For example, you can search documents with "George" in the author field and "game" in the game field by this url<br />
<a href="http://localhost:8983/solr/collection1/select?q=author:George%20AND%20name:game&wt=xml">http://localhost:8983/solr/collection1/select?q=author:George%20AND%20name:game&wt=xml</a> and get the following Solr document:<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
-------<br />
<br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>2</w:DisplayVerticalDrawingGridEvery>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>ZH-TW</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:SpaceForUL/>
<w:BalanceSingleByteDoubleByteWidth/>
<w:DoNotLeaveBackslashAlone/>
<w:ULTrailSpace/>
<w:DoNotExpandShiftReturn/>
<w:AdjustLineHeightInTable/>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
<w:UseFELayout/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:表格內文;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
mso-bidi-font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-font-kerning:1.0pt;}
</style>
<![endif]-->
<br />
<div class="MsoNormal">
<span lang="EN-US">P.S: Some commands for Solr can be looked
up by "<span style="color: #6aa84f;"><b>java -jar post.jar -h.</b></span>" The post.jar is inside
D:/solr-4.1.0/example/exampledocs. The following are example commands:</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -jar post.jar *.xml</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -Ddata=args<span style="mso-spacerun: yes;"> </span>-jar post.jar
'<delete><id>42</id></delete>'</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -Ddata=stdin -jar post.jar < hd.xml</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -Ddata=web -jar post.jar http://example.com/</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -Dtype=text/csv -jar post.jar *.csv</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -Dtype=application/json -jar post.jar *.json</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>java
-Durl=http://localhost:8983/solr/update/extract -Dparams=literal.id=a -Dt<span style="mso-spacerun: yes;"> </span>ype=application/pdf -jar
post.jar a.pdf</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -Dauto -jar post.jar *</span></span></div>
<span style="color: #741b47;">
</span><br />
<div class="MsoNormal">
<span style="color: #741b47;"><span lang="EN-US"><span style="mso-spacerun: yes;">
</span>java -Dauto -Drecursive -jar post.jar afolder</span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span lang="EN-US">Furthermore, you can install <b>Cygwin </b>and the <b>curl </b>package and then index documents with a curl command:</span></div>
<div class="MsoNormal">
<b style="mso-bidi-font-weight: normal;"><span lang="EN" style="color: #0070c0; mso-ansi-language: EN;">curl 'http://localhost:8983/solr/update/json?commit=true'
--data-binary @books.json -H 'Content-type:application/json'</span><span lang="EN-US" style="color: #0070c0;"></span></b></div>
<br />
<br />
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com7tag:blogger.com,1999:blog-5567997506903791991.post-77908267022482235342013-02-25T00:24:00.002+08:002013-02-25T00:38:31.665+08:00Tutorial on SolrJ<br />
SolrJ, a java client to access Apache Solr, offers a java interface that enables the developer to add, update, and query the Solr index more conveniently. This post is a brief step-by-step tutorial on how to use SolrJ<span style="color: #0000ee;"> in <span style="color: #0000ee;">y</span>ou</span>r Java project. The installation of Apache Solr and introduction to Solr's basic commands is omitted here. Suppose the version of the installed Solr is 4.1.0.<br />
<br />
<b>Step 1</b>: <b><span style="color: #b45f06;">Start the Solr server on your computer</span></b><br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<b>Step 2</b>:<b> <span style="color: #b45f06;">Download </span><span style="color: #274e13;"><span style="background-color: #ffd966;">solr-solrj-4.0.0.jar</span></span> <span style="color: #b45f06;">from </span><span style="color: blue;"><a href="http://repo1.maven.org/maven2/org/apache/solr/solr-solrj/4.0.0/solr-solrj-4.0.0.jar">http://repo1.maven.org/maven2/org/apache/solr/solr-solrj/4.0.0/solr-solrj-4.0.0.jar</a></span></b><br />
<br />
<b>Step 3</b>:<span style="color: #b45f06;"> <b>Copy </b></span><b><span style="color: #674ea7;">solr-solrj-4.0.0.jar</span><span style="color: #b45f06;"> to a library folder in your Java project, and add it to the classpath.</span></b><br />
<br />
<b>Step 4</b>: <b><span style="color: #b45f06;">Copy all .jar files in your</span> <span style="color: #274e13;"><span style="background-color: #f1c232;">..../solr-4.1.0/dist/solrj-lib</span></span><span style="color: #b45f06;"> folder to a library folder and add them to the classpath. </span></b><br />
<br />
(For example, suppose Solr is installed in <span style="color: #45818e;">D:/Cwef34fr/solr-4.1.0/dist</span> folder, copy all jar files inside <span style="color: #45818e;">D:/Cwef34fr/solr-4.1.0/dist/solrj-lib</span> to a library folder of the project and then add them to the classpth)<br />
<br />
<img alt="" src="data:image/png;base64,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W7fuwQcfBOEFc+KumYe6urroJoEg6P3334dhGMfxlStXnjt3bnx8/NFHH5VKpTQP0eNHkiQrlYrX63388cctFktvb+/TTz+dTCbLte0GpVJp586doH9CELR27Vqfz1cmSTD+bWtrO3nypNPp3PfRRy6Xi6Korq6u9957D5RkXqM5f/78j370IxiGQaWa520oigqFQmvWrOnr66NqToqiqImJiQ0bNrDZbIqitmzZ8tprr+VyOTCv4nS6bt68uX79+vXr169YsYLFYpnN5qeffvqHP/zhyy+/7PP5nE7nvn37tm7devXq1Ww2S1GUTCbbvHmzx+PZv39/d3d3IpHYu3fvD3/4wwceeODixYs7dux46aWX1q1bZzQaAS9iGIbW2Ai8d/zAAw+88cYboOPOGw8VCgW1Wv3CCy+8+uqr7733HliqefPNNx9//PHly5c//PDDu3btmpqagmF4+fLlMzMzly9ffvrpp999913avQLJZrNHjhzp7u5WqVSbNm0KBoNUbdhO1mb23n77bRAn0Sc5HM7u3bsB+cVisf0HDgwNDVX1Sfv9mqXdvHnzjjvusFqtVI2K5m07nU73yiuvPPPssy+99NL3v//9pUuXZjIZsVj8wgsvTE9PHz169Kmnnnr99dd7enrOnTt3xx13/PrXv7569So+36/kVSoVGIa/+93vdnd3UdWYqZGECIJAMez69evLli1buXJla2troVDg8Xi//e1vf//737/44ouPP/749evXK5VKW1vbjh07MpnMH//4x1dffXXLli2jo6NPPfWU3+9napIgiNWrVw8ND8disSeeeGJ8PGyz2X7729++9dZby5cvf/bZZ59//nlgxrfouP8yKQr8mvBXkrlMFg2Kbsv8UsdDBw8eJAiiXKGwpDEb+7iYY6Gz17LT3YhylY79gk+5dhraHrP/cQo+OG7ZP+W9QVaqPASoqFjjobNnz7a0tCxdupSeCanRAA7+vYDA8UqlMhWPb9m69f3339+7d+8rr7zy2muv7d2799133925cyegkPb29k8++fStt966evXq0qVLv/vd7y5btuz3v//997//fTAjBFxCqYmHdu3a1dLSQi8eVC818dDu3bu7urrKNS3AMPzee+/5/X673b527Vq3201R1KpVq/bu3VsqlSo1MgDxULlcpijq2rXr27ZtoyhqamrqscceAw6LJMlKpYKi6K5du0BcOMdDlTLghvPnzx87dgx4diACgWDjxo2VcpmiqHKlAky4XK7Qpe3s7GxpafnFL36BIAjFiDVxHHhInKKoYDC4detWkUhE1SbfQFR08+bN7du3JxKJc+fOrVmzxmw237x589q1azwe/5/+6Z/Wr1+/b+/eZcuWPfDAA1NTUxqN5siRIyDm0Gq169ate+edd44ePWo0GmdmZg4cOABG8QcPHgT1TSaTR44ckcvlFEWtXr16y5YtIBxsjnbA3Objjz/e0tKyefPmSqWC43jzz0AUi8Wenp577733+vXrFEVlMpmPPvpo7dq1QFHpdPqJJ57g8/mAh2ZnZ8+cOfPCCy9kMhlADOvWrdu8eTMEQUKh8Pjx4xRFWSyW3bt3z87OUhRFewyah8bHx0GrgZNsDmfv3r0gcSwW2//RRwODg0wzZloam81uaWm58847mVRULlfKjA6GouiGDRv27t0Hyj80NPTSSy/NzMzI5PKVK1eGQqEVK1Y8//zzoPyFQmHLli0gxgLLRUUaNR7y+/1/+7d/+53vfGdgYJCiqGKxkavIcjmdyezctWvp0qXAjCMTE88//3x7ezsog0gkeuyxx5LJ5IULF3bs2IGi6IoVKw4ePEhRVCQSee655yaiUQhB1q9f/84773R3d5dKpbfeemtoaGhqaur5558PhyNWq/VXv/rV1atXQYabN28+c+ZMoVAol8vNivprF3yBvxSpOjOCqKtkjYtu/8LPrUsdDx0+fJggiHKFQlPGdOQImuhIT16YCZ10il7SDjzrkb4etbwd0b0UQy5MePlTnis1HqpKoTYqBzzU0tLys5/9DMwCVQmjhJfwKsrlciwW27lz1549H3z66advvfXW2rVrP/300507d37wwQeAh44ePfr73/9+7969AwMDp0+flslkR44c+fTTU1euXB0eHp7jobrZNwIQDCjA0qVLA8FgtW8w7YTBQ3SAyufzV6xYgWHYsWPHvve97z311FMvvfTSHXfc8dOf/pQeHp4/f56eT89ms8uWPfWDH/zgpZdeeuaZZ/6/f/iHlStXAsYqVypYEw/5/X6KqgBWWf/ee2fPngWJgftTq9UHDhwgavtiy4CCaoZM81BLS8uPfvQjtVpd3+EJnCDAbNv7779/7lwbVVu6B0VVqVTvvvtufz+Lx+NduHChu7v74MGDGo2m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" /><br />
<br />
<br />
<b>Step 5</b>: <b><span style="color: #b45f06;">Copy the code below to create <span style="color: #0c343d;">SolrJ.java</span> in the project and configure it based on the schema of your indexed documents. Other various SolrJ ApIs can be looked up online at </span><a href="http://wiki.apache.org/solr/Solrj">http://wiki.apache.org/solr/Solrj</a> <span style="color: #b45f06;">or other online documents.</span></b><br />
<br />
<br />
<pre class="brush: java">import org.apache.solr.client.solrj.SolrQuery;
import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrServer;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.common.SolrInputDocument;
import java.io.IOException;
public class SolrJ {
private static final String urlString = "http://localhost:8983/solr";
private SolrServer solrServer;
public SolrJ() {
if (solrServer == null) {
solrServer = new HttpSolrServer(urlString);
}
}
public void deleteByQuery(String queryString) {
try {
solrServer.deleteByQuery(queryString);
} catch (Exception e) {
e.printStackTrace();
}
}
public void addDocumentTest() {
SolrInputDocument doc = new SolrInputDocument();
doc.addField("id", "tsetstst3r4", 1.0f);
doc.addField( "name", "doc1", 1.0f );
doc.addField( "price", 10 );
try {
solrServer.add(doc);
} catch (SolrServerException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public QueryResponse getRueryResponse(String queryString) {
SolrQuery query = new SolrQuery();
query.setQuery(queryString);
QueryResponse queryResponse = null;
try {
queryResponse = solrServer.query(query);
} catch (SolrServerException e) {
e.printStackTrace();
}
return queryResponse;
}
public static void main(String[] args) {
//Go to http://wiki.apache.org/solr/Solrj to look up various other SolrJ APIs
SolrJ solrJ = new SolrJ();
// solrJ.addDocumentTest();
QueryResponse response = solrJ.getRueryResponse("id:*");
System.out.println("SolrJ 61 response = " + response);
}
}
</pre>
<br />
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com13tag:blogger.com,1999:blog-5567997506903791991.post-60638064192476031992013-02-24T19:41:00.000+08:002013-02-24T21:36:28.958+08:00A simple algorithm to determine whether two line segments intersect<br />
The problem of <b><span style="color: #bf9000;">determining whether two line segments sg1 and sg2 on the x,y coordinate plane intersect</span></b> doesn't seem difficult at all, but it does seem a bit tricky indeed. This post proposes an easy-to-understand algorithm and illustrates the calculation process for proving this algorithm. The algorithm employs only junior high school mathematics and. The Java code below is my implementation of the algorithm.<br />
<br />
<br />
-----------------------------------<br />
<br />
Suppose line segment 1 connects (x1, y1), (x2, y2) and line segment 2 connects (x3, y3), (x4, y4).<br />
<br />
If sg1 is perpendicular to x axis, we first check x3 and x4. If both values are larger or smaller than sg1’s x coordinate, then sg1 and sg2 certainly do not intersect. If not, calculate the equation f(x) = mx + i for sg2. If point (x1, m*x1 + i) at sg2 is also a point of sg1, the answer is true. Else, the answer is false. Else, if sg2 is perpendicular to x axis, simply replace sg1 and sg2 for this question and check again.<br />
<br />
And if both segments are not perpendicular to the x axis, by junior high school math, the equation for the line connecting (x1, y1) and (x2, y2) is:<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
Similarly, the equation for the line connecting (x3, y3) and (x4, y4) is:<br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAr0AAABVCAIAAADLzstJAAAgAElEQVR4nO2ddzzUfxzH33FGSFKkIiIjOwrJqDQl7bSHBhWivbX3VL9KU5pKUVxLpIGUbGXvUbZzzt25u8/vj29JuHNnZPR9/lEP3+/nvt/P9+77/Xxfn/f6AMLBwcHBwcHB4Q5o7w7g4ODg4ODgdBpw3YCDg4ODg4PDLbhuwMHBwcHBweEWXDfg4ODg4ODgcAuuG3BwcHBwcHC4BdcNODg4ODg4ONyC6wYcHBwcHBwcbsF1Aw4ODg4ODg634LoBBwcHBwcHh1tw3YCDg4ODg4PDLbhuwMHBwcHBweEWXDfg4ODg4ODgcAuuG3BwcHBwcHC4BdcNODg4ODg4ONyC6wYcHBwcHBwcbsF1Aw4ODg4ODg634LoBBwcHBwcHh1tw3dBpqKmpae8u4OB0WfDnC4cDDAajvbvQgfiHdENUVJSbmxuZTG7vjjSTd+/eXb16taqqqr07goPTCCkpKadOnSopKWnvjjSTiIiIS5culZaWtndH2go6ne7u7v7u3bv27kin5MWLF7du3cLVA8a/ohv8/f11dHRcXFw673v3y5cvZmZmy5Yt+/79e3v3BQfnD4KDgw0MDJYuXdp5dUNiYuLEiRNnzZqVkZHR3n1pfYqKiuzs7HR0dIKDg9u7L52S4ODg4cOHOzs7V1RUtHdf2p9/QjccOnRIQkJi+/btTCazvfvSItLT001NTa2trQsKCtq7Lzg4P7l06VK/fv1Wr15NoVDauy8toqCgwNLSctSoUenp6e3dl9YkISHBzMxMXV09MjKyvfvSiYmOjtbV1V28eDEuHbq+bvDz8xMUFHR2dm7vjrQOKSkphoaGU6dO/fHjR3v3BQcHvX//XlxcfOnSpXQ6vb370grk5+ePGzduzJgxmZmZ7d2X1qG0tNTa2lpWVjYuLq69+9LpiYyM1NDQWLp0aWVlZXv3pT3p4rohPj5eUVFx3rx5VCq1diOTUpKZkZ6dk5ubm52RmlFQTkUIMcmFySlp2bm5uVkZ6XmF1a3oxqJV5mWlZWXn5ubmZKWlZRWSEUKIWpaelpqZk5ubk5WWlUei8XC80NBQKSkpe3t7Go2Xj+HgtDZZWVk6OjoTJ04sKyv7vZVanpOZlpWTm5ubk5malltCQQghSklqampWbm5udmZaTkFV68Yg/nnGnOIqhBCqLkmrPWN2AZlrVZOQkCAvLz937tyu8W7YunVr3759AwIC6mxjkouzE1PSs3Nzc7PTU7OK6AgxKCU5aenZublZ6Sk5JU3ZjVg1ZQUZaZk5ubm5uZmpKdnFNIQQi/ojJz0tMzs3NzcjPf0HqXV+Yya5KCMjPSc3NzcnOz0l8weJhhBikL4npaRl5+bmZKan5xfTONuRqWXpKSnp2ICfll1ErkGo5ufVZmem53yn8NJTIpEoLi6+c+dOFovVogvrzHRl3VBWVjZ16lQpKan4+Pi626kJ3itG9RMUEBIW6TVw6LzzrzMRQpQID8sRyj2FBfl7SJtt9EwjtV4/8sMOzFfv0Z0gLCwqpWKx1SOChRDKfGE/TV9KRJAgLKY2b19IHm+H3Lx5Mx8f371791qvlzg4vFFdXb148WIxMbGQkJC625npAZumDBIREhQW7tFvyJQDjxIQQujbo/njNCWFBflFJPRWukUXt2ZPWJmBW6cpiggJCAv3kFGz3PsgDiGEknwWTdTuLSxIEOmpa3sqspCHA544cYKfn9/Nza01e9keeHl5CQkJrV+//s/NVVH3d+gryQh1ExDuo2yx7lYBQhVf/ZxHqfXqBgQZnW2PEps4Lq34+dEZcpKCAsLC3furWm64l4sQoqVf3z1DUbqnkABI6lq7h7ZOpAs58vb8EdIEgrCwqOQgg2XXPuQhhMpCLo3RU+whLEiQ6Ddh18NczkFr6f6rZg+TAhAU7jXIcMW9z0UIlT3eNV2tFwEIYgZrLiXwGAu7YMECPj6+169fN/+qOjldWTfcuHEDAPbs2dNwV3nERXNpgG4DFt5Ord1Y/OnUEOCXmeoa06qDGkKIkf5iiZ4IAOjue1O7kfXDZ7IQQVh9DjGNZ+NGTk6OkpKSjo4O7q3AaS/8/f0BYM2aNQ13VX/1mqZMABAb4/bboV6d4mEM/D2MV7/Pbf3OUBMfzlQTABA2O/m5diMt87Y58IsZrnibw9vRiouLhw0bpqSk1KkDHUgkkra2trS0dFZWVsO9mW/OmkkJQG9Ln1xs/GEEHBgnLaW55nZENTdHJ2ddXqPXHQCsjmX/fm2nHRuvDHxy21/y+I1zpOjDCQNxACHltY9/HzYvaL8CEOTnn0gs5+IQ9IRTExQBxKYdfYttYKXdG9ufX9v2ZDjvoWKJiYmSkpJjxozpvNl5LaTL6oaioiItLa3Bgwez8VPWEJ3Uga/v7AvRtZvyXmxS6K1zOLhNAsLjzs0U5Ae1df61FjVmyrUR/WSXXEnl9DH27N69GwCOHz/eWj3EweEeMplsYmLSt2/f2NjYRhuE7jOHbt1H7nlbu6Xy83FNqcHO3vlt1KVPBy2gm5DhzqDaLZSYM7rSig73m6NTzp07RyAQtm3b1nod/NucP39eSEjoyJEjbPbTYi4v78PPN3zhnTKECj+cMNXSdnqYzP3xqz67j+4DYLD7a611tjpu0yhZjfmerT3zIj9cLg8E+RU3fxtCUr3XDJA2dPvEbYgiI//VfC2CuPLM+18rEUo7M1tHa+nptOZ6eletWgUAnp6ezfx8J6fL6oabN28CwIYNG9g1KHi9Uxb4lay3xWI3PT3z1Ew1lQUnC7j2dVF+vDsw1WoyB2YtvvShCGtck3jduCeIDZn67OcgVuW/0by/qV14Axcqi8FgMJhNus4yMzOlpKRUVVW7cMY5TofFz88PABYtWsSuATni9BACSBkte//zCSi5vUJf3nJbIleTWYQQqiFHnp43g9PzNXX28Re/ZwWUKDctQeg9fNHbny6Jsvv2w+UmbExocEYmg8FgNJFaVVRUpKKiIiUllZvbBuaRtqeoqMjY2FhaWjolJYVto+o8T0ctPugzauWyCfrDZh19w9v0uTp6x0Q5EBq4N/BnZnim7ya1wfonPzaYejGZXA1q7Ml4sl4aBDTmH0rGbBuUxH2WSlor3Ut4yZDLfX1wZG+QMbNZNWeU6oSNEY3Zarm5NxBCkZGRBALB3Ny8uprrG7oL0TV1A4lEGjJkiLi4eD3Pa11YpJT9owAkh2MGBkrsBZMBimsfZjfWtvLloQUjhw49+fYPixgp8/5UAnBCtL9D7QFZVXeX9QP+XvNvpCCEUMmrher9Jx788PtRYtKLkp846g8baW5ubm5uNEx3wVH/YiqnO3jBggX8/PzXr1/n9nv5Ezqd3uUjKxkMxr/5YLcpNTU1pqam3bp18/f3Z9+o8MJ0Ueiu4OSTgxBC2Q+sBsnOvdhoSD897NLaUVo6u/1y6r5Z6OUvl0h25/R8EXrMu1zngIzSK7PFQUju51Oc92iaYv9ZZ6N+N2DS8mPvr9LWG2lubm5uZqivY3suiERn+zZbt25d5zXpXb16VUBAwM7Orok6mLT3TmpCAKC59GoRmyas0vA9Vjom8zaG1m9RE39tqYwASC9/REEIoe+XF2goTjiQ/Nttwagmfz03z8rIxMzc3NxkxHCzZQdD89h/4+xhFsdsNQKQGfPfJxJCqOzjsWH91bYSGwtaYZX67pwxYrjxhfCGDz496NB0MQDoY3UrifrHhxjUrM+eS7X0TbB7Q09v9eUQSg3bntJotHHjxomKij558oT3q+n0dE3dEBoaKiAgoKGhUV7OwfdFj7w8uzuIT9sXwEBMHwctZf0NkY08YqyEO9t0JACAf/2TP8xvLCatsoQjpWVVdSJ9S15v68nHrzXzv1KEos9aDR5o/Tj3973Lyr4/sbeogv7Ot1lZWVkZXutNRQVFJp8N53CZRCIRACwsLHitS1FdXe3n57dnz57Pnz833bozk5ube/z48StXruCBIK1IfHx8nz59+vbtm5fHKaA309teDIRMVt+lIPRuj4mi8uKgskZu1JwXp037AwAsvZHyxzjNopNLSzk/YJXUP2KDcp449gDBESs8yQiFHBilqDT/ZfHvBtTEayOFuw8ZdTgsKysrK8Vjpa5Ad4m5Vxr3syCEQkJChISEtLW1O530pNFoy5cvB4CmJxXUuL1mskJCIKY380kqtbEW5Gt2QwW7gbD2tOcNQwFy/KyGiIHE7BAmqvriZi4j7+yVXOdHTDxkPVhQaLx7eGJWVlbE/R1Dhbv1X3A+vTl5KlXvT1sJQe+FZ0MRot9aqqJm4vq1kbuJ+eWKo6ooAF+PXQENrSeMMDfbIQJ8ICC28lJk3autjD6nL9Bdd/LpiKysrKxvlxaqdhPra3sriUOHPD09AWDBggX/YGJF19QNmzZt6tat286dOzk3q84KWCwPvc23fwh7PFNNfdW9RqKIy2Mv25jbWk7WHSgvtPFJy0IfqlP2mwoLqUz3+RiyaaTKeNfndbOdmAVBB+zt7kT/NABUB26SIYDqtjccjpeamgoAgwYNSkridH/XIzk5eeXKlUZGRidOnCgubm1HZAeDSqX6+PiMGTNmypQpL168aO/udBGOHTsmICCwevVqzs0YpRHrdfjFdFe8Cn+9cqjKrDNhDcd5SuZD+wmLxk8epSIPy26ktXAAZpbHbNYjiGovfRH+xl5fZdrJD3UnAtSMZ7tWrXn86ykv9V0hygfDD7GVzkVFRaKiohISEhERES3r198mISFh0KBBgwcPTkzkmBlBK7i60mDEuC3/udnKdQelsds/FtaTDtR4d/vhI9ZMNeOTNprzqpEQwppXW0eKdBd3uRfhvX6M8uhtsX/EG2Tf271i/63In4Na+btFgwFMXL81q2xSVZLPTBnoN/HQxw93Jg3WXv+0kWDP4k9nrE1WWFmq9leQcA2on2WR9dTVRG3kzuPH55sJA0Fz16PM2huSnPR4+yon/19RsPl3bPi6wegznCpehIWFAcCwYcM4q+cuSRfUDVVVVTo6OgDw6tWrJprS8286aAMoGRuq6VofjqmqP6zRC95sNNddcT4k5MoiRUlwaaFuQPSws1OEoK/OMF1NM3vfVLbOxOrUN66TFbQmLPL71ugM4Fez6mpTU1MBAYEzZ85w2YPo6GhDQ8MZM2Z06kBxXiGTya6uroMGDbp7925796XTQ6fTx40bBwAPHjxooimz4vkeM36QG26oqTV2c/CPBk4xUtRBS/05+198frBFuxcsarFuQMzKgAOjCSA7zEBb02JDYD7bx4cU/3yLhbTuNPvXHLOZrK2tAWDHjh0t7NdfBpsKz58/n6OlpDzwmJWK4SLfbIQQ2ctFrzuIDHfxItX5DTKf7p5gMPlaYPK56XySw2a9bCz1gBx6ULWHqKTScL1hZpvuZrA9Gz3by2WqlpbRXv/EZlYVpWb8t1QF+FRMDFX0Zp1NbvC7VWc+W2us63Dtc/CZKXJS3Xf9qRvIMTcs9VWXXPhcg1B52E49PhDsM/1ORiOO2tKoJ+vMeurPWf+uUa/1LwoLC7W0tMTExP7BUaUL6oa4uDg5OTlBQUFOAUE/YeS8PGYkBQDdF3s0MFdWpZ62Nxu35lYhQmlXrWQlYIN/S6s6kBOf2CgDAJhs8ylrZIykpTw/Y2NjM1pdEvqN82qy+whdvnwZAObOncuNqyIlJWXo0KFjx47l6L7psuzcuVNCQuLf9Ee2IhkZGdra2gDAhZOLVfL55qSBANDN6kRw/Xc4s+Dm1gkmC85ksVCxr52KOCz2bGQGySOssi+3J8sDAEw68rqx91NVrM9RGxsbk8GiMGjqi6Ymit7e3gAwevToThQJxGQyd+7cCQAbN25k34oad89FRkTB2TcD+5uW/HSOCh90HzjpyCusYlNp1M2pZmauPnkIUc9NAYlhs183ap2k5ZycKgUA4oYOHxuro8BIfLp2+bxpFjpCILOsruWfnu93adtCNtiu2xlcP5ezJsVnl05PABBf7d0gDa08/sASk8kbHpchFHfarG9vEdc3v0t9sQqCVunJys449isgotp3pR4ASI3e8Ox3OAbpk9cBGxubEfKCoDbnHRem2IMHDwKAi4tL0027Fl1QN+zdu5dAIPTt25erKuKVkdvGSYLy0jeZf9aTY1LeHps3SG3eg6yyqvLSN0fH95ckbPEM8/rv8LZ7bB2iXFB0134w9DZzDytubGrFKE375OPj43f70Ggz/RFmK7wTmwhwxsLaLSwsiorYRTX9hEqljh8/XkBAICoqinPLrkp1dbWRkZG0tPS3b99acpyYmBgTExMnJ6fW6ljn4sKFC0JCQsLCwtnZHKdjGDUZbnMHQP8pD+P/1Nwsesz11SoKlpcSiygVpRFXFiv1BNvzwc+uH3e68rFFq8gwsi8skIN+lvdjGlX59B9JYT4+Pv4ergZG+iZjHf0zOQmCkJAQANDV1f3LZafd3d1NTEyaV1koPz9/wIABAMA2A7Om7PX5pZqyPYC/n96Ck1GlCDELnx6epSorJsQPIDHYxj2CURK1c6yO3orLmeWU8sKkfeNAYrjNi7fBW3ae8kuqP+vIuT0XuveddjqsUfMOsyT5JdHX1/fm5iXm6objD3nH/LSBVH/dN1uJbdBrb7WLMQ2OVfZhjbE4aK79VPCHtYHFKH+2e9ogbVv/3Apyeenz3UZSUj33e4XfPH1oPzG76tudZWOVhEBYRnX6Kf8khFBh8IVpI+W7CwkAn8jA6fs+ZGP3AC3/a4iPj4//tW26+vqmVhte5TVxJ167dg0AbGxs/rVCDl1QN8yfPx8AHB0duQlXYWU9naWlYHnoTb2pCet7kKOpppLqsFEWo0xNTfUGSwoJdBuoPkzb0GqHXwtGEHLctvEqOkuv5TXVtfIPRxREBOWmXuCcBPb27VsAkJeXDw/nFEGJEPLw8BAQENi0aRNvHe5avHz5skePHsuXL2/JCmfBwcEAYGBg0Iod60S4uLhg4WBcRQuWhNqPUDR2eVTfw1fxeZfV8EHKQ80sRpuamg5Xk+lOgH4qerrDRq+6ldAib0Vp+FoTJSPHB03oaIRKXuzszSestugmh5bx8fEA0KdPn5cvX7akU7yCfcnNKw/w6dMnAJCTk2ObTcaqKc9PS0xJz87OSE7PJ9cghOjFeWmpGdnZ2dnZ6SmpP8qS/Q8aDxqsNcx0tLmp6UgjRUkg9JDW0dNXnOEamluvZDc1wHVS36HLXjX1jTOL3qwyluDrv/B5FhnrBqmkIJsNOfnfG5YGZybfn6Q6aJZbeL099Czi8uFqg4cYjBpjbmpqqjNIXFCAMEhzuKbxjMOB35mUwpTk5MzsrIzUdKzqOb08PyU1PTs7OzsrIyUjr4Ja745j5fuu7w4ievYPOBtmHzx4AABaWlpc2La7FF1NNzAYjFmzZgHAhQsX2LYpy4wITSQhhFDpnaU6BKUFxKyGd2gNlUqj0SiVJBKJRAo5PVFWAhwf5FZV03ge1Cg/YsNi8mgIIRR+bGr3XiNOhDdScYFZlvn5U0Lp70CdACv5HoKyTtENm9YhMTFRQkICAC5evMihWVVVlZmZGQB8+vSJ1+53JSorK5WUlAQFBeuVHueJ9+/fY7brVuxYJ2L16tUAsH//fna6nFWZFxUaX4QQQvSXW8z5ZSbcSGgwG2Nhz1c1mUQikUgxN5cpi8N893gyhWPmMRtY5Pyo0LgfLIQQI3CHBUF63JW4RowN9KL0T58Tfxshi31MJUXE1bdzCB38/v17v379gE3Z2bZj27ZtANC8QvKvX7/G4vVycppftJFRQ6PSaFQKmUQikYrSD08CiaHTnqSTq2uYCCHEpGTFRMZmViOEqj+e0BWXmnimMacVvTQhIjK1tNai88PdVhtguHssD4Fi9OK0z2HJFIQQKnCfrSqosSq4oEFoA5NOpdJoVGy4rgzcb9y3t8hW/+IqKrc5n9QfqeERyb/zPPLv6AkLSxscyOD4qffv34uJiQHA06dPub+iLkBX0w0/fvwwNzcHgDt37rBrU/n2oHYf5bn7zp7Zu3CwSG/7axGcq5sjhOLOTe4rAg7+zVrnJsVripKc2cp9Fy5sGS7OP3mH3/fGWtFf75bsrbbq3s9wxawba8RB2Gz3S84hFRUVFTNnzgSAQ4cOcWjm4+PTu3dvdXX1fzOyoS729vYA0BK7y7+sG0gk0owZMwDg3Llz7Nowot3N+itYbjh6/tRaTREhm+NBTRYmy/ZapSgMczya+Z5jxl4dLSs/wfnIf2eddMQEZx0ObPS9VObr0r2X9ibiz+i+5LMLBaDn5OPvOYTpUalULKHxLy+o2xLdgNXXNzc3/2OxsRZRdnIMdNedFVj7Q1ZnnJqpPmC4rdulC/OHCKmM2Rbe6Df+48V0rQGaK+9h42ZNyv0JciA9Zm90CQ/BIiXPt6lIqi899t/JbTMVRPuvvx/XpJnr0yGTXj2EtwXxUL+/4K49X69he37dqrGHZgD0mfPfJ84dzc/PHz16NADcuHGD+3N1ATjphsTERBcXFycnJ+zfNWvW1BrDMzIyli9f7uDg4OLisnr16vPnzzMYrbiCZPPBQv8AgEgksmtDfn9UUwLzoQ1yuBXUVPhLdczDM5OVxACgt6mtdwzvKUQpPjM1sNN1n7rvVhqbEG9Wnpe5GICE7nxbW1vb2ZryRrZbric15TUjk8lLliwBgG3btnHwy6xdu7bRCjZUKvXUqVOrV692dnZ2cXFZs2bN27c/CwNnZmbu2LHD2dnZ0dHRwcHhy5cv3F9xs3ny5MmqVavWrVvn4uLi4OBw/fp1LB6tqqrq4sWLTk5O69ats7Oza8mCXiEhIfz8/IMHD66qalIuNk4zdAOFQjl27NjatWtdXFxcXFzs7Oxu3ryJ7WIwGAcOHLC3t3dxcXF0dNyyZUujqwl0EGoHylu3brFrw4y+PkoOu+H7LHR7mtvEwFCTEnBjrpYUAIjoTr/+sTllNlixN8cpYGfsNe+UTw6bQke0lGt63QCkhy+ytbW1na4iN3Kt6z12z+PPztXUODs7A8CKFSsaDnHe3t52dnbY7bp27dpbt25hRZYqKyvd3Nyw23XVqlXe3t68XlFLdMOxY8cAwNLSsu4iwC0g/f6GuYp8ANBz1MZbiZgUoeReWiKLfeMqU9a9yWFjJKpO3D9JHkB6rM0yW1vbicOGmczcFJjCW33bspe7BmHVv/iHbPIObWreQ/586/DYgYIAIDPOwe8rt6kb5NhzagB8ssZLbG1tba2VZU3XH36U1VTt4KKiIisrKwA4ffo0lyfqGnDSDQUFBYcPH+bn5wcAAoFw4sSJjIwMbFdxcbGbm5uioiIAGBoaBgQEtMRh3IqEhIT0798fAN6/f8+uDaM0PSSQSCQSg0KTudC99JyIoEcPff2JxMc+T77k8F4BpupH9IfnRCLxecAXjvqfnPY24Omj+zc9PDw8PO8HxHFzyzMYjC1btmDzIXa6gUqlYjEfXl5e9XbV1NT4+/vr6upiQ8CcOXNqHXUlJSXbt2/Htu/Zs+fvvMyio6OxrgKAmppaUFAQNhDTaDRvb2/MIzNnzpyWeFvS0tLExMQUFBRSU5u5MkgzdAONRvP19dXQ+Kkfly1bFhoaiu1iMpn+/v5TpkwBABERkXPnzpWUtMkKKa1CfHy8qqoqAHBIS2GRcj+/JRKJxFfBcVxEizF/fA3x8XrsRyT6PnoU2ryFaCvzIt49IxKJL4NiOJoEK5IDXzzxvnfTw8PD45bXm6Qma8qzWCzsNbxw4cKGKRVfvnzBvKIAoK2t/f79e0xbUKnUu3fvioqKYh9shuZutm5gsViYRW3mzJm8fpYNRZ99Hz18QiQ+9Xn8+mMBJraZ1dlxb4lEIpEYlMZpJsUsSoh49dT7jqeHh4fH7QeBabxbbGuKU969JhKJxOBP6VzMTWkZYa+8vZ/4+/s/8vWPyefWsMFilSUGPPN9eNfDw8PD45b3+1RuHBzV1dW2trZNmnvbgR8h2+1nHfDLaOKtTP1xd4vNuiOveLVCN+2nmDx5MgBoaGg0lNsODg4EAsHHx4fzEWJjY3V0dAbwgrq6evOMbFheIgAEBwc34+Odkf379wPA8uXL2cWpff/+3cLCAgD8/PwabRAbG4sZaU6dOlV3+927d/v379/sOtbNg0KhLFu2DACmT59ed6ROT09XV1e3t7dvYfG+goKCXr169erV6927d807QrP9FO7u7gQCoVFR6+/vz8fHx2G5B14JDAxUUFDg6aEbM2ZMk4f19fXl4+MDgMePH7dWVzs4Fy5cwO7GRn18JBJp3rx50CAX+uvXr8rKyuvWrWuizDMbmq0bampqlJWVAWDGjBnNOC8OTzCZTEdHR8zc20FmzgghhFgR/83tK2d6NbqchRBi0itLv7rbTlIaMGDAAFl5o2kX3hf/jPtgUoKPWMoMnHwvibewvaZ1w6tXrwgEgoKCQr1pUFVV1dixYydPntykvTchIWHkyJFqvGBoaNg8T/z58+cx3VA7n+vy7N27FxvX2C1w9eXLF8wy9OHDB3YHefr0qYiIiLCwcG1pvKioKD09vcuXL7dJpzmSlpZmZGRUV8dgYRzLli1rtnOhFiqV2q9fP35+fnd39+YdISYmBgDGjx/P6wd//PhhamoKAM+fP6+36/jx47KysnFxnOrT8cTbt2+1tLR4euimTJnS5GGxegYcNGjXAxtSRo0axa4s4Ldv3zCLXW1scmlpqZWVVUs07r59+5r3JdPpdFlZWcws17xT43APg8FwcHDA3FgdqBh5TdLByUqaC9x/xo/mBKwY3b+3rPIQNTU1NZUBvYVBdszJwDxsJyX54eTBfWeeCamfU8KRpnVDaWmppqamqKioh4dH3e3BwcF9+/bl4OZsF7DJAQBwKL0cERFxr7PBwajepG7AkoUAgMMqXwihTZs2AcCUKVNqamoKCwsnT568detWbkR0cnIyr5fDQcA8MOQAACAASURBVMFg+Pn59erVS1FRMS4ujslkurq6TpgwoVXqudJotIEDB2LOAs4ta2pq3r1717Dze/bswSxwjV4a56oGGzZswE5d13pXWVk5cuTIhQsXtvzq2ppHjx41qcvj4+N5vr/bGw6KrUndgBB68OCBuLi4qqpqamoqnU7fvHmzlZUVN0uiFBUVPXr0qGF/pk6dCgBOTk4Ndz158oRDMBmdTpeXl+d8e5PJZC8vr7b/UrsIHMq9dEzdUB19dZySsv3thJ93SWHEmSNH7kf9fDtkPdurJAwGjrfysaGdmn1+Xr9+4zZG8eJC4iqf4sSJE5hhttaDjnnRTExMOloZtVrdwKEw+5w5c6CzcezYMXaX01q6gUQiTZs2DQCcnZ137dq1efNmLn9crGgaT5iYmDR52FOnTvHx8Y0aNeq///6bP39+axXeqdUNtra2nFuSSKThw4fzemmc3TphYWHS0tIAULfOt7+/v4yMTGRkZKtcYJtSqxs43EtYIGHngkMVL250A0Lo0KFDADB+/Phz584tWLAgPz+fm+8Ty5nkFQqFbewTN7ohKSmpdb+9rg2HdY46pG6oDjs7t5fsxNvxbIKLcoOWK4Pmims5P2UFLfS0jYz05FsNk6XZw5VuwAyzSkpKX79+xbbExsYqKyu3ixGbM9zYGz5//nyns8GhrkiTusHLywv7TjjrBoRQcnLysGHDAGDatGnfvzeaLtoISUlJvF4Oh6jVWigUyqpVqwBAQUGhNsuj5fBkb3j79m3Dzru6ugKAurp6o5fGOYCUTqdjroraxC0GgzF16tS5c+d2mHGHE9zYG+Li4ni+v9ub2Fi2RWC51A21mU0qKiofP37k8vssLCx8+PBhw/5g9gYHB4eGu3x8fFpob6isrLx3717bf6ldhE5mb2DkXLZVB701IQWNOx6qvnlO6C489WBwrfZM89umCgouj3hYHJEr3VBdXW1jY8PHx+fq6optOX78uKamJperKTKZTDKZXMkLZDK5eYuT1uqGf6eaMqYbpk2bxi4O/8uXL4MGDQKO8Q21YN4KZWXlFhZjbhUeP34sIiICALdv325sP6ummlIce2fpGPPRo0ePHj3axHCYgePlVI4Bte0Y34Bx8eJFPj4+fX19zJwTFRUlLy9fPz2BxaBWFoZc3zrGGLs0M0MD8xXXPtO5Dr1iMBg8PXGVlZXcxI7U6obmlUDujGC6wdzcPDeXc+1WdO/ePUFBQQBoRuJlPVoS34DphgULFrSwDzhNUqsbOISl18Ji0im/nzZKDZPFYtCqfm+prmGxmDV1tpCpDMRi0qm1705yFZWJWAxadZ0ttPpDQlns9rHC/WcdTmm0O8xCz7Ua3RUm3476/bBXfHEfL0mYeTKknhXr2bNn7F7x3NZ9wuKhrK2ta2pqioqKBg0adPToUS4/GxkZKSsrK8gLffv2bV422tmzZ7FxrRVnqB0cbIiZM2cOu0jS79+/jxkzBjjmzmHcunXLwsJi7dq1BALB2tq6yTUv2pSYmBgLCwsnJycpKSlZWdnG0h/yr9kYiUhIG264mZycnJyc/GjPlF4E4QGT9sVWshWdeXl5EhIS7ZJP8bPT+fmSkpKioqJYzcp58+ZZWFiQSH/kH1KLiIt69eg5aNQWz7Dk5OTkb8E7x/QCIfl5x15RuKuT8vz5c1FRUZ4eOl1d3SYPW2u7ajKLqsvw33//AcDYsWM5W+AiIiLGjBnj5OTUs2dPJSWlFhZmbXY+BZ1Ol5GRgdbMw8RhC4PBwPIpVq9e3WS1jNLP5417CP162ibe/FpY8PGEzq+/hcTm+H8vSfHfPvjXFnEZuxBK+Zcba/r92iKjtjkBlQUdm9fr1xal4XvqG8qKozab8ynOPZHWoAYyQuib57p+fPKLLv2xoj052mNyPxi/NwCLcKhd1+n69evs3G3c6oaUlBRZWdn+/ft/+fIlODhYR0eH+4WYk5OTp0+fPpoXpkyZUm8k5RIsQAkAmv1W6FywWKzdu3cDd/Ub7rCvoYkQ+vz5s5GR0evXr6urq1esWMGliG4jysvLZ8yYsXv3boSQp6cngUDQ19dPTk7+s1XRk50rp2+6U1j7KmVEbRzaG0DE9Q3bbiclJYmKisrLy//N+g31wGrFHD16tLKy0sjI6MqVK/Ua0Evebpu+YFsdy2HZFzddAImRS99yZeNDHz9+HDt2LE8PXZOOG4RQYGCgpKQkAPj6+vJyxZ0YbCrSaP2GWkpKSqZMmYIl8bu7u/Px8RkbG9dWu2kGLcnDxBxhuG74C9TU1GDVMrip30D69sh+fO3TtuF5Zllxwr2ltRvG7Q4pIeWEuNv82jDB+ngclZz07OTUX1us51/IQJVf7uyZ9GvLnBXX0+qdpiR6yyiCgs3x1Pp3KzXh1SEDkBy79lHhnzsqo25a9gPjLU+qEIr8FFZ7112/fp2db46HOtOYPXzjxo2LFy/et28f9x/8m6Snp+vr6wNAYGBge/flb0ClUrH1AjZs2MCh2Zo1awDgxIkT7BoUFhYuWLCgtohhenq6iooKcFzmo+1gMpl79uxxdnbGtCOdTsdq/c6aNaspHZO233gggMyRcLbaPzg4mJ+fX1lZ+W/Wi6wHtsqikZHRnj17ZsyYUVhY2ORHqjNujwSQNlsb3tJE1BZRWwvkwYMH7dmPvwWTydyxYwcALFmyhF0lhpqamm3btm3atAm7o6qrq7GKDosWLWp22HhL6kWeOnUKsw13pIoCXZPy8vLZs2djc4D27ssviqM2mXVTnHfyT3sDNdprozwQDJacT25wF5NjbkzuD9OOfQiIit21bevp06cDAwMDAgJevXrFbk1pHnRDUFBQ3759e/fuzc/PX5vl39HIzs4eMWJEq7gYOwVVVVVYwbK9e/dyaPb48ePevXtraGg06sugUCjLly9ftmxZXVObt7d3nz59+vXrx01UROty9epVExOTuqGg6enphoaGgoKC9SpT1SMvYN9QERg45VQSez8FJkHad32KiooKY2NjERERAoFQGzPEkSq/jYb8hF5Lzn3mvc55a1JcXGxpaQkAzY4O6VwwGAwsddbBwYGdPe/cuXPm5uZ1830SExP19PSEhYWbLbtbohswx4qFhUVlZbPW08HhmpKSEmtrawDoQCkC5MQD1n3ELXcn/LbXV3722jKkp+LM3fcazQwuDD1lItJj6eXIDzHxu7ZtO3PmTHBwcFBQEIe0HR50Q1VVFVZUddmyZR0t/bKWioqKiRMnAkC9ahNdldTUVGy9Ps4F0quqqjDrZT23K4vFKi8v37p1KwDs2rWrdmRkMBiRkZEDBgwAAEVFxVevXjWv7B2v0Gi0hw8fCgsLDx8+vNYewGKxysrKsOW7BAUFT5w48acrkUmjkCvLkm7uXazer4eZvVt0KdtpFolEwtbDbEmFpVZZ18rd3R0ANDQ0OMSfshh0Crmy8puv7VT9/uKSDp4xJX/jR+AEjUZbuHAhNCgt2lUpKioaPHgwAGzdurXhXhqNdvv2bUFBQXNz89p7ksViFRUVYepKWFj4/PnzzRgtW6IbsFi0kSNHtm980r/Ax48f+/TpA42V8G8/ih6uHwmDF77I+DlYVKf5LVIFAEE1UwsLMxNjjClbniVhcxBW/B0HWdDZH5iLEPr86dP9+/ebPAdv62Hu2LGDn5+/I4dSs1isuXPnAsD+/fvbuy9/g6ioKAAQEBCodTGw48aNGwQCYc2aNXU3VldXr1+/XkFBQUZGRltbu7aOYXx8vLW1NVaoWEpKysjI6O/Ei9y4cUNdXV1KSmrw4MEHDhzADK1kMnnTpk0qKipYZ5SUlNzc3H5/hpZ109nS1MRAdaA4gILz/cgK9pGD9+7dIxAIK1asaIkJNzg4GAAMDAyafQSEUHh4OB8fn6OjI4c2JXGP1082NTXQkBIDgZ4zffK5jIlsW9atWwcA69ev/ztSsn3Jysrq1q0bPz9/wzXhEELu7u5DhgyRkpJSVlY+fvw4JrvLy8udnJyUlZWx21VZWbkZthkXFxcA8PT0bEafw8LCAEBVVTUhIaEZH8fhnmfPnmGTmYCAgPbuSy3M5IfOSt0Udj3/mRBelfBohYnMgAEykj17iNaiOOd2NJa3X/l892gZjUUvcn8OidyYqXjTDatXrx4/fnwHN39t3LgRM9P9C+Pay5cvAcDQ0LDJIKzq6upx48YRCIS6JgcWi0UikSorKykUSkVFRe2cqaampqKioqqqikKhYLv+joWJQqGUl5dTKBQymUwmk2s7+TN1iUKhUCgkEumP0AQWg1JRWlxSWlGZ5Llpav+eYgPmHEoqbqS35eXlBgYGUlJStWVImkdMTIyxsbGDg0NLDvLq1Ss5ObmYmBgObZg11RWlxcWl5RWp/msMFHv0UJp19k1pq6xx2AKOHTvGz8+vr6//L6zJ/vnzZ+wd3KiBqqqqqqKiouHtSiKRyGRy7bPTjEiaS5cuGRsbN+9tlJqa2rNnT2Fh4X8kBqUduXXrFgBMmjSpQ5l2yF9vWssKTTn67qebgcmgUSn1qaYxmCyEEKs8ZquRkMLMww3iKDnBg26Ii4vT09PjHJPfEQgKCurVq5eIiEiH+i3bCE9PTyx2mpvEh+TkZE1NzdGjRzcvV6UzkLxnVH+Ablb/NfI+3rp1a48ePTrCgkw0Gm3+/PnLly/n/iNVCdfNhADkx1+Pamfh8OXLF6xCAIdaZF0GPz8/ADA1NWUXINYBoVKpK1euBADuQmdwmg9WSXn16tUcKnG1B8UeK/UUxuz6xoVeLf50ZriorN2VrzxNsnnQDQ4ODiYmJq20pnsbkp+fr66uzsfHFx4e3t59aVtYLBYW7L1q1SouP/Lp0ycjIyMrK6uOUNapLXi/fwQfHwzZ8cdEraqqau/evUpKSrVVGtuXoKAgaWlpzsaG+pCTD5oBSBgfDmo6+aJNKS8vx2JlXr582b49+QtgLwZuVvzqULi5uQHAypUrO9j7rEtBpVKxgracY9Lbhe+vXJX7y23wzWzCHUsrur5YRXa4SziPpkNOuuHly5fTp0/HEhr9/Px0dXU7kheHLQwGAxvXOK0UwGLVcXD/DAf8HS/drFKV7GGxmKw6f7D+OBdqXmFMhBAqKioaOHCgtLT0s2fPuP9UYmLiggUL9PX1T548yWXFzw4KI9Vjp93cg3513GbF12cqAwiu8v5ZroRKpfr6+lpYWFhaWrbjEo7FxcXTpk07cOAAQigvL2/MmDGurq4cYiyqU56sXWh/+MXvktU131/N7w0iOnOeZLR/SDKWe3by5En2TVhMZv07vO7z1boP2J+na+wRa9ZBq6urdXV1xcTEOtrqfU3y4sULABgzZgz31eJ542//vH+OoHX/a4vTcUdKSoqUlJSiomJYWFi7dIATNUWhrx8Ffytp4qupqYwJeBQcmc9rtBcn3YAVWO3evbu2tra2tjbnBXs6FLdv3+7WrZuxsTG7oZn59cE8K2Nt1SHaOvpGE5194isQyr/lYjVCV0NVXctyq0dqKxryyV/PbZ6lr6mhoa2tZ2S1xeMLQijSc7u14VB1NRWdKfbeCc004URERACAnp5erW+VSygUip+fn6ura3R0dPNO3SGoidpo0ANAeMPd2Ozs7OzsbOKx+UpiPeUXnf3+y2nz48ePkydPXr58uaCgoB17mpOTg5VZHDJkiJaW1po1azjkOCGEKqPOKQOAxvQHkdnZ2dnZGR8PTx3YU3yI7fXPHcHcRyQSxcTElJWV2d54mS/s547SURuipTPUYPTKGyHfEarwdbUZqaepOkR99Noz0a3rQiyLPOxkraeurqmtoz9ixr4HCQihMHfnSQa6Q9RU9Wetf5banGl3SkqKkJCQnJxcp/N4YumywsLCbVPWk5n94thIQz3NIRo6Qw1Nl55NoCB6Qcj+OSbDNIaoaunbXw6jtOqrvDrKc/p4Qy1VdW2dYSOmbH2RVoWYGVfXjDfU1lBR15m2xyunPYqaYOLM0tLyHzTqcNINMTExEyZMUFFRcXZ27lzlF/Pz82VkZPr168d2VToqKS36tk0vAJCYfTy4ioUQQkUfzxkJg7iZ3cOYcu4XAmgaJrX0x5dT0zQBoLfF/sRqJkIIkeI2GwuBpOr6u3EknlY+r8OpU6e6deu2ePHi5n2cRqPR6Y0VI+00MOLvrbPQVdU1MDE3Nzc3Nzcaar7jbnhhnQk5g8HoCOvNUCgUJycndXV1a2vr+/fvNxlZzKouvL3eUEND8+eVmY0cabbswbfy5t4prUxZWZmGhoaQkBDbVWfp5PzUJ3aDhAD4R23yrWAihFDVt3sTe4Ow7uwrYcXVrTvSMqqLv4ceHKMIAPLTzmTRWAghVPpxjTZAP/1dPimVtOZ8cTdu3ACACRMmtGpf/xJHjx5tu3pEdHJJ6MPdQ/kA+PUOB2YxEEKI/vnyUhnopmZ7OqqgdWUDYlWXJ4VdsRYFAJllF8OrWQghlBt4SIcfJCe4+H+rqPnrBa5YLNb27dsJBMLmzZv/9rk7ALzlU3QiNmzYICgoePHiRQ5tvr8/rdMLlC33xpIRQoV31o5Umrr5UxtZ7is+rR8mCb1GXwirQAhl33fRGGpy5gPHJZg4UllZKSsrKywsjC1z8E/DZNTU1NTU/P3Ro835eWUdb0KDLRvNOduZFHtztAz0M3Z6V4QQqnq1Y9IgixUB2W3Wp6K3K4eICgywuhVbhRBKvbpSedjYq1+aORWl0+l6enrAxSqyHZO4uLgBAwa0ZRUHyqcLy3oK8E1Y70tCCJFC109QGbnxbl6bPYRZL/eriIPWrJPJNIRQtvuy4Wo2+2LaKcI7NzdXUFBQTk4uJyenfXrQrnRZ3ZCYmCgpKWlsbMwpkJNFend2en8+AWP7g247ZiobLHqewkNUKa3866Ojhzlx8vyrb7/DsEs/uZvJQg+dRW7/bTfVGL7hdouyAQMDA8XFxadOnYpXk8X5++Tl5cnKyqqoqHC0ndBib69SFgatubsuHlmspjPtdhQPKdxMarr/mROcnq+jp55E/xEl+v3dCUNpkDK2u3Bug4G68R7fjGZeHkIREREyMjKmpqacPUodFhaLtXnzZgB4+vRpW52jMuXCchUCyM07dmbHXGON6YfjeUg6YZUkvb3Kcfg84n4/5nudwY1R/OLQeCkQGe1y9NQGq8Ej7YIy2R++jXnw4AGBQLCzs2u3HrQrXVY3IIQ2b94sKip67do1To2o2ZcX6wIA9JtyMbKUXauER0cdViy7H/2HN7c89dpIaIIFN/9Y/evrvWWKAADy8868byBncr02r55rY2NjYzN3/sJN14NJ7I19TCYTq4H/94tA4+BgHD9+XFBQ8PDhw5waMcu8N5gJAUBP84NBbNehzgi46LJ02dWQwrq3PK3Ud0pTz9f405H1DhVxefYAAOimuvJqRANBnebpuLz2Edt59xMHD5aTk1PbvnTbnvj4+P79+w8dOrTt8q5ZhQFrdSUAQMp4w9sf7AasipfH7ew37g35I8SIFXfHoTfnX7eHztnwPx2pVUmnZqoBQDeFOTe/1Y+tKU8i7lowz8bGxsbGZr6tw62ItqovQqFQRo0aJSoq2lWz0pqkK+uGb9++9enTZ+zYsZzdyVEXlssBgITWfx8bD/L68e7c+P4AAE4+f/gwGNTCrx/ecyI0PK3oD3lATfeZ1QsAxOecCPjjUa6OOjzPoE83k933fXx8fE7amUqK9p9++i2ZjSnh2bNngoKCq1ev/hdqW+F0TPLz8xUVFYcOHcrZEp7mvU0DAEQG7n/ReLARKfq+zRACACy4llz3zcOqKU0OC+H0fH0ITSyo74YgxXpOEgXgl7S9FPaHLCCF7ZisKy009uBjHx8fn0ML9cTFBy66/KnRAJ+wsDBxcfH58+d3UmNDLdjiGk+ePGmzM1TfW6LLB9Bdf34gm1iyyBtL5boBSGhc/dPASinOjOQ4fH6IiPtOrq9FQo/NkQKAvoY3Yv746QrDL5jL99Mevf6Oj4+Pz5WFQ/hENa2uhLdJ1Q0PDw8+Pj5XV9f2SuVod7qybkAInTp1SlBQkMPaDcUfzk3TMbJduVhbDrorzfVOqm8FYPx45Wy5QH/YwL5yIpuelrSoN+Xf9s8cZmm9YsH0vvxCChs84357rclhm8bq2Z2L+vlnsoexBID1hcbKHqKioiIzMzNlZWV2i5zi4PwdPD09hYSEtm/fzq5BVdz9hQb6C5fammgCX58JVyPqj+Ms0scD8xYP1RsiN7Dbco+0lg7DhZ+3WupZz145a6IEn7D6zkd1lkovCVxrpud841etqqjTGiIgtPB2VQNpXlVVNW3atL59+3aB2WRubu7gwYMVFRXbJsqBEX19lZmWpaOzVQ8CqFkfiGww0SFHXLbUn2GgT5BUN/Js8ddZEHDEUstk5eoFylIgoW1LzPo9Pma/dB1nNM3r188bfcQYoPs8z/qrTLecrKwsdXX1ESNGdN3qeU3TxXVDVVXVkiVLBg4cGBsb23BvTcbTJSaqVrv9yxGKujpZHEDBZHdk3QkGJcltvuHUjV4+ZxcMlgKXJy3QDTWFN9eN1By3NZyCqqIvTejLD3xjTv/2B7KYjF+WA2Zx0OE56krKzl6JDWUDi8VycHDo0aNHW84hcHC4oqamxtnZWUpK6v37943sLvzgMlHNfO3tAoRSHy+VBZBUdXhdVzkw826vHj1hpfvTa5t0+8CiGy3TDbSs/1YO17Y+GMtAZWHHRvboBiKWV9J/GR1YrN/5crTvz3ZNUlZW3+mX1dCit2/fPmFh4S6zMN6rV6+kpKS2bNnS6kcuCjpooqm3+XEqE5HvOMoLQHeL9d51fQO0vGcOo/TWnn1/1U62t7L+zZbphurEe7MNVGcfDSQjFHpmlBiA2sSjtUMki8morfFAyfqyf7KIosVS//RWjv2i0+mzZs3q06fPP+4g7uK6ASGUm5traWlpYmJSP/C1Om7PZI3B8479sq7lXxgvByBpuskrC7N9MkseHZg6YtLOKDJKuzpFtic4P222w6w6/MR8KdVxD38V8ok5tVRSAETMnF6m/ja0ViUFHDm432W+SQ+BQS4+jcSds1is48eP9+zZ88qVK83tCQ5Oa1JSUjJv3ryhQ4fWX/WDlX1hoUH/8Rt/jewVXvO0AIS1ll/6+jOOqOrNxUVGpmvfFqEiX3uVHrDQI6MFHSEFuU7toz395c9ASUbYnuk9uoHk+G1v68xKy+OJB/bvd5wxrLvIENfXjaROXblyRUJC4siRIy3oSYfj+vXrsrKy586da8Vj0tMeT9EYOOloIOYtYHwPthsiCpI6tlcjsC2ssth980ZMcfb+wUSP7STFB+l5JLXgfKTPG0araKy4+Gvqln5ipAwQ+o3f/fT7bxtxxWf/K/v377JSFRLVmx3a2uENNBpt69atvXr1apuqGJ2Jrq8bEEJ5eXlz5swZNWpUbUpVacTdNVOUAaCP3qqH4XkIoYKQa7MNsTAdQc3V11LKmHn+uw3053r9QAihr5et5XoT9j7LiwnyuRqYyuFcjVAYfWW3pRQAdNd3uRFKQQjlfTy9Ul8YAAD49GzvRPw0IVYkEPfs3L5zq52RseHU5fuC0v4Iy6ioqNi/f7+UlBQuGnA6FCUlJcuXLzc0NAwICGCyWAihqq9Pty/QAYDug20uB6UihMojvVdaDMDC3RTmnvjynUUOO2OuM/m/dAZCKO/xajUJWHM3JSXM/z//BF4niay8j+c2jREHAImRO70i6AgxM97uX6jBBwAAIiMdfeKwdwirOMpnx/btuzbb6hiOsLE7EpLz+51DoVDOnTsnJSV17Nixrhc25Onpqa6uvm/fvrKy5ud+/6Lmq9/hCVoSAALac46F51ERokXd2zpcvhsAAL/cTLcQOq3i1d7ZulP3JDIRQujhKsmeqibEr4XEhw+J8Txnuv8IvWE7VgEABhivexpdiBDKDjo/WVccAADEhrncTi9nIYQQoyTk8fnt23fsWWEhoWu966R3VuuFHxQVFTk7O8vIyHh7e7faQTst/4RuQAiVl5dv3brV2dkZW8SvKjPc28vrqb+fj/ez8LQyhFB5yvuH3j5EIpH41Of+y/AfGW+c9GSEemlOnDHF0tLSRENaWJBPVW+E6hCjJR48rk5LynlHvO/t+9Tf95HfhxQaQqgsNZDo/cSPSCT6+fgQwzPrh23mBB3WlOzWz+pUCuX3EPr69Ws7OzvcPYHTAaFQKAcOHFi5ciVWl5OWH/3E+76vn98T76fvvhYihChZn3weP/YnEol+vg+I77NyI/aNUxQQVbGYYW1paTlKV05UABS0R2ip6046Fc7zaF+WHvj03qMnfn4+j599zGAgxCz69tLP+6k/kej/9LHvi8jc+uGNaf47FET45OddzvmlEMLCwuzt7e/evdvS76KjEhAQMHPmTJ5q0rOBkR/z8vb9R/7EJw99g9PKahCqyYx47vX4KZFIJPo8fBCaWvDR3bynSG9FY2vryZaWE3VkBQhivQ0MDaSHzr74kW3aGjtIaSFe9x88JT597P3iSzYJIVTyLfiBty+RSCQ+eXwvIKKofqGpHw83mQHIrbge2VrKwcfHZ9WqVW/evGml43Vu/hXdgBBiMpl5eXncVkikFyfHxcfHRX4MDQ0NDb25caR0D5h7PCAiNqWY0gb1EhjVZSUVdaIZEreOkQWwelr0e1tBQUFJScsCM3Fw2pK8vDxu171jlqd9TYiPj/oUGhoaGvpw/9SBojBp1+NP0d8KKttmrl9DKSupqHPoKLthUiA4N+hXKN+PHz8KC9t5zbC2pri4uLSU59d2M6CV532NiYuN/hwWGhoa+n6vdQ+xAaq7vD5FJedWtc3PS68ilVbUSaBJOCULglqzr7XW1ebl5XWiNVHbmn9IN7SEtGvTBojD5sA2O0HKvXH6xna3fjoAWUm3zfrz9zDdn8AuERMHpwtR7OegIgZLHrTlKy3m8YX3lAAAAfxJREFUqrGO2Ubfn2FD9KhLOr34ek8+nd6pK613EnxXSoopGnizSdRsDeixF2wVjFa9/JU1EndyBkDfeW6hHa7SapcA1w1NQssIebLaqDcAKMzeH5LRNvnc359ZDQAQM9l+2s3N7cQyc0Ndk3l3YzrzYpU4OFzByI8O3DJeEQB6j1sfkNRWtXpQ9kOTngB9xrq6ubm5HZ1nOGz4aNvHSf9uKt3fovyL96lx0gAgMHbHw+S2UobMNG87AsCgCQ5ubm5uZ9cO76M52+nC1/ZfO7ZrguuGJqHGP7m8a/P2Xbt3b9t94GlCGw00pIhbF/Zs27TO0dHR0dFl9/Vo3COB80/ASH9zd++mbbt2796+fde9z2238mRp6NWzu7ZtXOfo6OjotH7/nUTeFpHFaR6Fr90Obd6+e/eunVuPX/3SZqvSUsvi7+/euWWjs6Ojo6Oj877bn7paaGtHAtcNODg4ODg4ONyC6wYcHBwcHBwcbsF1Aw4ODg4ODg634LoBBwcHBwcHh1tw3YCDg4ODg4PDLbhuwMHBwcHBweEWXDfg4ODg4ODgcAuuG3BwcHBwcHC4BdcNODg4ODg4ONyC6wYcHBwcHBwcbsF1Aw4ODg4ODg634LoBBwcHBwcHh1tw3YCDg4ODg4PDLbhuwMHBwcHBweEWXDfg4ODg4ODgcMv/EG4dclnw30YAAAAASUVORK5CYII=" /><br />
<br />
If the slopes of the two lines are equivalent, sg1 and sg2 do not intersect. If not, then the two lines (1) and (2) must have an intersection at somewhere on the xy coordinate plane. Calculate the intersection and check whether the point is at the segment. <br />
<br />
The x coordinate of the intersection of lines (1) and (2) satisfies:<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
Subsequently, check whether this x value is within the range of x1 and x2. If it is, sg1 and sg2 do intersect; otherwise, they do not intersect. <br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<h4>
</h4>
<h4>
Point.java</h4>
<br />
<pre class="brush: java">package com.packa9e;
public class Point {
public double x, y;
public Point(double x, double y) {
super();
this.x = x;
this.y = y;
}
}
</pre>
<br />
<h4>
Segment.java</h4>
<br />
<pre class="brush: java">package com.packa9e;
public class Segment {
public final Point start, end;
public final boolean isVertical;
public final double slope, intercept;
public Segment(Point start, Point end) {
this.start = start;
this.end = end;
//set isVertical, which indicates whether this Line
//is vertical or not on the coordinate plane
if (start.x == end.x)
isVertical = true;
else
isVertical = false;
//set slope and intercept
if (!isVertical){
slope = (start.y - end.y) / (start.x - end.x);
intercept = (end.x * start.y - start.x * end.y ) /(start.x - end.x);
}
else {
slope = Double.MAX_VALUE;
intercept = - Double.MAX_VALUE;
}
}
}
</pre>
<br />
<h4>
IntersectionCheceker.java</h4>
<br />
<pre class="brush: java">package com.packa9e;
public class IntersectionCheceker {
public final Segment segment1, segment2;
private Boolean hasIntersection;
public IntersectionCheceker(Segment segment1, Segment segment2){
this.segment1 = segment1;
this.segment2 = segment2;
}
public IntersectionCheceker(double x1, double y1, double x2, double y2,
double x3, double y3, double x4, double y4){
Point start1 = new Point(x1, y1);
Point end1 = new Point(x2, y2);
Point start2 = new Point(x3, y3);
Point end2 = new Point(x4, y4);
this.segment1 = new Segment(start1, end1);
this.segment2 = new Segment(start2, end2);
}
public boolean hasIntersection(){
if (hasIntersection != null)
return hasIntersection;
if (segment1.isVertical){
if ( (segment2.start.x - segment1.start.x)*(segment2.end.x - segment1.start.x) > 0 )
hasIntersection = false;
else {
double fx_at_segment1startx = segment1.slope * segment1.start.x + segment1.intercept;
double smaller, larger;
if (segment1.start.x < segment1.end.x ){
smaller = segment1.start.x;larger = segment1.end.x;
}
else {
larger = segment1.start.x;smaller = segment1.end.x;
}
if (smaller <= fx_at_segment1startx && fx_at_segment1startx <= larger)
hasIntersection = true;
else
hasIntersection = false;
}
}
else if (segment2.isVertical){
hasIntersection = new IntersectionCheceker(segment2, segment1).hasIntersection();
}
else { //both segment1 and segment2 are not vertical
if (segment1.slope == segment2.slope)
hasIntersection = false;
else {
double x1 = segment1.start.x;
double y1 = segment1.start.y;
double x2 = segment1.end.x;
double y2 = segment1.end.y;
double x3 = segment2.start.x;
double y3 = segment2.start.y;
double x4 = segment2.end.x;
double y4 = segment2.end.y;
double x = ((x4*y3-y4*x3)/(x4-x3) - (x2*y1-y2*x1)/(x2-x1))
/( (y2-y1)/(x2-x1) - (y4-y3)/(x4-x3));
double smaller, larger;
if (x1 < x2){
smaller = x1; larger = x2;
}
else {
smaller = x2; larger = x1;
}
if (smaller <= x && x <= larger)
hasIntersection = true;
else
hasIntersection = false;
}
}
return hasIntersection;
}
public static void main(String[] args) {
IntersectionCheceker checker1 = new IntersectionCheceker(1, 0, 1.2, 3, 2.4, 5, 3.6, -1);
boolean hi1 = checker1.hasIntersection();
System.out.println("IntersectionCheceker.main() 64 hi1 = " + hi1);
}
}
</pre>
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com2tag:blogger.com,1999:blog-5567997506903791991.post-14008879179144835902013-02-21T01:04:00.001+08:002013-04-10T23:02:06.733+08:00Estimate Approximate Distance between two Points<br />
In computer science, it takes much more calculation time to multiply two values or find the square root of a value than to add two values or use the right shift operator to divide an integer.Thus, if large amounts of functions for computing distance between two points on the plane occur in the program, and the precision is not highly stressed, an algorithm for efficient computation of approximate distance can significantly raise the performance.<br />
<br />
The Java code below is about a method for efficient calculation of distance between two points. The error between the real distance and approximate distance is generally less than 1.5%, and the maximum error is around 3 percent. <br />
<br />
<br />
<pre class="brush: java">public class DistanceUtils {
public static long FastDistance(long x1, long y1, long x2, long y2) {
long width = x1 > x2 ? x1 - x2 : x2 - x1;
long height = y1 > y2 ? y1 - y2 : y2 - y1;
long m, M;
if (width < height){
m = width; M = height;
}
else{
m = height; M = width;
}
if (m > M >> 1) {
if (m > (M >> 1) + (M >> 2))
return M + (m >> 2) + (m >> 3);
else
return M + (m >> 2) + (m >> 5);
} else {
if (m > M >> 2)
return M + (m >> 3) + (m >> 4);
else
return M + (m >> 4);
}
}
}
</pre>
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com1tag:blogger.com,1999:blog-5567997506903791991.post-92099502878560510412013-02-20T23:00:00.002+08:002013-02-21T00:19:48.148+08:00A Java Random Points Generator<br />
<span style="font-size: small;">The two simple Java classes below can be used to generate random points within a rectangular box. The generated random points are output in a CSV file. </span><br />
<br />
<br />
<img alt="" height="222" src="data:image/png;base64,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" width="400" /><br />
<br />
<span style="color: #351c75;"><b>Point.java</b></span><br />
<br />
<pre class="brush: java">package com.packa9e;
public class Point {
public double x, y;
public Point(double x, double y) {
super();
this.x = x;
this.y = y;
}
}
</pre>
<br />
<span style="color: #351c75;"><b>RandomPointsGenerator.java</b></span><br />
<br />
<pre class="brush: java">package com.packa9e;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JOptionPane;
public class RandomPointsGenerator {
private static final Random RANDOM = new Random();
private static final String OUTPUTFILEPATH = "file/randomPoints.csv";
private double left, right, top, bottom;
private double width, height;
/**
* The four parameters represent the four edges that enclose the rectangle
* @param left
* @param right
* @param top
* @param bottom
*/
public RandomPointsGenerator(double left, double right, double bottom, double top){
this.left = left;
this.right = right;
this.bottom = bottom;
this.top = top;
if (top <= bottom || right <= left){
JOptionPane.showMessageDialog(null, "Please input valid edges for the rectangle.");
System.exit(0);
}
width = right - left;
height = top - bottom;
}
/**
* get n random points inside the rectangle bounded by the four edges
* @param n
* @return points
*/
public ArrayList<point> getRandomPoints(int n){
ArrayList<point> points = new ArrayList<point>();
double x, y;
for (int i = 0 ; i < n ; i ++){
x = left + RANDOM.nextDouble()* width;
y = bottom + RANDOM.nextDouble() * height;
points.add(new Point(x, y));
}
return points;
}
/**
* output the n random points in a CSV file
* @param n
*/
public void outputRandomPoints(int n){
ArrayList<point> points = getRandomPoints(n);
try {
FileWriter write = new FileWriter(OUTPUTFILEPATH);
BufferedWriter writer = new BufferedWriter(write);
for (Point point : points){
writer.write(point.x + "," + point.y);
writer.newLine();
}
writer.close();
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "There's some IO exception");
System.exit(0);
}
System.out.println("Success.");
}
public static void main(String[] args) {
RandomPointsGenerator generator = new RandomPointsGenerator(10, 50, 12, 45);
generator.outputRandomPoints(16);
}
}</point></point></point></point></pre>
<br />
(The "</point></point></point></point>" is a bug of the syntax highlighter)<br />
<br />
Output (randomPoints.csv):<br />
<br />
<img alt="" src="data:image/png;base64,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" />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-67782143170811315622013-02-18T23:14:00.002+08:002013-02-18T23:27:14.545+08:00A Simple Java Multithreading Example<br />
The runnable Java code below demonstrates a simple java multithreading example in a JFrame. You can configure it on your own with the following steps:<br />
<br />
<a href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAcIAAAEuCAIAAACS/IXrAAAgAElEQVR4nO29eXQUV57nm/++d+ad9+b1zNvOTE9Pd1fZ3dPTbR2Nj8vFdLk4c+a8om0MSAhDl5lqPxswILTvaqqMMZYFyC4K5K6ZKqqKwpQt21hSAWUJs1iAQEtqyU2ZqdyV+75vSsn9/rgRkZGRizKUQGai7+fcA6nIiBs3IuN+8ndv3LgpiGYhFovFYvF4PL68nEgkEisrK6tJVgiJRGJ5eTkej8di2bKhiEQi4UxEIil7jMfjsXgsGo2Gw+FwOBQKBgMBv8/n9XjcbrfLTeOh8Xp9BC+Fh4PX6/P6fPRaXDJsQ5ZQuZF1fD6fz+/3+/3+QCAQDAaDwVAoFAqHw5FIJBKJUKcpHk8kUk7UN+UJ+XTJsZAPl/n4QqFQMBgMBAKBQMDPk0AeBDMRyo9Ml1YG1rhMM9eCDMRTWS4ZEjQZ341nYmVl5Y033ojH4xlP0ZrHnpFEIvHhhx+urq7ms3K+GR56LaxR2r8csn855BoZco8OuUeHfKND/tEh/+hgeHQwPDoYHR2Mjw7GRy8nRi+vjF5ezZ5WUldYGb2cGL0cH70cHx2MjQ5GRwfDo4Oh0UH/6KB/dMg7Su3ONTJk/3IoKJv/+//6fabK/O53vxOQizUQINUjGAgEA8krOByJRKKxGLlQiCNofyYSaXWMwL7ww6EwWUTlGAgGA8GAP0AbKRQKkes95fOKRiLhcCgYDPj9PuJQp9PBxul0ulxJq7JxuVxOGpfb7XK53Fy1ejxuj8ftYTZJrp+SZ4paiXb9fj+p7FS9pcvNuYiJSYuowkJgviRZ35GxdI3yNWk+Gs1o0nVr9KGYNJtGS1ymOUg3FFujTNCT4yTka72HrdH+A/8QVsntVz4jyXnlM/fVz9xXB3xXB/xXB4JXB8LXBsLXBmLXBuLXBuLXBhI8U5xOsWsD4WsDoWsDwasD/qsD3qsD7qsDriufOeld+0Uzr/yX77NrjYBlILeLhdvt8Xq9fn8gGAyFI5FoNBanAy66csWi0Ug4FAyQiDGVtMDP5/V4SfJ4vCTq8/l8gUCAUSn94UUikXAoFAwEAj6fz0s51G5jYbfbHTmx2+12h51xbhKH0+Fwpqxmt9vtdk62TkrbRK0ulkn9gUCADkbDzNXGfNL01wyl0XKUKdPcYCKaOOvLkv7SfVQBabpJH7pGeZk0t0azaaW4osxNemk5Gk0/RevT6Llz5x6uRs++/sOgUma+fMl8+ZLt8iX75UvOwUuuwUvuwUu+wUv+oY+CQx+Fhz4KD30UG/4oPvxRfPhiInuKD19cTv0zPvxRbPij6NBH4aGPQkMf+Yc+8g995Bu85B685Bq85Lx8yX75ku3yJfPlS/6ZyV2b/zO71gisbCxWi8VisVjMZrPVarXbHS6X2+P1+f2BUCgUiVC+iMVi0Wg0Eg4Hg0G/3+fxeJxOp9PhcDqYsM6dDOyInZ10kOhwuZwup4OEiV6fzx8IBoN0LYhEIxEqFA36/X6fz0OiRbvdbrNZbRmwp2Oz2aw2qzXlPUdSl1abjX3EFouZwmKxWK3WlDwdDofT4XS53G63x+v1+fyURpMVlb7I4qkBO6sDpOxNGi/bgLRwja4jJiUU25ZZSS8q0WgsFst2MtdxAuPx+NmzZ5eXl9PfUqlUD3KiUqkyZ/ijGr9MZPj4vPHj8+aPz5s/OW/75Lz9k/POgfPugfPugfP+gfP+gfOhgfPhgV9GB34ZG/hlfOCX8YFf/ryzu3rXfpJ+3tmdcUl84JfRgV+GB34ZHjgfHDjvHzjvo7N1Dpy3f3Le+sl58yfnzR+fN3583j05vvN7z7OrjMC4ZFxiMCwZ9Aa9Xq/X6Q0Gg8lktlptDofL4/H6A4FQKEwuqUiEqk+MQ+02GzEQy20OBztkJH/aHKwY0eV2e71eHzu+C1N9oqFAIOD3+7xer8ftdjmdnGiUwpr0IZGjzZoKXRobcSvre8JisVjMFrPZbDaZTTRms5k2aUpwSsfmPkoGwSDr2sqq0WJJ8KGQo4d03RrNU6Zl1EO6ZnRWZGVmJ12jkUgkx2fE9xOJxWJnzpxZXl5Of2t8fDz3+RwfH8+Y4c/2bPeJhLrf9Ot/02/4Tb/hN/3mC/3mC/22C/32C/2uC/3uC/3eC/3+C+eCF86FLpwLXzhLUvWu/f9MU71r/4etHZwl9JrnghfO+S+c8104577Q777Q77zQb7/Qb73Qb77Qb6J3qv9Nv2v866rvPsuuLwK9Xj8+u/D5rZlfX5tYMw3dEYlVxlAoFAz4A36fz+NxOR12u81iNptNJovZYqFiOqvVmhI+2m128q+dMimtUZ/P7yfdjclLn1RUSqMet9vtIq3sZPObEamVSqkLrVarhS1Sas1Uh5IyszGbLRaLhfN1QPeZEo2SKyoUDkc4dYxcnent+jIlYw9pNBplAtJH2rRft0kfUQ9pISYtTZ+mazQYDDoz4Uoj4z0JDsFgsK+vLxKJpL81NjaW+0McGxvLmOH7O/5f1/R9+dle5dnexbO9qrO92v5eXf97hv73jP09lv4ea3+Po7/H2d/j6e/x9vd4+0/4+0/4+0+ca2jieJP9+lxDk7//hK//hLe/x9Pf4+zvcfb32Pt7rP095v4eY3+Pof89Xf972rO9qrO9i2d7lWd7rbdGtv2nv2bXF4FOpxv4akq2qA2Hw+lXTygUYl6Hw2HZovby7dmA3x/w+fxer9ftJoEiUZLZbLZQJkrRqN3GjkydTvoWkYf0FwSCAbqOhEPkXlWQrqE+IlL6xlFq76ed22Ga7lkbe5nVRlrxKZhJSMpp1afcznKTsJm6vxQKhTIMMIhz78KVvUbX7CGlv+0evkbXEf7k0Oj6mqW8TLqmRktNpuka9fv9GRp87JrF6ulak0AgcPr06XA4nP7W7du3yUd8Ow1mecYM+17+L87Ju7K+47K+4/K+48q+46oPjms+OKb54Jjhg2PGnx4z//SY9cwx+5ljrjPH3GeOuc8c89LpbH0D256MQ8/WN5AVyPquM8fsZ47Zzxwznzlm/ukx40+PGT44pvngmPqDY6q+48q+4/K+47K+4+avrm2t+A/s+iLQ6/Uffn7b7XZzevRWVlZCoZBPeW95eZlZ4na7P/z8tt/n83u9Pq/X43aRaJR0MTKBKAno7Db6tNspe7qcLheJ7VxuT7K3kVtP6Pq5+Pl2wbt3PR6Ph7oHz9yGp28TpXy6TA+o3W63Z+g0tXEb/aJLWwVv3aBiU3bPaNKhDur2PWX8YFB9uUrw3gS7HrIr0nKW7tF8lGq5ViN4f+6RiXE9pPeQRlkBKaO80tFo/gFpUTRaUjLlaNTn83EjDBbpXWW58fl8J0+eDIVC6W/dunWLXAm3bt3KZzmT4em/e8Fx/2txz1Fxz1Fpz9GFnqOK3qOLvd2q3m5db7fhZLfxZLf5VLf1VLfjVLfzVLfzVLeblc7W1lXv2s/c867etf9ntXXMu2R9x6lu66lu66lu46lu48luw8luXW+3qrdb2dut6Dm60HNU2nNU3HPUODL80t88za4pApPJ9NOPr7tcrgSL5eXlYDDo/uq06/3vhMNhZrnL5frpx9f9fjISyev1eFzUDaCbbwto3r5lt9sdjtvHBYJtH8ucTqfL6Xa73WSYEXsQEV2tgsFgiKRQiBodFQgEAgHV5zsE797zJYd2MjJlRjU5nA6H9OOXBYKXP5Y5ObfgJR+/LBAcv526kHaszWaziS+9LHj7Jud71yH9eJtAcPxr59fHBVx2XFarv6gS9E5EMt3KZGoIZwDpE6BRzr2mEN2uf3QBaQm263ObtOxkytHo0tLSbBpzc3MtbW8zd2Myppa2t8VpGAyGH//4xw6HI/2t4eFh0oc2PDycz/Jkhn/+R+qBi1e3vvCHrS98+fIL119+4ebLL9x++Xt3t3/v/va/ndq+aXbHprmqTZKqTfKqTcqqTYtVm1SsdKqmunrXfqaqV+/af6qmmnl3sWqTsmqTvGqTrGqTpGrTXNWm6R2bJrdvur/9b+9u/97tl7/31csvjL78wpcvv/CHrS+Iz53+z//qX7BrisBut/deuGa329mfsc/nc4z0Ok982+v1OkXXw+EwWU5WJhFIwO/zk85L19g7AsG2j2VEcGPvbBtYSI679HqY8U9UJfJT40aZoeypl3yI6X1TX94h6Lkf8KcMsGeNlqe6TRYGtgm2bdv2zpibCVqdTielweNjZNgAezwp8a/TIf34ZUqz5FWm4agez50Tgu2fKukBo5oUjWaoReQaTTfpms4qTY3mDkgfc7s+H5Pm365//D2kpSlTolGDwSBMY2ZmJr0tnN40nk9Dp9MdPXrUbrenvzU0NGQ0Go1G41AazPLMGf7J/6r6+DfDP3j+6g+ev7bl+ZEtz3+15fmbW74z9uJ37r343MSLzwpfenZm67Oirc/Ktj4r3/qskpVOVu+o3rXfmEr1rv0nq3cw6yi2Pivb+qxk67Oirc/ObH128qVnH7z47L0Xnxt78Ts3t3xndMvzX255/tqW56/+4HnRmd5N//v/xK4pAo/H8/YvBq1WK3NtBYNB281z9h//P1ar1Xb1bcc73w4Gg+Qtq9X69i8GqbgxGAySKqT8bLvgxF0SYaYak10jQtwqEA6HI9TlTY9WI9Ay1XxRJXjvPqv5yFREn5/1HJLis+2Cdz/9bPv2z5TJB5Pkn24/8emn2wUn7tJLSGLp170wsE1A5Mu8op9joke/en2+e+8KdnyuortFtYNVgt7JbPWKqRtM/J5/QFqCGv2mqKPxH0NAytekD12jRZdpqkZnOIloNP35FTbVu/bPz4s4SafT0xrlvsXoMhtDQ0OZM/z3/5vq499c+cGmqz/Y9Ie/2zTy4qavXtx088Xvjr303XsvfWdi63PCl5+b3faceNtzsm3Pybc9p6TTyZ1V1bv2a2k4r0/urCKrKbY9J9v2nGTbc6Jtz81se27y5ecevPTcvZe+M/bSd2+++N3rL24aeXHTH/5u09UfbBL/rHfTH/3P7GoiCAaD3ec+MZlMzJXq8/nsXX9E/iUvfD4fectkMnWf+yQSiUSTwguHQg/eEwjeux8M0q4JhWjhTITDYe1glaB3cLCKNIxPTkV1Q9UC+o9YLBaLTZ0UVA9PDdNLq4d00Wg0GtHROYTDYe0XVXTTuuoLDXksiqpuqs93CHruB+73CHru07V5vEfQM774+Q5Bzzj1547PFykFj78r2P6Z0ufzKT/bLnj3nu/eu8lm+7v3fCkrU9te1tC1kxwM9wD0w9WCk8PD1QKBoHrYsLy8PHOaybJvjrKo+WoNtajmmoU6/XPvp/QalKRG000ajUbZTft1aDQfk65bo4/OpLk1WohJiyVTRqN6/ZJQOMtJMzNz1bv2m3JSvWv//LyYk7Q6/dEf/8TucKa/NTQ0bDSacqShoeGMGf7jn/8r9eeXru3YfK1680j15tHqzTd3bv66ZvPdms3jNZsnazbP1Gyeq9ksemWz7JXvy3d/X7n7BZKqd+1fpKnetf/kKzWcJWQ1xe7vy3Z/X/LKZtErm2dqNk/XbJ6o2Txes3msZvPtms03d24erd48Ur35WvVm6c/7Nv3r/4VdTQTRaLSl77cGg4HpfHW5XPaTlQaDwdb6L0g73Wg0WiwWj8djMBha+n4bj8fj5Ioh1040Spvx5FTygtMPVxPL6IerBQLBqel4PB6fPiVgXhuGqwXVw4Z4fJleukwvTm54cioajeqGqgS9k9RFP9krqBrUsmoH7euJXkHvBKlFD96ruqwOar6oErz3gPwtqPpCQ1X7++8JdlxWU50G790PBoNB9ef0K9b7VPj84D1B1Rda9s7o49QNVVPKJ4d/corUh+lTgp1XjCQaNV3ZKeibJRIlQv3Gcq2GiNRyrSZpzrn389foKh++KWjAQA6Nhgsb/PRIA1JeJuUVkD66mPRRyzRb/nQ0ahLOiNJTW8fx3H2jbZ3vzItknKTTL/34x2/Z7c70t27eGhsaupIj3bw1ljHD7qf+L83wwMirW0f3bv1q79abe7d+vXfr2N6Xxve+NPEPL06+tmXmtS3zr22Rvr5F9voW+etblHQ6+eoeprQnX92TcYny9S2K17fIXt8ie32L6LUtc69tEb62ZfIftjz40Yv39r40tvel23u33ty79au9W0f3bpWd7//b//Nfpmh0eXm5tucXWq3W7Xbb7XaNRqPRaLRarentP9cPvaXVao1GY9tPL/X+6oulpSW1Wl3b84vlLDMgLP1+p0AgEOz8/RL91+mZRCJhvEK9SCQSiZnTScUwb7AXLi8vC08TvRooEeuZOJUmqWvKYcS2g1VVg9pIRJv8n7IvUS8VPU/QHmbiZdYr9vtpf0bYedJ/TLGKEIvF6K8KFjuvmFdXV1fn+pKLaq6aV81Xa5hQ9Zu8G/UpYylS5jhgxlrlUGpBJmU+IPLVmd60f+gafTxN+4er0cJN+ohkmi3/lZWV2tpajUY/L5LPzS/kTvMiOZNEYoVYosyYDEuWoz952+FwZ1uBbzIsWX7yH/5Y9+XgjYN7bh7cc/vgnrGDe8YP7xmv3TNZu2f6yO6ZI7vnj+yWNOyWNbyibKhRNtaoGms02ZO6sUad+qeysUbZWCNreEXW8Iqofvfckd0zR3ZPHtk9UbtnvHbPvcN7vj645/bBPbeP7JV/8uvv/9//R4pGE4nEG2+dU6vVDofDYrHs6Tq39+g/vfnu+R929+/pOvfmu+d/8fl1svy9Xw0qFIo33jq3kk7yJr/xyk7BzivGlRUSh62wXqysrKzM9gl2XjGR18wb7IWJREJ4mqh46fc7BaemiU5PTdOxbxpU0BqLRqNTJwUnp6ZOsqJF8mrqJN1TEE06laXEFDky72eKftnCTW6mZfYUjUWnTgqqh/Ux9sW6sjLbl2zez/WxNMqYz3yVq9GMxmSdbW71IH8yn0T6p8SRaobPMcv66d2j0Wg0nPaIfZaJtLKSj2LLrof0oWj0MciUrdHu7m7ZglKu0Epl6txJtqBh0oJcK1foMiaT2fHW2++63f5sK/BNJrPjJ898y3jzy7vtB++1HxzvODjecXCy883pzjdnOt+c6z4gOXpAdvSA4ug+5U/2qd/ap3lrn+bYPn32pDu2T5f6p+bYPs1b+5Q/2af8yT750QOyowckRw/MdR+Y6XxzsvPNyc43yU4njrXKhi/vePpPuRrd2/m+Uqm0Wq2ki/fLO1N/uDP5hzuTQzfvD918oFBpFArFj378T72/GpTJZHs73+dWRtOVnTuvmKnKlm7PvDQqYFaZ7RNQsanx9zsFp4XLVDuf9ATE44bhU8MGtlKZ3oNYLDZ1ktVjyWg0lmx+k/Z39ZAumkmjUcabtHM5kWyYdBRQtZkMIqXlSjQcjUSmTgoE1cN6Up2mT50Wkm+EnVeMCeqoyTkwXdlJnwwqVmVOU5YvqdSKEIvFqBkKiQe4dZhVeRKZyFndMqwcZ/XiRMKRIHWbnhJo5pkKM+HlktWtG7Nd/0hNmp756urqwMBAf3+/xepSa02LaqNStZQxLaqNnKTSmNRac3qyOzzvnDjp9YUyvruOZHd4jj/3l+a7NyePt0++0z79TuvMida5E62inlZpT6vsvVZlb6uqt0VzqkV3usXQ12zoazb1NZr5JENfo6GvWXe6WXO6Rd3bouxtUfa2yt5rlfa0ik60zpxonXmvc/6D4+rPP7ryq/Mn/+GH3Eb9rqaehYUF0mGs1+sPvPOL3Z1n93Se3d159sA7v9Dr9f/t6Ic957/Q6/VSqXRXU0+GiGa2j9WENaY22dds1K/M9glq+vroGzDMykYqGo3H43HiR/ZtHW40StANVdNxJxWNUmrrpTfv7SVeTIkstdQdsN7JSGSylwldqUi2alBLPV1FD8IKBPx+f0BFd6mqL9O9sKFwKJTMTiAQVA/pY7FYLJZs6p8+TaJt6gzQp62vj/pS4ToupVolW9PpXZNkzhQyeV+meSJjMZYH8zVFNLlyhDUjYpCaO8bHGvlAjTdLedosdYIt1vOFqaPKWG7l2DRbTPpwTVqyGn3oPk3POZFI2Gy2N99888yZMwtyRSAY8QfCeaZAMMKkYCjKTn19P43HE5yFhaTT33smqFObb1y13rhqu3HFfvOK/eYV580rrptX3LevuG9f8Y8N+8eGg2PDobHh0NhwmH8KjQ0Hx4ZJPr6vh923r7hvXnHdpPZlHxuVjV754uf92/76LxwOR4pGo9HottpjKpXKarXqdDq1Wq3MBJnzSaVSbas9xnZoHnFNts+PWk671cRky84zTjchSUWOMoMEaDLWk4wkLceaHTUUYo38Z2pd2i5CoVAoSDVcqZiLrvzpw7uYas/OM8KaVJUyYmqVY58lWmHUUbMPgC4HHQDSQ7g8Hg8pSbpi2MdEH0tSvgE/6dMM+P2BABnPG2B5ih4UQY6RfuqCPAnhZuY6sNmoJ26TT9iakhNncZ6HST5hSKuWESvjU0alj0ejfGWaW6OPSKaPSKPxeDwSiQSDwStXrhw7duwNnuyj2Z/K66+/8ZDT0/+m6ltUqv72v6l+6t/WPPXHNU//u11/8e9e+cs/eeWv/nT3X/3Znv/4Z3v++lt//zffevVvvv3qM0+9+sxTrz7z9N5nnn6VSRXUi79/5ukfpv759888veeZp3b/zVOv/PW3d/3Hb9X81Z/t/Ks/q/7LP636i3+//ek/2fbUH2976o8P/Ke/+O/7fhgOh+PxeIpGA4HAD/b/o06ns9lsn331oOc3V+v6fpeeHA6Hy+XS6XQ/2P+PVAyaSCQSiVTNRWOxWDRjsMO1H+2U+PLy8rKQDlHZfXDLqYO9Q/SjTpkJJAcwrmfeIb+fVFpWBaXqW5iZhd/v9/m85AF/8lCUw+FwOZORVcZ2K0uySauyTwLzikrsO+CBQCAQYJ49YMI+dsTHTCRAZlGhTOTzepnnFXxedkuZiR+pqQsdTmryLTIpoCM5fTX5nmB2x34A12az0XMMWkwmE+kLWlpaMhgMer1ep9ORQXk6Gj0Lg8GwtLRkNBrJlFqs6WDII8PUo7fk3FF+z2TS4mo0H5M+dI0+LJlmyzZjf3ruTvOHcQvzSUDgdrt3NZ34dOiazcadZ46Dw+H4dOja7pYeuqMsHouSieqT92rJFR5MmWokHMpkv1CIzJMUi5MRQr9P0ShlZzIRRvbbF5w+NhIkpk8Pw2iO/M+WHut9SnqBtMeriER9Xq/H7XY6HDabzUxmtEqZoDTDBA1kAlYXLTfy/CtzmpI/OBAIBFmPAxHTEYExE1uRaatIfEebiz3B4ZLRaDRbLDabLbUI7ClhqMysVquZ5LBkXDIsGQxLBsPSEpHbkslkNJlNZovZYrVYrWQaLKNxyZB0JFuUGo1GrdaoVKrFRdXi4qJSqVQoFAsLCzKpTCqVymSyhYUFuVyuSKJUKhdVKpVarSGeZdRqMpksFovNZnc4nOQnC5Ii9WcOSAuRaeEaXdOkj0ijhcu08J1y+s1X+Dyt90QisFqtvx388kcdvX/7atOa6fV/7Lt8/Q4VfkbC4XAoGAgQv7jpECbtUaDM+HxUgEZN2cn6mEgUSmZv9vv91JP7JFJyMI9yJvvaUuYfoecVpRKX5OPzxH7khdVqp6M5pvYmay4dhTrtdrvFbDYuLRGR6HQ6g8FgMBiYBzDMJpPZZDIZTUajkfjIbDZbzGS+Kzs9PWDa46z0IrfHQ0Jdu81us1opYy4tLRkMxFwajUat0Wg0GrVarSavNBqNRqvRarVarcFgMJqMJMAjM6mSEc103Gc2mUwGg0Gr1aoWVYuLi4vKRaVCqVAolQqlUkkGI6tUKpIz0aRWrVItKpUKhUIhl8sXFhYWFuQLCwuyBZlMJpPJpFKZVCqVSCRisVgkEs3Pz8/OzgmFwump6anJKeG0cGZmZmaGPJw9Nzc3Pz8/LxKJJRLpwoJcoVCy96fT6gyGJTLFrZ2YlBXL+zf8vabcXns8JiUbppsUGqWnbTYsESMY9Aa9Tk/CBKPJZLFaHU6nx+MlE+BHmWmbyc98+H0ej9vlcLAjWWaOD25UZGfN2exwkfCPZMv8HBP5tMgjMkTQbrfbYbfT3W10fxsHShhG45KROQS9Tq/Xkzmo9Qa9gT5AEr0R6ZlYT6CR6UatNntKu9Lv85MyOB0Ou81qMZuW9HqtRq1UKhVyuVKhVCqVKpWKcoGa9plGq1VrtRqtVqPVaam2rHHJaDIRodqp85E2q5/VarNYLCaTiRwIEScJ8xQKhUIhl9EsJMM8JVGgSq3SaDQ6nW5pyWBYYhrXlGN1Oq1Op9NqtCqVSi6XSyUSsUgkmheJ5kXzcyLRvFgskkgkMpl0YUEmly/IFXLKnDKpVCwSzc3Ozs7MzM7Mzs7MzM7Ozs7Mzs7MzszMzMzMCGdmhELh1NTU5OTkxMTE/fv37929N/b12NjY2J07d+7du3f//oMHDyYmJiYnJycnp6amp4Wzs7Pz8yKxRCplhauLiyqtVmswLJnMFpvN7nDSv46QcqvpyZxAr0Aem0mXU8fwZzPpBpSpgNQ3nZYOdtRqtUpNwgSdTre0ZDRbrA6H0+32+P1+0k4PMq1ct8tpt1stZqpjjLbU0pKRmgeZuc9AZnQmTUWr1Wq1s3+hhGlBR6PRaCQSCoUCATp7m81sMhkMBp1Op9cx3WspMIeg0WjUKjUVai0uLioXFxcXVYsqtVpNGpJ0AEcapDqtVqfV6rVanVar0+sNS0tGSqUOp4P67RC32+12OBxWi8VkMhoMeo1KJZfLJURDIpFELJFKpFKpTCaVyRfkbBRypUKuVCpIGdQajVan1ZPWq4mecj/lWWKTyWg06vUGciCqxUWlUilfWJDJZFKJRCqRiMWi+fn5ORLRicVisVgikSTbzgrF4uIiO0ZVqRaVi0qlUqlcpEJNpVIpk8pE8/MzQqFwelo4LaSScGZGODc3Oz8/LxaLJGKRRCKWSMQSsT8EotYAABuHSURBVEg0OzM7PT09+WDiAdHhgwcTqTyYmLj/4P74+Pjdu3fHxsZu37p988bN66PXr1+/fuOrGzdv3rx9++uxsTt37ty9e/fevXvj9+8/mJycEgpn5ubIcUgkEqlMKpPLFSqVWqfTG40mi9VGLjl6GrBCNZp/QFqOGmWr7VEHpJx9QaMEASNQ4lDVoor0cCkVSrVao9Prl4wms9Vqdzg9Ho/fHwgGSCPX43G7nA7iUCpu0jLNS62ODgYNlF0NRrrrzWw2kblJbQ6Hk2q6kZ84omtEwO/3er1ul8tht1vMZoPBoNVoNCp2O1ZLdqTT6jQarUaj0ag1apV6UblItT6lMhnxCx3vJHvolErSmiSCVanUKpWa+EenI5qzWCxW0tgnt1QsFotxyaDXadWqRblcLhGLZmdmpqemhNPTM0LSaqWarOJ5kVgsJg6SSKRSiUwmXZBJ5fIFhUKhVKk0Go2G+R7Q6/Va+l4M6SjUarXkI1AoFKQFLSXCnieN4jkSAM7OzWaUqVxOtK1cXFQqlKQVToeuCwtyuVwmk4mIGSenJicmJyemJienpyaF01NCoXB2dmZubo6aCUI0LxLNz8/NzgqnhZMTE/fvjd+7e3f83r374+Pj4+P3GR7cv3+fvHl3bGzs1q1bX3311ejo6MiXI1/+4cuRkdGvrn918+atW7du37799ddfj43duXP33r0HDyampqZnZmbn5uYZlS7IFhYXVVqtbsloslhs9iJptOza9dkE90hj0owa3chNewFpwuuoFqBGpWI0qlCp1Fqt3rBkJO0sp9Pl8Xh9Xp/X43G7qAmbzSbjkl6vUavUxEwqlZr025F7CFodHUUalvTUTQyj0WymVOVwutxut9dD/RY8VVW8Xq/b7XY5nXar1Ww06nU6jUq1qFSy8tdQ0tYkI2gqfJPLZVKZRCKRiMUSiUQiIdGiNNkWTpGqUqFQKhSLCsWiUqnSaLQ6nd5gMBpJB6OZGrxjNBh0Wq1ataiQy6US8dzs7NTk5MSDB5MTE5OkrTo5OT01LZwWzs7Mzs3Ozs9RQaNYJBaLJBIxZTmFXLGoXKQLT/o31Sq6U4AW+qJSoZQvLCzIZFKpVCIWi+bn5ufm5ki7emZmZnZmljhbRHtULJZIxFKpRCaTLSzISCS8sLAgk8kkUgmRLDkBUol0fn5+dmZ2anJqcmJyanJ6eko4PS0kk1DMzVKte5FITNr7c7NzQqFwamLy/vg4cSglT5oJJhS9d/fOnTu3b9++cePG9dHrI1+OjHw5cn30+ldf3bjFaHQsk0bnRSKRWCKWyNgatWbV6LrvNeXfrt9QJi18FzDpN998IzAamZu2Br1er9NqNWo1EZZGo9WTaNRMevRc1J0Ql9vldLqcDqbFrdWomS5CojkSLTLN8CXDknHJZDSSaJQMQrWRHzpyu8l9Ha/P6/P7yKgiDxlVRGlUryd+V6tIs5y6x0snHemO1Kg1JI5bkC1IpVKpRCqlDELD8ijp/ZMrSPcm3buo1pDWvWGJxM5Gk9G0ZDDodTqNWrWoUCxIpWKRaHZmZnJiYoKWycSDiYmJicmJSXJThfQbzs/Pi+bFYpFYIpaIxVKpRCqTLsgXFPR9arVKpaLb2Urm3o5KpV5cVMnJzRyZjLp9IxGLGbGJ5kUikUjM+JOEvhI69JXJSNcmtb2Mfegy2YJMKhOLxHNz8zMzM0KhcIb0Us6JRSJSSBnpGyVryqRSiVgyPzc3IxROk77PycmpycmpqalpGqFQOD09PTlF94reuzc2Nnb79u2bN27euHGD6HNs7M6dtRr1UqlUviCnGvUmM+miTukbLefHQx+uJddhunVoNHexOZngXpMgeQkGg0Fm2I3P50/erg5xfpY9Go1SP4QcDoeC1O/U+7wp4xPTp54Ikln0gpxLmsk1edmR/MnbrCJlzTk5VJQZkZ5lxBPrJnmmsQP0IXMzZ8acu1wup5PcG0ofAMD8cAn97A75xRQXa2x51nELzFvMpKielNFbLpJcLmoSavZTQ5zfGksfBsBZyMxg7WJ+IYX1qwSpBfC4qUGjzBCuDI8lsYevUuNJWfcCOb9CQd2BpPPhDLwnQ3fJdZFNT49BLhw7lC/5DAJdX7bZ8t+gGv3000/r6+vr6+rr6urqjhypra09fPjwoUOHDh06dPjw4dra2iNHjtTV1dfX1zc0NDY1NjU1NTU1NjY2NjY2NNTX15NNDh06dPDgwUNUYrYmGZA8jtQdqaurqyepnmRY39DQ0NhI8mxqampqam5qbiavGpsaGxsbWLtgMqqrqyPlqSd51Dcwf9TV1R1JPQR2UZjS0CWiC5XMkFueJvpwyT6Y3A8dPHQwyaFDhw4dPpRytORg6+vIia3nHDjZ5ZHU40pSm1xOc5hJh9kpldraw2kbZoDZspZd3iN1zLmoq6urO1JHlSX9bLLOZ3oxDh1KP/OpuycfIX26CY0NjU2NTc3NzS2trW1tbe3tHR0dHZ2dnV1dXV1d3QCUGsPDwykabWpqSp88AgAAQDa6u7tTNNra2lrsIgEAQDnB1WhHR0exiwQAAOUENAoAAAUBjQIAQEFAowAAUBC4xQQAAAXB1SgGPAEAAC+4Gq2vry92kQAAoJzgavTw4cPFLhIAAJQTXI2+eeDNYhcJAADKCa5G9+/fX+wiAQBAOcHV6L59+4pdJAAAKCcQjQIAQEGk9Y2+ebDYRQIAgHKCq9Ha2tpiFwkAAMoJjBsFAICCwFNMAABQEHimHgAACgIzPAEAQEFAowAAUBDQKAAAFAQ0CgAABYFbTAAAUBAY8AQAAAWB4fcAAFAQmLYZAAAKAtM2AwBAQWCiPAAAKAhM2wwAAAWBaBQAAAoC0zYDAEBBYNpmAAAoCIwbBQCAgiiDp5gEgn9mJ/ZC5nU+Oax7X8WFU6QSKdXjJNvhP5RTwfeU5lg/d1bZ3k1f+Bg+ZV7VJ/8811eMJ+CSLvVn6jmnOGMtyudjWMc6pfPplmzBHgP5XAAPdxfrXj+fr/NCFj5cSkGjD3HvxaWkZ3jKfYXxDSLWsU4hl1ruwKTArErh4nu45yT/TR76sa/j41hfCJn7cnoU3xD5FKa4lEgxCoSr0c7OzmIXKUnuU/wYNLq+fT303KDRRwo0WkRKpBgFwtVoV1dXsYuUJB+NpveXZexwYa/MtwMrPc+M/XTMLnIUI3du+bcW1zxkdnlyHHu2wmQ8FeyVORtyDj/jWVrHgXOKlG1hPgeb+7hyn0xe5clYMPaOcpzAjFdRxl2sWeA8Lz++Hz1n7xnPSY58Mm6YrcwZz0/uoysWZa/RjC/S/8y2Trac88kq/TWnDqxZ8txlzrEwz0POuNqa22bcMKMOOJtnO/zcxch2jBzy0V/uvaz7hKSXJGMO+RQg/4W5l2f7CPIsAK/95vjUMu49R/lzbLXuE5Uj88cGV6Pd3d3FLlKSAjWavjKvk57700r/PszfC49No7lf86qEOcqQu+T5CC7b5hkzfCivPZkOraQ0yusQsv2ZQ2cFljadPMucY6vcZc69ZnHZQBotxKR8L8E1C8Nrq9wa5aQ191JIvcqnWubIMGNufOvDur2Tj0bzKRJnwzUPM8+Sr+8Q1vz0C9coe0ee7BSu0RxFyqfwRaT8NJrj+sjHXHnaLcdWfGtp7h0VrlG+eynku4G9MHfJeZkiBw/xQ8lHo7yKVAoazV3CbPmvu7Q5KFCjuTdfX+aPjZLWqIdn5cxn5fTV8tldtv0WRaN5bv5wNZp/gJC+YT4afVgfSu7X+R9jjiLlf2KzXSGPSKO8CsB3v4K1AlJe1S1H5U3fSz6XVnEpdY16snyEgizNmdwrc17n3lf6h5f++eXOds0d5Sjzmkea5/nJffg5TmC21xnFlPvwM566NQ882xnI/wDTN/GkfSj5XD8ZC8POM1s+OU7RmlfvmoeTu8AZT37G8uRzGjk55z4ta5aZU5J8ypxt2zUvnsdDGWgUgIdCKdS3ciQfjW5woFGwIcgn7AXZyLPdsGGBRgEAoCDSh99DowAAwIOurhJ+igkAAEqfrq4uaBQAANYPV6OdndAoAADwoLOza3X1GyYJOqBRAADgQ0dn1+rq6gqdBO0dJTTfKAAAlD7tHZ0rq6uJFSoJ2qBRAADgQxtHo63t0CgAAPCgtb1zZXV1eWVleWVleWVV0NJWQr/FBAAApU9LW8fKyupygkqCZmgUAAD40MzVaCs0CgAAPGhu7VhZ/SaxQiVoFAAA+NHcSqLRFZIETdAoAADwoSmp0dXlxCo0CgAA/KA1ugqNAgDAemhq7VhZXV1eoRI0CgAA/KCiUWgUAADWB4lGk08x4U49AADworkV40YBAKAAmls7lhOrkfgKSXiKCQAA+NHc1hFLrASiCZLwTD0AAPCjpa0jnlgJxRIkYYYnAADgR2t753JiJRxLkIT5RgEAgB9tHZ2JxGo0vkISZr8HAAB+tHd0JlZW48srJEGjAADAj47OrpQBT+3tuMUEAAA86OzsSv0tpta2YhcJAADKia6urlUWgtamlmIXCQAAygmuRpvqGotdJAAAKCe6urpXV79hkqD+4JFiFwkAAMqJ7u7ub1gIat84WOwiAQBAOcHV6MHX9he7SAAAUE5wNXrgv71R7CIBAEA5ka7R14tdJAAAKCe4Gn3zR/uKXSQAACgnuBo99PqBYhcJ5OKU4BTSxkzFvvRAVrgaPXLgcLGLBHJR9MqMVKxU7EsPZIWr0cba+mIXCeSC1Kh/BhsJaLTE4Wq0pbG52EUCuYBGNyDQaInD1SimJilxoNENCDRa4nA12oGJ8kobaHQDAo2WOFyNdnZi2uaSBhrdgECjJQ5Xo11dXcUuEsgFNLoBgUZLHK5Gu7u7i10kkAtodAMCjZY40GiZAY1uQKDREgcaLTOg0Q0INFriQKNlBjS6AYFGSxxotMyARjcg0GiJA42WGWtpdOxoRUUlzdGxx1fVwaMDGi1xoNEyI7dGx44mHQqNPjFAoyUONFpm5NLo2NHKVKDRJwNotMSBRsuM7BpNac5Do08S0GiJA42WGdk0ymnOQ6NPEtBoiQONlhmZNUo35ysq9uzZg1tMTxrQaIkDjZYZmTSabM7v+bWOHZZCo08G0GiJA42WGekaZbxZsefXutTWPTT6ZACNljiY4anM4GqU1Zz/tY4sgEafNKDREidNo5hvtLRJ1WhKc55ZBI0+YUCjJU7atM0dmP2+pGFrlNOc5yyERp8YoNESh6vR9rb2YhcJ5CKpUdZge7YuodEnD2i0xOFqtLW5tdhFArmgNZpszlekyhIaffKARkscrkab65uKXSSQC1KjdL/ekz7YPhsVFdBpeQONljhcjTYcrit2kUAuoNENCDRa4nA1euTA4WIXCeQCGt2AQKMlDlejh984WOwigVysOW0z+kafPKDREoer0YP/34FiFwnkAhrdgECjJU6aRl/bX+wigVxAoxsQaLTE4Wr0EKLR0gYa3YBAoyUO+kbLDPyk3QYEGi1xuBqtw5360gYa3YBAoyVO2rjR2vpiFwnkAhrdgECjJQ6eYiozoNENCDRa4uCZ+jIDGt2AQKMlTtoMT62Y4amkgUY3INBoicPVaEc75hstaaDRDQg0WuJAo2UGNLoBgUZLnPRGfVuxiwRyAY1uQKDREge3mMoMaHQDAo2WOBjwVGZAoxsQaLTEwbTNZQY0ugGBRkscTNtcZkCjGxBotMTB1CRlBjS6AYFGSxxM21xmQKMbEGi0xMG0zWUGNLoBgUZLHEzbXGZAoxsQaLTEQd9omQGNbkCg0RIH0zaXGaRGIW3AVOxLD2QF0zaXGUWvzEjFSsW+9EBW8BQTAAAUBJ6pBwCAgsC0zQAAUBDd3d2rq6tJjWK+UQAA4AXRKGNSaBQAAPjB1SimbQYAAF5wNYpbTAAAwAtGo8SkGPAEAAD8IBpdWVkhJsW0zQAAwA+uRjFtMwAA8ILRKDEppiYBAAB+dHd3r6ysJBIJYlJM2wwAAPwgGmXAtM0AAMAPrkYxbTMAAPCC26hH3ygAAPCCq1FM2wwAALwgGl1eXiYmxbTNAADAD65G8RQTAADwgtEoMSmeqQcAAH5wNdrRhmmbAQCAB93d3YlEYplG0NmB+UYBAIAHRKPxeJzSaFdnV7GLBAAA5USaRrugUQAA4AFXo93d3cUuEgAAlBOMRolJoVEAAOAH0WgsFiMmhUYBAIAfjEaJSaFRAADgB1ujsVgMGgUAAH5AowAAUBDQKAAAFAQ0CngwMmfeIKnYZxqUE4xGo9FoNBqFRkEuRubMXSf/+xOfoFHAC6LRKA00CnJBNFr0UPGRJmgU8IWtUTTqwRowlnEHY3zTxRHhOrYqJK1jj9AoWAfQKOABY5lgdJlvujgiXMdWhaR17BEaBesAjXrAA8Yy8cQK33RxRLiOrQpJ69gjNArWATQKeMBY5p/5c3FESL8cO1pRUUlTcXRsHbnx3GO+QKNgHUCjgAesaHSVb7o4IownVmPqX+1mOZQy6e5fKZdXyGo3uisqKyt3n9euYxeczckeeSVoFKwDaBTwgNU3muCbLo4Ig9HESFdFZWVlRdctsjAQudVRUVFZWbnrf6jJErIC8yffxN6c7JHf5tAo4A80CniQtEwwzjddHBG6A8oPd1VUVla2jcSY5e6RrsrKyoqOG55g/GoHq7G/6xeiQIzZhFpYsftDGbUteauiYndbx+7KysqKiq5TqZtfHBHyLSQ0CtYBNAp4wFjG5o3yTRdHhDZvdKitghZi15AnwlmHebeysrJi1/+Ycit+tiutB6DilZ+JIjZv1OpJebeioqs3dXOyR14JGgXrABoFPGAss+QM800XR4RLzrDBcb0xrW+08UqIWe3z1orKysrqc/KMmZB3yfoGh/yDGu7K7M3JHnklaBSsA2gU8ICxjMYW5JsujgiZ12rrSH2qTCtaRshbAy0VlZWVVT+TJVee/nlV6srkXbVVdnpnRUXFrtPTAWZl9ubsPeaZoFGwDqBRwAPGMkqzn2+6OCLMuPz2mV2VlZUVFbtOTvqUZv/vmisqKyt3nJGQd8mfHMi7CpPk5M4KZkP2+mSFbHvMkaBRsA6gUcADxjILRh/fdHFEKHvwTzsqKioqdvU+8DLLZUt/qGMtvNhUUVlZueMD8YLRR9avrKys+5xa/8YHu5LvLol7q7m5sTe/OCLkW0hoFKwDaBTwgLGMxODlmy6OCMV6UU91RWVlZUX1h9f1HrL8+vskGm37rd4jMXh/21hRWVm5/X2RxOAVj3+4vaKCeYvZnHpXL+qprqio2NUz7mH2wt784oiQbyGhUbAOoFHAA8Yyc1o333RxRDindc8OtKU30isrK7ednier/bqBuZXf9iv13ImqDI16svKsZv5EVUVFRc2Juy5mL+zNyR55JWgUrANoFPCAsYxQ7eKbLo4IyYtp1dzxKvZApZrjY05mtemx/m0VFZWVlRUVredVTvbKFRU1h+prKisrt52aY/LJsTmzx/wTNArWATQKeMBYZmLRyTddHBGuY6tC0jr2CI2CdQCNAh4wlhlXOPimiyPCdWxVSFrHHqFRsA6gUcADxjJPcIJGAV+gUcCDEfwWEwBp4CftAA+KHio+tlTsMw3KCWgUAAAKgqvRrq6uYhcJAADKCUajxKTQKAAA8IOt0VgsJujshEYBAIAHXI12dHQWu0gAAFBOcDXa1tZR7CIBAEA5wdVoc0tbsYsEAADlBFejjU2txS4SAACUE1yN1tW3FLtIAABQTnA1WnukqdhFAgCAcoKr0UO10CgAAPAgXaONxS4SAACUE4hGAQCgIIhG4/E43TdaB40CAAAPuBqtb8CdegAA4AFXo00YNwoAAHxgNEpMKmhpbS92kQAAoJxgazQejwva2/FMPQAA8ICrUczwBAAAvOBqFPONAgAAL7gaxez3AADAC65G8ZN2AADAC2gUAAAKAhoFAICCgEYBAKAgoFEAACgIaBQAAAoCGgUAgIKARgEAoCCgUQAAKAhoFAAACgIaBQCAgoBGAQCgIKBRAAAoCGgUAAAKAhPlAQBAQaRptBOz3wMAAA/SZr/vwG8xAQAAD9J+i6kNvwwKAAA84Gq0tRm/Uw8AADzgarS5oanYRQIAgHKCq9HG2vpiFwkAAMoJrkbrDx4pdpEAAKCc4Gr0yP7DxS4SAACUE1yN1u4/VOwiAQBAOQGNAgBAQaQ16g+gUQ8AADzALSYAACiItAFPRxqKXSQAACgnuBptwfB7AADgA1ejbS14GBQAAHiAqUkAAKAg0jSKifIAAIAP0CgAABQEV6Pt7WjUAwAAD9LmG23FLSYAAOABV6NNTRjwBAAAPOBqtK6urthFAgCAcoKr0UOHMDUJAADwgKvRAwcOFLtIAABQTnA1un/f/mIXCQAAyol0je4rdpEAAKCcSNPofkSjAADAA65GDx48WOwiAQBAOZH2IyK1tcUuEgAAlBNcjTbUY9pmAADgAVejzc3NxS4SAACUE2nTNre1FbtIAABQTmCiPAAAKAiuRjs7O4tdJAAAKCe4Gu3q6ip2kQAAoJyARgEAoCC4Gu3u7i52kQAAoJyARgEAoCCgUQAAKAhoFAAACgIaBQCAgoBGAQCgIKBRAAAoCGgUAAAKAhoFAICCgEYBAKAgoFEAACgIrkaHhoa616KL0NnZ1dnZ0d7R3tra2tTcXN/YdKS+4XBd/cEjdQdq6w7U1h88Un+orqG2vjE1NdTWNxyuqz9UV3+oruFwXcPhemqdIw1NdQ1N9Y2pqam5vqm5oamlsTk1pS1paGpuaGppaGppbG5tamltbm1raWtvbe9o7+js6Ozs7Ozs6Ozs6Ojo6Ohob29vbWtraW1tamltam5tYuXZ0NTc0NRM77SZzrM5NbU0pKxJisqUs7WppbWlley6o6Ojo72jvb29va2ttbW1paWluampsbGxsbGhkUVDQ0NDQz1NHRtqWUNDQ0NDY2NjU340Nze3tra2tbW1t3d0dJDj72Igp4Ociba21tbW1tbWllayQVs7s0lygzWvCQA2MIODgysrK0mNfvPNN6s0K9lJ0CzHl+PRWDQciQRDYX8w5AsEvf6A2x/w+INef8gXDPmDYX8oHKCTPxTyB0P+YNAXCPoCZAUmUesEQ+Ega5NgOBwMR4LhSIhO7NesRK0ZCkfCkWg4Eo1EY9EYIR6Lx2M00VgsEo1FotFwNErWpFI0Go7E6H9jkWgsEotFY3GSIvQLdorE4pFYLBKLRZgV4suxeCK+nEgkVhIrK4nkuUosLy/TpYhGo9FoNEaXLxqNRqMRNuFImED9zdmAdSzRNMhK8Xh8eXk5kUiQj2w1heSnuLy8TD77ZQIpasom36zJahrplwqb5UzEcxJbL+nnJx+YzZnTyJwY9mGufWpKDM4HlHptFnSe8yH3R5yDjBdMNjJeco8UciaZ0v7/++TXFG/WhtsAAAAASUVORK5CYII=" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="" border="0" src="data:image/png;base64,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" /></a>1. Copy the "<b><span style="color: #6fa8dc;">setSimpleThread()</span></b>" method.<br />
<a href="data:image/png;base64,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" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><br />
2. Paste it in your JFrame class and implement the "<b><span style="color: #a64d79;">run()</span></b>" method inside the thread.<br />
<br />
3. Add a line "<span style="color: #b45f06;">setSimpleThread();</span>" at some position in the constructor. <br />
<br />
<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="data:image/png;base64,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" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div>
<pre class="brush: java">import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JButton;
import java.awt.Font;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;
import java.awt.Color;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JLabel;
public class SimpleMultiThread extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel contentPane;
private JTextField textField;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
SimpleMultiThread frame = new SimpleMultiThread();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
private void setSimpleThread(){
JButton btnStart = new JButton("Start");
btnStart.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
final Thread thread = new Thread(new Runnable() {
@Override
public void run() {
textField.setVisible(true);
try {
for (int i = 0 ; i < 5 ; i ++){
textField.setText((5 - i) + "");
Thread.sleep(1000);
}
} catch (InterruptedException e) {
e.printStackTrace();
}
textField.setVisible(false);
}
});
thread.start();
}
});
btnStart.setFont(new Font("Mangal", Font.BOLD, 16));
btnStart.setBounds(180, 166, 78, 23);
contentPane.add(btnStart);
}
/**
* Create the frame.
*/
public SimpleMultiThread() {
setTitle("Simple MultiThread");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
setResizable(false);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(null);
setContentPane(contentPane);
textField = new JTextField();
textField.setVisible(false);
textField.setBorder(new LineBorder(new Color(139, 0, 139), 2));
textField.setFont(new Font("Tunga", Font.BOLD, 36));
textField.setBounds(138, 83, 169, 53);
contentPane.add(textField);
textField.setColumns(10);
JLabel lblNewLabel = new JLabel("Click Start to Demonstrate Simple Multithreading in Java");
lblNewLabel.setForeground(new Color(0, 0, 255));
lblNewLabel.setFont(new Font("Batang", Font.PLAIN, 14));
lblNewLabel.setBounds(45, 32, 368, 15);
contentPane.add(lblNewLabel);
setSimpleThread(); //display a simple multithreading example
}
}
</pre>
<br />
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-64240368981208631362013-02-16T22:31:00.006+08:002013-02-17T10:33:14.872+08:00Validate double values with Java regular expression<br />
The following are Java Regular expressions for decimal numbers, integers, and double values :<br />
<br />
<pre class="brush: java">String regexDecimal = "^-?\\d*\\.\\d+$";</pre>
<pre class="brush: java">String regexInteger = "^-?\\d+$";</pre>
<pre class="brush: java">String regexDouble = regexDecimal + "|" + regexInteger;</pre>
<br />
<br />
<span style="font-size: x-large;"><b><span style="color: red;">Analysis:</span> </b></span><br />
<br />
<b><span style="color: blue;">^</span></b>: Matches the beginning position of the string<br />
<b><span style="color: blue;">-</span></b>: The minus character<br />
<b><span style="color: blue;">?</span></b>: Indicates that there is zero or one of the preceding element<br />
<br />
<span style="color: #38761d;">The double value can be positive or negative, so the string can have one or no minus character in the beginning.</span><br />
<br />
<b><span style="color: blue;">\\d</span></b>: Digits; [0-9] is an alternative<br />
<b><span style="color: blue;">*</span></b>: Matches the preceding element zero or more times.<br />
<br />
<span style="color: #38761d;">Because ".1515674" is also a valid double value, \\d </span><span style="color: #38761d;"><span style="color: #38761d;">in the regexDecimal is</span></span><span style="color: #38761d;"><span style="color: #38761d;"><span style="color: #38761d;"> succeeded</span></span> by * instead of +.</span><br />
<br />
<b><span style="color: blue;">\\.</span></b>: The '.' character.<br />
<br />
<span style="color: #38761d;">Since a '.' alone matches any single character in regular expression, so an escape character \\ should be added before '.' in order to successfully represent the dot character.</span><br />
<br />
<b><span style="color: blue;">+</span></b>: Matches the preceding element one or more times.<br />
<br />
<span style="color: #38761d;">Since "234." is not a valid decimal number but "234.0" is, "\\.\\d" is succeeded by + instead of *.</span><br />
<br />
<b><span style="color: blue;">$</span></b>: Matches the ending position of the string<br />
<br />
<b><span style="color: blue;">|</span></b>: The alternation operator<br />
<br />
<span style="color: #38761d;">regexDouble = regexDecimal + "|" + regexInteger means that if a string either matches either the integer pattern or the decimal value pattern, then it is a double value.</span><br />
<br />
<br />
<br />
<pre class="brush: java">import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegularExpressionTest {
public static void main(String[] args) {
String testString = " .4534 ";
testString = testString.trim();
String regexDecimal = "^-?\\d*\\.\\d+$";
String regexInteger = "^-?\\d+$";
String regexDouble = regexDecimal + "|" + regexInteger;
Pattern pattern = Pattern.compile(regexDouble);
Matcher matcher = pattern.matcher(testString);
System.out.println(matcher.find());
}
}
</pre>
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com4tag:blogger.com,1999:blog-5567997506903791991.post-89372190876076443222013-02-16T20:04:00.004+08:002013-02-16T22:43:58.462+08:00Do Simple Calculus in Java<br />
The Java class below is for doing simple calculus. Method "private double differentiate(double x)" is used to differentiate the function at x, and method "private double integrate(double from, double to)" is used to integrated the function between from and to.<br />
<br />
<pre class="brush: java">import javax.swing.JOptionPane;
public class SimpleCalculus {
public interface CalculusInterface {
public double function(double x);
}
private CalculusInterface calculusInterface;
public SimpleCalculus(CalculusInterface calculusInterface){
this.calculusInterface = calculusInterface;
}
private double integrate(double from, double to) {
final int intevalNum = 1000000;
double inteval = (to - from) / intevalNum;
double result = 0d;
for (int i = 0; i < intevalNum; i++) {
try {
result += (calculusInterface.function(from + i*inteval) +
calculusInterface.function(from + (i + 1)*inteval)) * inteval / 2;
} catch (Exception e) {
// TODO: handle exception
JOptionPane.showMessageDialog(null, "The function is not integrable
between " + from + " and " + to);
System.exit(0);
}
}
return result;
}
private double differentiate(double x){
final double aSmallValue = 0.0000000001;
try {
double d1 = (calculusInterface.function(x + aSmallValue) -
calculusInterface.function(x))/(aSmallValue);
double d2 = (calculusInterface.function(x - aSmallValue) -
calculusInterface.function(x))/( - aSmallValue);
double ratio = d1/d2;
if (ratio > 1.01 || ratio < 0.99){
JOptionPane.showMessageDialog(null, "The function is not differntiable at " + x);
System.exit(0);
}
return (d1 + d2) / 2;
} catch (Exception e) {
// TODO: handle exception
JOptionPane.showMessageDialog(null, "The function is not differntiable at " + x);
System.exit(0);
return 0;
}
}
public static void main(String[] args) {
SimpleCalculus calculus = new SimpleCalculus(new CalculusInterface() {
@Override
public double function(double x) {
//the function to be integrated or differentiated; configure it on your own
return x * x;
}
});
double integrationValue = calculus.integrate(0, 2);
System.out.println("Integration value is : " + integrationValue);
double differentiationValue = calculus.differentiate(1);
System.out.println("Differentiation value is : " + differentiationValue);
}
}
</pre>
<br />
<br />
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com1tag:blogger.com,1999:blog-5567997506903791991.post-18255569559739679582013-02-15T01:48:00.003+08:002013-02-15T11:09:11.768+08:00FreeTTS: a Tutorial<br />
These are the four simple steps to use FreeTTS, a TTS tool based on CMU's Flite engine.<br />
<br />
<b>Step 1:</b><br />
Download <b><span style="color: #3d85c6;">freetts-1.2.2-bin.zip</span></b> from <a href="http://sourceforge.net/projects/freetts/files/latest/download?source=dlp">http://sourceforge.net/projects/freetts/files/latest/download?source=dlp</a>,<br />
<br />
<b>Step 2</b>: <br />
Unzip <b><span style="color: #3d85c6;">freetts-1.2.2-bin.zip</span></b> to get <b><span style="color: #bf9000;">freetts-1.2</span></b> folder <br />
<br />
<b>Step 3: </b><br />
Create a Java project, and copy the <b><span style="color: #bf9000;">lib </span></b>folder in <b><span style="color: #bf9000;">freetts-1.2</span></b>. to the project.<br />
(Files not ended with .jar can be removed.)<br />
<br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQYAAAHPCAIAAAA+sOMXAAAgAElEQVR4nO2da3AU14Hv+0u+8yFVWX/YSuIHS4W6ixGSdj3rZVNbtcbxVl3fm7IdwLzi2HPjvdm1zd7EYMAWSMgytuMO5pW1kQEbI4hEMFiDkGFBAREMBAtsQHYXSFg89JaQkDR6ce6Hnuk+p/t0z2jUM3369P9Xp1w9PadP95jzV3dPn98cpbe3d9u2bb//9PzvPz1PAAgl8Xh88+bNAwMDhBAFkQBAiEhMe2ZTLncHgAuIBAAMOYrE+arlRrG/i0gAcchFJBoql7Mvl1kqOERCUyOKSTSW2d5jUcVKNMZdaame6Q5BsMliJDaufmPj6jc2ri4baSsfaSsfbNrUef7NlrpVX+9/aePqMkLI46/u1ms6RyKiapM/EJ1YlNPJLStjUSoJsShCEUayGIk3Vry99nenyO0/8QuVBFEi4e0OQTCZbCSOHj1aVlbm9O7Sl94lHQf4hZA//OnytGc2TXtm0we13N3ZeqimRiJqTI0k/5SbFzlUPe5KkvZZApkIO5OKxJEjR6ZPnz516lSnCr/4P78nNz5yLClg7iUiqkY0NRKJRBN9lu7NRni4K4mtvvNKfZ+4YgoxmUdCz8PcuXNdIvHU4nLStIk0bVr83NYlz25d8mz5kmf1ha2Ln9265Lmti/Xl57YueXarbWveWcLorbYb5Iiq8VcSY4M0ImHsx3qSAWEhw0gYeZg3b55LJB6bv5N884ZefrpwxyfXxp3K/17woW1r/oVTYsUEenhmG+DGIqRkEgk6D+6R+Kcn9pCLq8jFVf/yVMXuS/HdF+O7Lw3vvqT/1yjxf3mygre1ayT43w65fGWU3u21+QqRCCmZRKKsrGwqRWlpqVPNgv9ZRc7/+qHHq8rr+8rr+7ae7Cs/2Vde31d+sm9rfV/5yb7yk30P/a9Kh63dI8Hca5iruSsJSfcsQV164YYinGT3Ud3f/mTfjMc+WV/dub66c32sY311x/pY5/rqjvWxDn3NjMf2ebIjALwi60+vpz1ywKV4tRcAvEKIYX8AiAMiAQADIgEAAyIBAAMiAQADIgEAAyIBAEMgIxGdnef3IQBpEToSx98sNAohZM2ce+zF72MEsiFuJKp+dT/9suWLQ2vm3DMyWNt6csNbCx/RFxAJ4DmCRuL42sJ465Z465beRrW1oaz52LKeppNr5tzTenLDhT8URWfn6QuIBPAc3yLhbqgeXpsX7z1Fl+WP/3jNnHveWvhIdHaeXt5a+MiaOffw7iuM0bARVUtTTwUggT+RSGmoHn4tL966jy5jg03GhVN0dp7LhRPl3mlaIhK0nopR38ANHyKRjqH66Wt58eZtRqlaOsOlWDe2eKIWPRWBAK7kOhJpGqpVS6fHG1W9VC2dEW/ewi2tDWWcSOhoyUullHoqABQ5jUT6hurOX90fbyyLN5ZVLZ2hL9iLUx40VU1cNulZcNRTYyruJYCNnEYifUO1fPFfxxuWVS2dEW8o4ha384N5Ax2NERc9FecLwEHQL2Hf+ek9VUtnxBuWcYtrHgCYFIJGghBSHv0bl+L30QFpETcSAPgCIgEAAyIBAAMiAQADIgEAAyIBAAMiAQBDKCLx0sPfm2wTqX9HPPFUfCKPxLM64grDuTJEzkgcXTOz7pX/YZR3n/w+/fLompluG9MjZ+mV7pHIpAcGKxJhmbVMzkjUvTxdO1p+4/PtNz7ffu4Pb5a/OJd+WffydOdNHXpSqkhkNBuFsa9szGWRjbyF4swjZySO/vpHNz7fPnz7s67zH1+u2Vz+4lz65dFf/8hpQ2bSFcsbiEQ45qEJXiTcDVWdz1760Y3Pt3ed/7jr/MeXD23RI2G8/Owlp0hYEsFOfceOMKfXWedpoaZ9iTLj1An7Qu+19tp0Nd7U9PwtLEdF5y15oKk2jKrWgfScGW1kz0TAIpHSUNU5+O/Tzv3hzcs1my8f2vLnbWuWP/5j+uXBf5/msF0s6jjxl9Ev+JOmMp6SahP63CJhfZuY1aiuS93hcNrnCLRm3twObIIfMwzXTkGKRDqGKiHkpYe/9+6T3y9/ca5elj/+Y70Ya9598vsO30FRkbD809PdmDdpqrXPm+9PJhLMSvOI7O1zOmosqkQiEfaOmLuhRSZx/Zgul5bSEJhIpGmo6uz9xQP0/fTyx39Mv9z7iwcctksvEu6338wXVsnaVrMvg0gk2+W27xwJ5m99yg1TfUxEQhTSN1R1di+5z+X2eveS+xy2o/+96SsK6nLcYdJUs/9SnUljfikn2b/NqxPmcp/3va/lmsbaidn2LQJtop555ZR6w9QfE/cSopC+oaqzc8G9LrfXOxfc67ShdZpf46ohRnUF3qSpVFehN1M5FzvmPaztUsh+e63a76757dsEWmvj0VjKDSf0MaUlGJGYKDvm3UvfT5e/OJd+uWOeYyREun30o/uleBwnzv+cLCJnJOqL87bN+6FR3n3y+/TL+mLXHx7nXsX4QG4iYb1WdN4lnl5LhAdjnHwgV2cJ3gVSmAlFJABIH0QCAAZEAgAGRAIABkQCAAZEgmH/uge5xe/jArkDkWD4Y9nM4ZExS/lq//M+pSIUj8ZEA5FgqHw9zx6Jb46svJg6FTyxYbI4R4IZ9A28BJFgqCidNTQ8ppc/X+ua9sym/6sebj71zjdHVn61/5e7185y2M5hkNxkwVnCB+SPRH19/Z07d9Ks/FFx/sDQ6MDQ6GB81IjEQHx0MD46EB/dWZLP3yxbD5oRCR+QPxIff/xxRUVFZ2dnOpU/WFPQPzjaPzjaN2hGon9gtH9gtH9wdNuaAoftuON/nE1RJ4fTWpMnixLLW/YNLQdDORveX9pJSCgi0d7e/t57712/fj1l5fdfK+jtH+3tH+m9Y0ai985Ib/9oz53R918rdNyS1UI5qxi3k+NwOligVlk0idmIfUN64KIpBXHaBxxCEQlCSGdnp6qq33zzjXvlzav+rrNvpOv2SGffsBGJztsjXX3DXX0jm1b+nfvm7FyqDqaok8Npt0C5sijbmPOGNnWJUw1wCEskCCG3bt1avXp1d3e3S+X1K/6+rWe4rWe4rdeMRFvvcHvvcFvv8LsrHkpjh0YSHExR7g0C1wK1y6Im9OWQfcNkFPjeHm5R3AhLJLq6utI5S/z25Ydudsf/fK3r37bV/9u2ej0SN7uGb3bHb3XF337ZIRJWGY/6iRiOuMr7esrRAmVlUROOPM3sT1MjkWjUyKRTNWAjFJHo6OhI816i7Df/0NIR//O1rtlLd+l5uN4Rb+mIt3TGWzqG3/jNPzhuaf0tJ+JsinIVBa4FapNFV/O9bY4+av0dG8dqwEIoIpH+N05r//Pha23xa+3xgxeuH7xw/Vp7/Fp7vLk9fq0tfq19qOT/PTyRPWfVAcLFT7aQPxITei6x+qWHm1qHrrbGm1qHmhL/HWpqHbraOnS1dWjNS8JEAonIGvJHYkK89uI/rnhh9soXZ698cfYK6r8rX5i98oXZr734jxNpLDuRSFyhIRDZApEAgAGRAIABkQCAAZEAgAGRAIABkQCAIXiR6G2sad42pbexxu8D8ZEw/FqxbwQvEs3bpvSemta8bUqKeg4zlNCDhZgxqZw+lg13NH1s/d4c6pT1SFzZM2fjqjkb95xMvL64zlyeFCcPrZqzcdWcjavmHLrI7ksvGyocR2VeXLdx1fNn213eNVvornueOf6JELxINBRNad42JfWJgo0Ed+IR10fAmbmjHnZWl6ZyEAm283kTiZOHmCSsu5JYMFe6bLhxT8XZDQ6RuLiOk6X2iopARCLN4RXKczWFK/fOKDowrfjQX71ZP+Wd09/Z+KXyXA0xLpyOTWve4nqicIgE3Z3cIpFhr0MknGmvqOCdBNKIhE6LQyRazm5IpMu6u0BEIs1BeN+bs5Jb9Hcbiqb0HvtBo5pJJGgLM9VZwtLtuAKncVUWUTW7ymkXSmNRJRpLrqaNIlsft/d7y0Retus6TY1E1Jgx9tt+OGYFyw6t/yfcItFeUcFc/Jw8xFzPnDy0at0VTjV7TWNfk4tEe0XFnpPG1VdFXQu9Pp12LfgQiTS1z7/duMSp6NdOjarrtZPbbIdmFbdbCZs7aplxLhGC5F4061U+VyiNRY026fY58qd7JBSOwqqpkUgkmmJi1UQF+2eh9+QSiSt1yb/07RUVq9Zd0S/ck+921z2vd0p7teSy9RKfvpcwOzQHh0hcXMdPXYAiQdLTPr9T9OiympX28p2iR3sbaxrKprTW/KCxzPlEwTtLWFycdIaTsu6obcJF9m3rZRkLOx01W5kTgJRnCdsbllzZ/xTw3TrOZViaZ4mNib6ePDNYeqS1WgL93tfo/byzhHEXTh+GcySorm9kMmCRIGlon98petSpEEIaiqa01vygoWhikSATuHCiMTtNYsk+Eah9Nl9+69mIBPUzBBHbmYHekN2O/1kIIS6RoP/km0kgV/bMqahrSVmNwuzfHlw4UbcoQY1ESu2zbuk/uRf92qlhmeO1k8WsZH8whjPduRW+O2qockZC1BhTw/KFlv07K68iwVNYHa7auIG1fxYaSyTMXkv9Se6ue34jfUW0Yd0ho8tyqzF91LtIkJazG5IttFdUBPHCKR3t88gv87/Z/pJTOfLL/N7GmlPLprTu+6tTy6wnCptQYLtOT/Yh9tLGlg6OO5pczUxibb2DNV9xhNIJRcJy1cWeJewKK9MGzyy17cRpdjojEtYHFKTl7Abjur+C/vN/ZU8a1YynB07PJTjnE6Y1c1vmMQXvQitAkUjnG6fY3Pu/WvevevmSXfhy3b/G5t5PCHGKRLaRSWhz+izWC6cgEpRIpPlcYt9PvquXT37y3X2PJstPvrvv0cQaQsipZVP0kqVD5SPTWArnz2I7OQSMcD299g/rt0tBRqbP4jGIBAAMiAQADIgEAAyIBAAMQkfiXM0LtZunHtr0QM3GBw6uf6D6d/cdeOe+/W/f+8lb956recHvowNyInQkajdPvTvec3fk5vjQ1+N9p8e6Do237h67/vvR5rdqN0/1++iAnAgdCeYs8e791b+779N37t3/9r2fvPXDcJ8lZHo4IhxCR+Lq9a7lG2uu3uq/PTB8e2B4ZGTk9kD86q3+5Rtrrl7v8vPIeD9vn9vdu+7d58MLNuJG4kRD01s7T3zbMdh5e6h/MN4/GB8aHu4fHO64PfRtx+BbO0+caGjK7RGJ87dZnCOREEEHdBBCth84U3H4UkvnYHd/fCg+PBQfHh8bGYoPd/fFr3cOVhy+tP3AmSwdpAPidERxjkRCBB32Rwgpef+z/z7X8m3HYMft+J3B+B3zLBG/1jF4o+NOyfufOW9tMTxT6Z3WMaTc6Unpgaf03FkpxVHe/KXuzTMD8tj55iKq5iSaMh+fGRpuHaxL+6iARVzR9D/W7eu4Ha+uPTflwfkbyqu7e/qnPDh/aHjMWFPveOHEzr+TXOOmd6aOhGU9HQl3cdRpNDh7xHYplBoJHo1YZr9zEE2Zz5u0v111U2BHXNH050W7u/qHpzw4v6ejZ8qD8/uHxoz/6muOneUNrSfcEc+pLIVJRcK1Zaf5S+1tW80Nwx6NqlpCjk460g6iKXdFCt0UWBFXNPUvEvbf5rBvOJFIpOV325VofUlTo0YYYqbMxxVN7Z83Dd0UWBBUNCWE/Me6fa09gxvKq/XLpJ6B0SkPzu8dGDXWpHfhpF84pHTZqBg4mWZWiTRNcTSNn0hzmm5Un+M3uZ9IxGjdQTS1t5iObgpYBBVNCSEl73925GxjZ99wV/9wV/9Isgx39Q939g3f6Ohxu702rxbSNZ6pLVSnLkNJpOlHgqubOh4uO90ok23q3OUgmpphdp3vFJFwRdxvnLYfOFNTV/ftrauXr9260Nx5obnzfFP3+abOS9dutdxqqqmry/mXsAFCJhk214j7XOJEQ9OW3YfG+r4Y7LnQ23mpt/NSd0djb9elwd4LY31fbNl9KMuP6qz3xd51sey1TO0BicgUcZ9eE0JONDS9vH5/0eYDq7fsX71l/+otn6zesr9o84GX1+/P+aPrgID5TieN0JEAIPcgEgAwIBIAMCASADAIHQmIpiD3CB0JiKYg9wgdieCLpmk+IMBzBIEQOhLiiqbpkmkkYIr6h7iREE80zQCcJYKHuAM6xBNNMwCRCB7iDvsTTDR1qmMMNeVe57AjUi1bMENYHbU4mKI5BqJp2qIprw6lUOgzmtqPJBpj7ww45qdrJGCK5hiIpmmLptw6KeZp0CUg9n1np5R/wDBFcwtE07RFU5c6mtNFTCISzM45TqlzJGCK5hyIpumLppw6thlN7ZvoPykQsepuTI6cIwFTNOdANJ24aMrUsc5oymLuN3kLw3VKqQDAFPUbcb9xCrdoiq9lfUPc5xIBFE29M0iRCP8Q9+k1CadoClPUb4SOBAC5B5EAgAGRAIABkQCAQehIQDQFuUfoSEA0BblH6EiIJZrimXE4EDoSYommjCKRZjiMh3e2+tyRgvBLBUDcSAgnmqZ1lrAMoKJmT2H6v6ZGIhGM8BYScQd0CCeaTjQSVr/COvAQgzbERNxhf2KIpuywpcRqujPTO4oxSijb5Zkxt45TdsEv9R+Ipi6iqWVOLXsk7Duy93zLG+Zq90jAL/ULiKbOoqmlHXtn5uyIaoh3luDOAMk/TvilPgHR1Fk0nXwkrDGzjh63fRUFv9R/IJq6iKZ0O9SvzvAvnPQd0X2Z/cbJ1pvdzhLwS/0DoqmraEprnjHeXYB1R/Ssp5x3aaj7BvilAiHuN06hFE3xxaz/iPtcwm/R1A+QCAEQ9+k1CZVoCr9UGISOBAC5B5EAgAGRAIABkQCAQehIQDQFuUfoSEA0BblH6Ej4LZriMUEYEToSfoummUYCvmiQETcSAoimOEuEEXEHdAggmiISYUTcYX8CiKZOQmnyZzo4o8CNyvBFgwpEU3fR1G1suTnrlvXGAb5ogIFo6jKjKT1fFleFo+PlsDv4okEDoqnLjKYuQqmxuWsk4IsGEIim7qIp55c4YlFThkvcljglEL5oAIFo6iKa8q9/7F52Yhm+qBSI+41TkEVTfHsbYMR9LhFg0RSJCDLiPr0mQRRN4YsGH6EjAUDuQSQAYEAkAGBAJABgEDoSEE1B7hE6EhBNQe4ROhJ+i6YegkcVgUHoSPgtmlJM1h2FsxoYxI2EAKKph6ORcJYIDOIO6BBANEUkwoi4w/78Fk0thihr2Lk0xdk7YSMBZ1VoIJq6iKbcyRZTNcUfiA5nNTBANHURTZ0i4doU30qFsxoYIJq6iKaZRsJlYjo4q8ID0dRFNKW7YdqR4FupcFYDA0RTtxlNqelJ048Ex0qFsxogxP3GKciiqYfg29tcI+5ziQCLph6CROQccZ9ekyCKph4CZ9UnhI4EALkHkQCAAZEAgAGRAIBB6EhANAW5R+hIQDQFuUfoSEgkmoLAIHQkBBJN7UABlRRxIyGAaArCiLgDOgQQTUEYEXfYn6eiKbEIovwrHkeRiLsRFFA5kVU05aqetBTKCwUvEpQzoWkOkYACKhOSiqYuqichjp4B9yyhnwE41aGAyklIRFMy8UhQnh2hTTZbg1BA5UJ60dSuehLnDsvRTTVVjfG3gQIqJ9KLptxfUnLssA7zmlJXRFBAZUfcb5yEF00hvMmJuM8lsi+aWm/DJ9bBkQhJEffpNRFWNIUCKjVCRwKA3INIAMCASADAgEgAwCB0JCCagtwjdCQgmoLcI3QkJiGaUj9wDMBEEDoSmYumOX6OBulUIsSNxGRE00mPMHL4lXwQAsQd0DEZ0RSRABkj7rC/jEVTauhSNGYVPu0Cqn0lrY2qrEIK6VR+pBRN2cmFTOHTfa5ReqXzTEWQTmVHRtHUoRfzBVS+leo64xakU6mRUTS1niVsk5LS8L+bcr2XgHQqNVKKpg6RcBRQ7Svprm0uQzoNA3KKpg6R4Aqo/JX0oz52XlNIp5Ij7jdOwoumNFDs5EHc5xJBmtEUiZAIcZ9eE2FFUxpIp9IhdCQAyD2IBAAMiAQADIgEAAxCRwKiKcg9QkcCoinIPUJHAqIpyD1CRyIwoqmOJ7qppRFzzAihV/GcDfiu3iBuJEIvmuozian2QVpJMyOKs2A2EHdAB0RTzt6tU4chE94j7rC/QImmRjuW8bCse8SM/dB7t7lrSnSi+zkbCfZNxzHq3D3Cd00PiKaeiKaEbt9ejWOfJvqsXcpwi4R9qLtTJOC7ZgxE08mIppY7XdqtY08kdvvU1p85FpK9WkZnCfiuEwKiqSeiKa8toxrXPuXJTWlFwvGcQdhMwnfNEIimnoimRvt6BNhqXPvUEizzKFwjYfnGyXoQ8F09AKLpJERTK0ZPtFTj2af6kam2u2ues2q9S7bfkMN39Q5xv3EKlGiqM6EHhNnoobD7PEDc5xJBEk11JtYhsxAJJMILxH16TQIhmupkopt6Ggn4rt4hdCQAyD2IBAAMiAQADIgEAAxCRwKiKcg9QkcCoinIPUJHYhKiqTuT+QIUX/5LjtCRyFw0TUH2IwHnM7CIG4nJiKapwFkCOCLugI7JiKapQCSAI+IO+8tYNE302uRoVHoAK6UC8SRPZyuVN1KVq4+yx+BUDc6nwEgpmuq/bWHTOVNKnlYrleqwPJ+Bp4/SxwDnM5BIKZpydWp62UHytFipTCfnudocfZR3DHA+A4WUoulEI5HsoW5Wqi0SfH3UdgxwPoOGlKJpOpHgSZ7OVipldbrKnPZjgPMZNKQUTdM7S9glT871lF1LdZU54XwGH3G/cQqgaEqD72qDirjPJYInmtIgEYFF3KfXJECiKQ2cz4AjdCQAyD2IBAAMiAQADIgEAAyIBAAMiAQADFJGwv5QAI+LQboIHYnjbxYaZSLb0UPu+ENfAXBC3EhU/ep+l5eu4CwBMkfQSBxfWxhv3RJv3dLbqLY2lDUfW9a478Xjawvp4rw1IgEyx7dIHD16tKyszOndw2vz4r2nXMrhtXnObdNTn9CzYNmnDwXAij+ROHLkyPTp06dOdfx5ssOv5cVb97mU8sU/cG6eGwmeWQqADR8ioedh7ty5LpH49LW8ePM2o1QtneFSbFs7nSU4NQCwkOtIGHmYN2+eSySqlk6PN6p6qVo6I968hVtaG8oyigROE8CRnEaCzoN7JHb+6v54Y1m8saxq6Qx9wV4c8kAcL5w404cCYCWnkSgrK5tKUVpa6lSzfPFfxxuWVS2dEW8o4hbnPBDHswRn+lAArAj6Jew7P72naumMeMMybnHNAwCTQtBIEELKo3/jUvw+OiAt4kYCAF9AJABgQCQAYEAkAGCQJBJj43ePXOjacPBaSeUVlGyXDQevHbnQNTZ+1+9/9qwgSSQ+Pdtefa7zevdoX5wcc+ZgTU1r152+OEGZTLnePVp9rvPTs+1+/7NnBUkisW7f1a6B8a5B0jlAjh07NjY6OjY2Oj4+Nj4+dvfu+N2742Njo3fvjp8+ffrAp5/e7I53DhCUjEvXIOkaGF+376rf/+xZQZJIlFReuR0nHXdIxx1y9OjR0dEReyru3h2vr68fHBys2vvHW72jeuWQFa2kMFJywYOmbsdJSaXTZAbBRp5I9A6Rtn7S1k+OHDkyMjLMTUVtbW1NTU1NTU1tba1eOdflvJqvRIrP+7HrftLWrxUXuu497cPrHUIkxKak8kr3ILnVR271kcOHD48Mx+v+0nj6UtOZS81nLjWfvth05lLz6UtNfzr39c0bN5qbmmpra/XKOSna6sLI6i9ytrtcHEn3ICIhNiWVV7oHyI3b5MZtUltbOxwfOnbmq7GxsbGxsZGRkZ6TH4yMjIyNjR0785V+uqipqdEr56RoRYWRoi9ytrtcHEn3ACIhNiWVVzrvkJYe0tJDampq4kODB4//JR6PDw0NddSsaz/xQc8X++Px+MHjfzEioVe2ldjTyeGys0q1lp7Y00p0x57EENqn95CW5PKsUq2lh7ScU2cVqMcT22pFBZGic5YGtaKCZItLYokGEztybZlzMLwDPqfOStZ5eg9p6SE7liQWWnpiTyvJ40kcp36EZrPJmvTH1w+P07LeyI7SiKJEK+4gEmJTUnml/Q5p7iHNPaS6unpocLCy9kRfX19vb29b9dr2DY90dnZ2d3dX1p7Q7yuqq6v1ymyJzVeU+Xusa5QlseYe0nxOzWOWox/oCwVqXaKy9mpB5NVz9mbp9bH5+oYpWzZrurRMPihN7t3YcE/UaGp+QSSvVGvuIXWl+oL2aoGiGM2a+6I/b2INp+Vzal5BZH6p1txD2hEJwSmpvNLWTx4rqaJLe3v7+5WHtm95+4MPP4rVnX734+ptfzw0PjY6Pj524MCBq13EWnZHlcUxdmVsnhItTyxrqwoiq86yy2fVvAL1KKcCXej1RoOpWt5NTbqtKIqi5K3VOMd8Vs2jpkulWz66NrrqbGxegXq0i5Qv1tu3HmH5YmXebofPa2/5rJqXfLetH5EQm5LKK7f6yJR/XkGX69ev1/zp9Otb975e/sfPTpzZ8HH1po/2jY2Njo2NfvLJJ1onsZaKqLIoxq6MzVWi7yeWtRUFkRWn2eXT6swC9bBZ2ahAF3pDo8FULXMOxlZOqzPNRswG31+kzK3QVixSD3eS9xdFVpyOzU0cJL0j/aUyt4L3ebktUx/2Vh8iITYllVdu3CZft5OFu56hy56aEx8eOKaX1tbWDTv26l/OVlVVfd1ObCX2M0X52a7E8ivF2tftsZ8p0fcS72qv5Ede+dyyHPuZkly5K6oYy0zRXsk3m002mE7LxlbkvUVGZarsiiqLYvpybXFEMRrcFVXyIzP1t3ZFZ+ZHZhZrxpEYm3y9K2pu0s4eHrflz9WZ+WptO/m6ndy4jUiITUnlleu95HIbUUoeo8v67ZVm2VFVvHGb/siisrLychvhlFPqzOSlwn+1kcttsacSC+Rym7Y8P7L8lHX5UHFyxtKFKlWBKYk6C0PZ2L0AAAxUSURBVGNUg6lbpg5GmVms8Q5YW55vVFCpBmNPKcpTu4xltvFiU7hN1N8VVRJ1jKPitXxKnZmvHmojl9vI9V5EQmxKKq9820NO/udD9jI4cGdoYGBocDA+NDQcj48Mx0dGhrdu3fpVK0GxldiTSnRzGjW/7UEkxKak8kpzN6me/8NLbz1Gl+r5Pxy408+mYmhkOK6q6oWbJDsl9gR7W/zER+K3nCwfRZUFsXRqNncjEmJTUnmlqZtUPzbFXu7099tTUVpaev4mQTHLR4mJWDemV78JkRCc3x5obmwd+/ImabhBlqVHww2Ckln58iZpbB377YFmv//Zs4IkkTh4rmPfmS6tfbypm6Bku2jt4/vOdFX/Bb6EwAyPjh84075u31XfjbMwlHX7rh440z48Ou73P3tWkCQSEE0nVOQ2RSeJJJGAaApT1CskiQREU5iiXiFJJEpkE01ji5RohWfVwmWKThJ5IhEM0TTdEluoRHdlUA2m6KSRJxICi6YZlNgCJbrTs2rhMkUniUSREFc0zaDEFijRDz2rFi5TdJLIEwlRRVOnOoaAytvEFD61ogJF0Te3m5+0FwpT1CPkiYS4oimvTl1pJNFUj1bHMUh14VN7tUDRTVG++cnIqDBFvUGeSIgrmnLr6BqnuZ7Y9hvJK2DlUmenFKaoh8gTCXFFU5c6p9WZikX1NKvNLFDM4+E7pfThwRT1BnkiIbBoyqlTW6y+l9Q4kxYoR/isLY4outvJd0rpw4Mp6g3yRCIAoilTJ/aUxfZkirlffdundnGd0mQ1mKLeIU8kIJrCFPUEeSIRZNHUO4MUpuikkScSYRdNYYp6hCSRgGgKU9QrJIkERFOYol4hSSQgmk6oyG2KThJJIgHRNJ0CvzQdJIkERFP4pV4hSSQgmsIv9QpJIlEismh6QS0oVD/3X16FX5oW8kRCXNH0vJpfqJ6aiAXa1h9bmHhqZ6t/Xs1XlIV77Svhl3qDPJEQVzT9Qs0vVE+mqEbPNaqtLlQWVJJbfeRWZVRhVFJtdWEk33gXfmkWkCgSwoqmX6izCtX6FNWouUaZ+lpRobKgMlGt/vXIrNe1D5eYa+CXeo48kRBMNDXbUZSkKcp4ofSOYsysp3uiypKYcUjHSyOWfVFzlsIv9R55IiGSaMq088ESRUnUYaYzZXdkSqrJ2UcTb1GTkSYqfLDEsi38Ui+RJxICiaaWdsw6ydY4O6IaZ989ujaSt1bT/+swDSn8Ui+RJxICiaaWdsw6ydY4O6Iar4gqZpv6+thcxcrMEg1+aTaQJxIiiaZ0O9or+UpCFmWmM7XsiJ71lFreFU1ua5b3FpkzncIv9Rx5IiGWaGq2E1m+y9A7qdasO6JnPeW8S5f/WpicrRR+aRaQJxLhFk3hl3qGPJEQRjT1o8Av9Q55IhFS0RR+qddIEgmIpvBLvUKSSEA0hV/qFZJEAqJpOgV+aTpIEolQiabwRbOKJJEIlWgKXzSrSBKJUImm8EWziiSRKBFLNM18olH4or4jTyREEk3TnI+Up6TCF/UbeSIhkmia+USj8EV9R6JICCSaZj7RKHxR35EnEiKJpk5CqaaLo4ZHSi/DFxUEeSIhmGhqn3HUZooy28IXFQV5IiGQaEoLpSxJWVRbVZC0QOGLCoY8kRBINHUTSo3NFcU6GSl8USGQJxKCiaZ2oZS8tyjRVMIUpaRQ+KLiIE8kRBJNuUKpMrNY0zXRhE1qLMMXFQl5IiGFaApf1H/kiYQMoil8UQGQJxLBFk3hiwqDJJEIlWgKXzSrSBKJUImm8EWziiSRCJVoCl80q0gSiVCJph4WOKt2JIlEqERTOKtZRZJIhEo0hbOaVSSJRIlYoimc1QAjTyREEk0zcUfhrAqCPJEQSTSlpyeFsxowJIqEQKIpNT0pnNWgIU8khBFNNWZ6UtMdTdUUz0qFs5p75ImESKKp6ZRaZjF1a4pvpcJZzTXyREIk0ZSuabSQqim+lQpnNdfIEwmRRFO6ptFCqqb4Viqc1VwjTyREEk3p6Ulp6TRlU3YrFc5qrpEnEiKJpvT0pEYLqZuyW6lwVnOPPJGQQjSFs+o/8kRCBtEUzqoAyBOJYIumcFaFQZJIhEo0hbOaVSSJRKhEUzirWUWSSIRKNPWwwFm1I0kk5BNNoYD6hSSRkE80hQLqF5JEQj7RFAqoX0gSiRIZRVMooL4gTyQEFU2hgAYNeSIhkmgKBTTASBQJgURTKKABRp5IZEc0tQqilBRKFf68poZxqr+EAhoM5ImER6IpV/WkpVDDIKUKTzetK40kturR6s5BAQ0M8kTCG9HURfW0CqJU4eqmut5procCGgzkiUR2RFMXQZQqfN00+ZaizK2AAhoY5ImE16KpXfW0CKKWDa26aW2x+l5S75xZrEEBDQryRMJr0ZSnejKCKFMc5jWlnFUooAFBnkgERzSFAio08kQih6Jp7An2LvyJj6CAyoM8kQiAaAoFNAhIEgn5RFMooH4hSSTkE02hgPqFJJGQTzSFAuoXkkRCPtGULpBOc4kkkZBPNIV06heSREI+0RTSqV9IEokSz0RTraRQURRl0V7/RVNIp74gTyS8EU33RpWfxyCdhhl5IuGJaHqyLJJfpk3CDqXnMvVwXlNIp7lDokh4IZrWvx6Z9bo2CTuUnsvUw3lNIZ3mDnkiMXnRdMcS0+bZQQmfO/gCqn0lPZepys5rCuk0MMgTCS9EU1JXGskr1ZpZ4TPVXKNOc5may5BOA4Q8kfBANO0iR9dGEjOFUsInX0DlW6m8qUq7IJ0GCXki4YFo2kkOl0RmlmhWd5QroPKtVN5UpZ2QToOEPJHwQjSlpFBK+HQWUO0r6blMzWVIpwFCnkh4IpoeKo4k/FJK+HQQUPkrqblMLfOaQjoNBvJEIjiiKaRToZEnEoGc0RTSqXjIE4kAiKaQToOAJJGQTzSFdOoXkkRCPtEU0qlfSBIJ+URTukA6zSWSREJu0VSQEhLfVZJIyC2aClJC4rtKEgm5RVNBSkh8V0kiUSK7aCpICYPvKk8kAimaTlA3nUAje6OKtc3YwsSQEdu+4LtSyBMJuUXTiZTYAkVRfq6ye9dWFyoLKsmtPnKrMqoo0Z3wXR2QKBJSi6aTOxJy4wt1VqFab76lLKiE78pHnkgEUzS16Ka2anb7NDFjqrnr5HrKWWUmViUtPaRlT1RZEjP2eLw0wk7NCt/VRJ5IBFM0ZXRTezWOfdqjvVqgKMauzfX08ViOhPpcvJfwXWnkiUSgRNPYvOSd7qqzlG5q91Ht9qltVtXyxcq83ayzaq+2O6osjnE+JnxXG/JEIpiiqX3SVKoa1z61NqutKNDbZBuxVKuIKuacq/Z5WeG7msgTiWCKpoxuaq3GtU/btVfyFWP917uiyfX0zKv2yVepA9sVVcyPBt/VijyRCJJoai2GbmqpxrNP9VlVi43LNqNBjrOq89Quy9EmN4HvykOeSARTNJ2YbvpVK/mqVXs5P/LyKfiu2UKeSARSNJ2gbnrhJrlwU/tNfuQ39fBds4U8kQiYaJqRbnr+JjmfjAR81ywhSSTkFk0FKSHxXSWJhNyiqSAlJL6rJJGQWzQVpITEd5UkEmETTUPifPqCJJEIm2gaEufTFySJRNhE05A4n74gSSRKPBNN3YtWUhgpuZCZpRlbpEQr4HwKjzyR8EY0TVG04sKMjdDYQiW6yzvpNAzOpy/IEwlPRNOJeKQZ+J8Z6p2hdT59QaJIeCGaTszenFiJLVCiH3qnkobB+fQFeSIxedE04VvuiZqaZXI5qWU6SJ7OVqpiyp+uMiecT2GQJxJeiKax+YqSUD3PqXnMsqvkabVSlfl7km3uiSo2EZSnj8L5FAV5IuGFaEq7mlxl1EHytFiplNJJbeIqc8L5FAZ5IuGFaEq7mlxl1EHydLNSjU1cZU44n8IgTyS8EE1pV5MWNY1lB8nT2UqlrE5XmRPOpzDIEwkvRFPDt0z6nKcsyw6Sp8VKNX1RRTHXu8qccD6FQZ5IBFk0hfMpEPJEIsCiKZxPkZAnEoEUTeF8iockkQibaBoS59MXJIlE2ETTkDifviBJJMImmobE+fQFSSIBgFf4Fonn3pxOl2zvDoA08ScSlgwgEkAcchSJ81XL9UJ4AfAoErGoEo0xC1lAUyMRVROhEZAdchGJhsrl9Mu0I2HrOCl60oQjEYsqE87OhHqzpkYUXm1EQmCYSPh9MACIxf8Ha+bgxQy7VRUAAAAASUVORK5CYII=" /><br />
<br />
<b>Step 4:</b><br />
Copy the codes below by which to create <span style="color: #38761d;"><b>FreeTTS.java</b></span>, and configure it on your own.<br />
<br />
<pre class="brush: java">import com.sun.speech.freetts.Voice;
import com.sun.speech.freetts.VoiceManager;
public class FreeTTS {
private static final String VOICENAME_kevin = "kevin";
private String text; // string to speech
public FreeTTS(String text) {
this.text = text;
}
public void speak() {
Voice voice;
VoiceManager voiceManager = VoiceManager.getInstance();
voice = voiceManager.getVoice(VOICENAME_kevin);
voice.allocate();
voice.speak(text);
}
public static void main(String[] args) {
String text = "FreeTTS was written by the Sun Microsystems Laboratories "
+ "Speech Team and is based on CMU's Flite engine.";
FreeTTS freeTTS = new FreeTTS(text);
freeTTS.speak();
}
}
</pre>
<br />
<br />
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com7tag:blogger.com,1999:blog-5567997506903791991.post-83179711532649170022013-02-14T13:00:00.002+08:002013-02-14T19:10:40.138+08:00JMenuBar: a Tutorial<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<a href="http://www.blogger.com/blogger.g?blogID=5567997506903791991" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img alt="" border="0" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAb4AAAEsCAIAAAAzQUH2AAAgAElEQVR4nNTceZAc130n+Pp375gjZjd2vVfMhHdjZPEQV5Ro0+LsTkg0SRFoECIkU5ZlHURYtiX5oCWDtEiKBAgCI4kiIMkxpAQJANFA393Vdd9nVlVWZlZl5VWZlZVVed9nHQ2SoHb/yOoGCFK07PFuxL74RMer19mZWeysb//eywQjr/zk58+e/N6f/vm37rjzzl/trtCdd9515113L9x99113f+RdPvKRu/+J3PWRj9y+87s/ctfdd99199133n33zXN4P3e8rztv98E7+ft3/u69ffjAHXd/+I679t39/u78ld57nrfv//81v3XH/y/cdasP3erD/wh3fui3bvdv/7/yoQ+HFidzy/t69yXxqy7pu+6+466PHLjzro/cefc/0h2/yl3/YB++6+6Fg+vqzrvf9cv68F0f+vCd/zb0a/63+vBNH3qvd18Gv/UP8aF/oN+6467f//LXvvbU337nzPnIM8+fuuOOO++4886LFy+9/faNd3v7Zv/Gwo0b7yy8c+CX4dd33nnnxjvvvPPOL/8+YfuV373xvhbHvXHjxs2T+RXeCd34YIszv+l9z+fd27z/Wb396/rl2zd+eevIW+/z3X+wtxbe+UC/fI933np74c33c/3td66/Fbpx/a0b19+8cf3NG3u/0tu3moeu3+qt/xSzvdCbv7aD7d+a7YU7eXt+/e296wcnuXhH7/b2B9hbdN73B38Nb73Lm+/19o2D38hbN6+N9/ulv/PLm9fMO6H3v+TeunHjvd55552vPvnkjX/q9uMf/+Sfdod/941/+pP8R7fPP/jvb7zzzs8vXv7wnXf91h13ffFrfx75jd/4jUuXLs3ne47nGYZlGJaum5puqKq+oBmabuqGpZu2YbuW6zvexPWnXjD1JjN/Ovene/5sL5jtBfO9YL7oTPZN53uz0N6+217um4bme9P53nS2N5ntTWbzyWwezGb+dOYFE9cPbM+3XN90XMN2dGufuc9ydcvVLc+wfdPxLSew3MDyAsub2O7E9iZ22HEnjjd1/ZkbzLzJ3J/uBbPrk9D8zcn8zem+yez6JHxrs71gNvenM286cyfv4kzmzmTuBHMnmNvB3A7mlr9g+nPTm5veQWfP8PYMb254M8ObGe5Md2e6O9fdueHNDW/P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" style="cursor: move;" /></a><a href="http://www.blogger.com/blogger.g?blogID=5567997506903791991" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a><a href="http://www.blogger.com/blogger.g?blogID=5567997506903791991" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"></a>It's easy to use JMenuBar in your JFrame. These are the simple steps to use JMenubar:<br />
<br />
<b>1. Copy the<span style="color: #3d85c6;"> setMenuBar()</span> method below </b><br />
<br />
<b>2. Paste the method in your class that extends JFrame</b><br />
<br />
<b>3. Configure the method on your own</b><br />
<br />
4. <b>Add a line "<span style="color: #b45f06;">setMenuBar()</span>;" at the bottom of the constructor of your JFrame class</b><br />
<br />
<br />
<br />
The following is an example of using JMenuBar. Just copy the setMenuBar() method and configure it on your own.<br />
<br />
<pre class="brush: java">import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
public class MyJFrame extends JFrame {
private JPanel contentPane;
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MyJFrame frame = new MyJFrame();
frame.setTitle("JmenuBar example");
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the frame.
*/
public MyJFrame() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);
setMenuBar(); //set JMenubar
}
private void setMenuBar(){
JMenuBar menuBar = new JMenuBar();
menuBar.setBackground(Color.lightGray);
//////////////////// File
JMenu fileMenu = new JMenu("File");
JMenuItem openMenuItem = new JMenuItem("Open File");
openMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
});
fileMenu.add(openMenuItem);
JMenuItem saverf5xAndMenuItem = new JMenuItem("Save");
fileMenu.add(saverf5xAndMenuItem);
JMenuItem exitMenuItem = new JMenuItem("Exit");
exitMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
});
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
////////////////////Edit
JMenu editMenu = new JMenu("Edit");
JMenuItem copyMenuItem = new JMenuItem("ergedgvdfergv");
copyMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
editMenu.add(copyMenuItem);
JMenuItem copyOriginalrf5xMenuItem = new JMenuItem("SFdfsrfs");
copyOriginalrf5xMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
editMenu.add(copyOriginalrf5xMenuItem);
JMenuItem clearMenuItem = new JMenuItem("sferfgedrg");
clearMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
editMenu.add(clearMenuItem);
JMenuItem clearrf5xMenuItem = new JMenuItem("egdfgvd");
clearrf5xMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
editMenu.add(clearrf5xMenuItem);
JMenuItem clearBothMenuItem = new JMenuItem("rthfghrth");
clearBothMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
});
editMenu.add(clearBothMenuItem);
menuBar.add(editMenu);
////////////////////Help
JMenu helpMenu = new JMenu("Help");
JMenuItem aboutrf5xMenuItem = new JMenuItem("About");
aboutrf5xMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
}
});
helpMenu.add(aboutrf5xMenuItem);
menuBar.add(helpMenu);
this.setJMenuBar(menuBar);
}
}</pre>
<br />
<br />
<br />
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0tag:blogger.com,1999:blog-5567997506903791991.post-82327767198572946982013-02-12T02:54:00.002+08:002013-04-10T22:56:51.769+08:00Tutorial on Jazzy Spell Checker<div class="separator" style="clear: both; text-align: center;"><a href="http://www.blogger.com/blogger.g?blogID=5567997506903791991" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div><div class="separator" style="clear: both; text-align: center;"><a href="http://www.blogger.com/blogger.g?blogID=5567997506903791991" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a></div><br />
<span style="font-family: arial; font-size: large;">Jazzy is a useful Java Open Source Spell Checker. This post is a tutorial on how to use it:</span><br />
<span style="font-family: arial; font-size: small;"><br />
</span> <span style="font-family: arial; font-size: small;">1.Download </span><span style="font-size: small;">jazzy-core-0.5.2.jar from</span><br />
<span style="font-size: small;"> <a href="http://repo1.maven.org/maven2/net/sf/jazzy/jazzy-core/0.5.2/jazzy-core-0.5.2.jar">http://repo1.maven.org/maven2/net/sf/jazzy/jazzy-core/0.5.2/jazzy-core-0.5.2.jar</a></span> and add it as a library to your project.<br />
<br />
<br />
2. Create a folder with a dictionary.txt text file. The text file contains a list of English words, such as <a href="http://www.cs.princeton.edu/introcs/data/words.utf-8.txt">http://www.cs.princeton.edu/introcs/data/words.utf-8.txt</a> or any other good word lists.<br />
<br />
<br />
<a href="http://www.blogger.com/blogger.g?blogID=5567997506903791991" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="http://www.blogger.com/blogger.g?blogID=5567997506903791991" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
3. Copy the codes below with which to create JazzySpellChecker.java in a package in the project. Configure it on your own, and use the spell checker to tackle spelling errors.<br />
<br />
<pre class="brush: java">package test;
package test;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import com.swabunga.spell.engine.SpellDictionaryHashMap;
import com.swabunga.spell.engine.Word;
import com.swabunga.spell.event.SpellCheckEvent;
import com.swabunga.spell.event.SpellCheckListener;
import com.swabunga.spell.event.SpellChecker;
import com.swabunga.spell.event.StringWordTokenizer;
import com.swabunga.spell.event.TeXWordFinder;
public class JazzySpellChecker implements SpellCheckListener {
private SpellChecker spellChecker;
private List<String> misspelledWords;
/**
* get a list of misspelled words from the text
* @param text
*/
public List<String> getMisspelledWords(String text) {
StringWordTokenizer texTok = new StringWordTokenizer(text,
new TeXWordFinder());
spellChecker.checkSpelling(texTok);
return misspelledWords;
}
private static SpellDictionaryHashMap dictionaryHashMap;
static{
File dict = new File("dictionary/dictionary.txt");
try {
dictionaryHashMap = new SpellDictionaryHashMap(dict);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void initialize(){
spellChecker = new SpellChecker(dictionaryHashMap);
spellChecker.addSpellCheckListener(this);
}
public JazzySpellChecker() {
misspelledWords = new ArrayList<String>();
initialize();
}
/**
* correct the misspelled words in the input string and return the result
*/
public String getCorrectedLine(String line){
List<String> misSpelledWords = getMisspelledWords(line);
for (String misSpelledWord : misSpelledWords){
List<String> suggestions = getSuggestions(misSpelledWord);
if (suggestions.size() == 0)
continue;
String bestSuggestion = suggestions.get(0);
line = line.replace(misSpelledWord, bestSuggestion);
}
return line;
}
public String getCorrectedText(String line){
StringBuilder builder = new StringBuilder();
String[] tempWords = line.split(" ");
for (String tempWord : tempWords){
if (!spellChecker.isCorrect(tempWord)){
List<Word> suggestions = spellChecker.getSuggestions(tempWord, 0);
if (suggestions.size() > 0){
builder.append(spellChecker.getSuggestions(tempWord, 0).get(0).toString());
}
else
builder.append(tempWord);
}
else {
builder.append(tempWord);
}
builder.append(" ");
}
return builder.toString().trim();
}
public List<String> getSuggestions(String misspelledWord){
@SuppressWarnings("unchecked")
List<Word> su99esti0ns = spellChecker.getSuggestions(misspelledWord, 0);
List<String> suggestions = new ArrayList<String>();
for (Word suggestion : su99esti0ns){
suggestions.add(suggestion.getWord());
}
return suggestions;
}
@Override
public void spellingError(SpellCheckEvent event) {
event.ignoreWord(true);
misspelledWords.add(event.getInvalidWord());
}
public static void main(String[] args) {
JazzySpellChecker jazzySpellChecker = new JazzySpellChecker();
String line = jazzySpellChecker.getCorrectedLine("This is a boook");
System.out.println(line);
}
}
</pre><br />
PS: <br />
1.The "string ... string" above is caused by a bug of the syntax highlighter and can be ignored.<br />
2. I found a bug and corrected the code on April 10th.<br />
Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com19tag:blogger.com,1999:blog-5567997506903791991.post-75429126225815953792012-12-16T00:34:00.004+08:002012-12-29T10:50:02.007+08:00An effective solution to "java.sql.SQLException: [SQLITE_BUSY] The database file is locked (database is locked)"Similar to links like:<br />
<br />
<a href="http://stackoverflow.com/questions/7930139/android-database-locked">http://stackoverflow.com/questions/7930139/android-database-locked</a><br />
<a href="http://stackoverflow.com/questions/13891006/getting-sqlite-busy-database-file-is-locked-with-select-statements">http://stackoverflow.com/questions/13891006/getting-sqlite-busy-database-file-is-locked-with-select-statements</a><br />
<br />
The sqlite database is sometimes locked very long when trying to insert, delete or update data with a java program. I had read the posts above but found no definite and clear solution in these answers. I had also tried the proposed solution shown in the video <a href="https://www.youtube.com/watch?v=o7dn0cLvb5o">https://www.youtube.com/watch?v=o7dn0cLvb5o</a> about "the database is locked problem" in vain.<br />
<br />
<br />
But finally, I figured out a simple and effective way to circumvent this problem so that I can continue my coding. The solution is as follows:<br />
<br />
<br />
<b>1.Backup the database folder where the locked sqlite db is located.</b><br />
<br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
<b> 2. Use <span style="color: blue;">Unlocker </span>to delete the locked .db file </b><br />
<br />
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<br />
Unlocker can be downloaded from <br />
<a href="http://www.emptyloop.com/unlocker/Unlocker1.9.1-x64.exe">http://www.emptyloop.com/unlocker/Unlocker1.9.1-x64.exe</a><br />
in the webpage<br />
<a href="http://www.emptyloop.com/unlocker/">http://www.emptyloop.com/unlocker/</a><br />
<br />
<b>3.Copy the backup </b><b><b>.db </b>file back to the directory of the deleted locked sqlite .db. </b><br />
<br />
<br />
<br />
These three simple steps can effectively solve the problem of "<span style="color: #e69138;">java.sql.SQLException: [SQLITE_BUSY] The database file is locked (database is locked).</span>" Try it to evade this problem if baffled by it for quite a long time.<br />
<br />
<br />Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com1tag:blogger.com,1999:blog-5567997506903791991.post-11301420708207652752012-11-24T15:40:00.001+08:002012-12-15T10:26:07.519+08:00Way to solve "could not create audio stream from input stream"<br />
Similar to this link,<br />
<br />
<a href="http://www.javaprogrammingforums.com/whats-wrong-my-code/9116-could-not-create-audio-stream-input-stream.html">http://www.javaprogrammingforums.com/whats-wrong-my-code/9116-could-not-create-audio-stream-input-stream.html</a><br />
<br />
I was also once confronted with the problem of "could not create audio stream from input stream" <br />
<b>"Exception in thread "main" java.io.IOException: could not create audio stream from input stream"</b><br />
when trying to use TTS api of some website and playing the recorded .wav file. <br />
<br />
After searching on the Internet for quite much time, I ultimately found out the way to solve this problem, which is as follows:<br />
<br />
1.Download<span style="color: #0b5394;"> <span style="color: #674ea7;">jl1.0.jar, jmf.jar</span></span>, and <span style="color: #674ea7;">mp3plugin.jar</span>.<br />
<br />
2.Copy the jar files to a folder like lib inside the java project.<br />
<br />
3.Go to Configure Build Path→Libraries→Add <u>J</u>ars to add these jars.<br />
<br />
<br />
With these steps, the problem is solved. <br />
<br />
<br />
The reason behind this IOException is probably related to the file format. A .wav file may be encoded with an mp3 codec. Tomhttp://www.blogger.com/profile/17797460307331045438noreply@blogger.com0