把關(guān)鍵幾個地方改一下就可以了,比如聲明與初始化,其他是一樣的,而且java是純面向?qū)ο蟮模允窃谝粋€類中進(jìn)行的,因此要把代碼放到一個類中,例如:
成都創(chuàng)新互聯(lián)公司是一家專注于成都網(wǎng)站建設(shè)、成都網(wǎng)站制作與策劃設(shè)計,喀喇沁網(wǎng)站建設(shè)哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:喀喇沁等地區(qū)??咦鼍W(wǎng)站價格咨詢:18980820575
public class Test
{
public static void main(String[] args)
{
long base64Decode(char * in){...}
}
}
當(dāng)然數(shù)據(jù)類型也是不一樣的,要改,例如,因為java基本數(shù)據(jù)類型中沒有unsigned long(無unsigned關(guān)鍵詞)
只要改掉這些,就沒有什么問題了,具體的改代碼的活自己來吧~
思路靜態(tài)可以用路徑直接表示,動態(tài)可以把路徑放到數(shù)據(jù)庫中,也可以用數(shù)據(jù)流來實現(xiàn)
Abstract 抽象的
一個Java語言中的關(guān)鍵字,用在類的聲明中來指明一個類是不能被實例化的,但是可以被其它類繼承。一個抽象類可以使用抽象方法,抽象方法不需要實現(xiàn),但是需要在子類中被實現(xiàn)
break
一個Java的關(guān)鍵字,用來改變程序執(zhí)行流程,立刻從當(dāng)前語句的下一句開始執(zhí)行從。如果后面跟有一個標(biāo)簽,則從標(biāo)簽對應(yīng)的地方開始執(zhí)行
case
Java語言的關(guān)鍵字,用來定義一組分支選擇,如果某個值和switch中給出的值一樣,就會從該分支開始執(zhí)行。
catch
Java的一個關(guān)鍵字,用來聲明當(dāng)try語句塊中發(fā)生運行時錯誤或非運行時異常時運行的一個塊。
char
Java語言的一個關(guān)鍵字,用來定義一個字符類型
continue
一個Java的關(guān)鍵字,用來打斷當(dāng)前循環(huán)過程,從當(dāng)前循環(huán)的最后重新開始執(zhí)行,如果后面跟有一個標(biāo)簽,則從標(biāo)簽對應(yīng)的地方開始執(zhí)行。
do
一個Java語言的關(guān)鍵字,用來聲明一個循環(huán),這個循環(huán)的結(jié)束條件可以通過while關(guān)鍵字設(shè)置
double
一個Java語言的關(guān)鍵字,用來定義一個double類型的變量
else
一個Java語言的關(guān)鍵字,如果if語句的條件不滿足就會執(zhí)行該語句。
final
一個Java語言的關(guān)鍵字。你只能定義一個實體一次,以后不能改變它或繼承它。更嚴(yán)格的講:一個final修飾的類不能被子類化,一個final修飾的方法不能被重寫,一個final修飾的變量不能改變其初始值。
finally
一個Java語言的關(guān)鍵字,用來執(zhí)行一段代碼不管在前面定義的try語句中是否有異?;蜻\行時錯誤發(fā)生。
float
一個Java語言的關(guān)鍵字,用來定義一個浮點數(shù)變量
for
一個Java語言的關(guān)鍵字,用來聲明一個循環(huán)。程序員可以指定要循環(huán)的語句,推出條件和初始化變量。
if
Java編程語言的一個關(guān)鍵字,用來生成一個條件測試,如果條件為真,就執(zhí)行if下的語句。
implements
Java(TM)編程語言的一個關(guān)鍵字,在類的聲明中是可選的,用來指明當(dāng)前類實現(xiàn)的接口。
import
Java(TM)編程語言的一個關(guān)鍵字,在源文件的開始部分指明后面將要引用的一個類或整個包,這樣就不必在使用的時候加上包的名字。
instanceof
一個二操作數(shù)的Java(TM)語言關(guān)鍵字,用來測試第一個參數(shù)的運行時類型是否和第二個參數(shù)兼容。
int
Java(TM)的一個關(guān)鍵字,用來定義一個整形變量
Java(TM)的一個關(guān)鍵字,用來定義一系列的方法和常量。它可以被類實現(xiàn),通過implements關(guān)鍵字。
long
Java語言的一個關(guān)鍵字,用來定義一個long類型的變量。
private
Java語言的一個關(guān)鍵字,用在方法或變量的聲中。它表示這個方法或變量只能被這個類的其它元素所訪問。
protected
Java語言的一個關(guān)鍵字,在方法和變量的聲明中使用,它表示這個方法或變量只能被同一個類中的,子類中的或者同一個包中的類中的元素所訪問。
public
Java語言的一個關(guān)鍵字,在方法和變量的聲明中使用,它表示這個方法或變量能夠被其它類中的元素訪問。
return
Java語言的一個關(guān)鍵字,用來結(jié)束一個方法的執(zhí)行。它后面可以跟一個方法聲明中要求的值。
short
Java語言的關(guān)鍵字,用來定義一個short類型的變量。
static
Java語言的關(guān)鍵字,用來定義一個變量為類變量。類只維護(hù)一個類變量的拷貝,不管該類當(dāng)前有多少個實例。"static" 同樣能夠用來定義一個方法為類方法。類方法通過類名調(diào)用而不是特定的實例,并且只能操作類變量。
this
Java語言的關(guān)鍵字,用來代表它出現(xiàn)的類的一個實例。this可以用來訪問類變量和類方法。
throw
Java語言的關(guān)鍵字,允許用戶拋出一個exception對象或者任何實現(xiàn)throwable的對象
throws
Java語言的關(guān)鍵字,用在方法的聲明中來說明哪些異常這個方法是不處理的,而是提交到程序的更高一層。
transient
Java語言的關(guān)鍵字,用來表示一個域不是該對象串行化的一部分。當(dāng)一個對象被串行化的時候,transient型變量的值不包括在串行化的表示中,然而非transient型的變量是被包括進(jìn)去的。
try
Java語言的關(guān)鍵字,用來定義一個可能拋出異常語句塊。如果一個異常被拋出,一個可選的catch語句塊會處理try語句塊中拋出的異常。同時,一個finally語句塊會被執(zhí)行,無論一個異常是否被拋出。
void
Java語言的關(guān)鍵字,用在Java語言的方法聲明中說明這個方法沒有任何返回值。"void"也可以用來表示一句沒有任何功能的語句。
volatile
Java語言的關(guān)鍵字,用在變量的聲明中表示這個變量是被同時運行的幾個線程異步修改的。
while
Java語言的一個關(guān)鍵字,用來定義一段反復(fù)執(zhí)行的循環(huán)語句。循環(huán)的退出條件是while語句的一部分。
關(guān)于break和continue。
continue語句與break語句相關(guān),但較少用到。continue語句用于使其所在的for、while或do-while語句開始下一次循環(huán)。在while與do-while語句中,continue語句的執(zhí)行意味著立即執(zhí)行測試部分;在for循環(huán)語句中,continue語句的執(zhí)行則意味著使控制傳遞到增量部分。
不知道問題理解的對不對,我手頭也沒有編譯運行環(huán)境,只能把想法說一下
保存 關(guān)鍵字和DB字段的關(guān)系(可以不用hard coding)
比如
Map keyOutput = new HashMap();
keyOutput.put("關(guān)鍵詞1", "輸出方法1");
keyOutput.put("關(guān)鍵詞2", "輸出方法2");
keyOutput.put("關(guān)鍵詞3", "輸出方法3");
。。。
關(guān)鍵字拼sql(部分代碼)
Set keyset = keyOutput.keyset();
for (String key : keyset) {
if (wtext.getderived_keyword().equals(key)) {
strSQL += "AND keyword='" +?keyOutput.get(key) +? "'";
}
}
//直接粘貼就行。
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.border.EtchedBorder;
import javax.swing.filechooser.FileFilter;
public class Application2 extends JFrame implements Cloneable{
public Application2(){
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setSize(800,700);
this.setLayout(new BorderLayout());
keyWords1=new String[]{"那么","還是","sdf"};
keyWords2=new String[]{"所以","而且",};
input=new JTextArea();
JPanel ip=new JPanel();
ip.setLayout(new BorderLayout());
ip.add(input,BorderLayout.CENTER);
ip.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "輸入文本"));
output1=new JTextArea();
JPanel o1p=new JPanel();
o1p.setLayout(new BorderLayout());
o1p.add(output1,BorderLayout.CENTER);
o1p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "以下為"));
output2=new JTextArea();
JPanel o2p=new JPanel();
o2p.setLayout(new BorderLayout());
o2p.add(output2,BorderLayout.CENTER);
o2p.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(EtchedBorder.LOWERED), "以下為"));
JSplitPane split1=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT,o1p,o2p);
split1.setDividerLocation(350);
JSplitPane split2=new JSplitPane(JSplitPane.VERTICAL_SPLIT,ip,split1);
split2.setDividerLocation(300);
this.add(split2,BorderLayout.CENTER);
open=new JButton("導(dǎo)入");
open.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser(".");
chooser.setMultiSelectionEnabled(false);
chooser.addChoosableFileFilter(new FileFilter(){
@Override
public boolean accept(File file) {
if(file.isDirectory())
return true;
int length=file.getName().length();
if(length5)
return false;
if(file.getName().substring(length-4).equals(".txt"))
return true;
return false;
}
@Override
public String getDescription() {
return "文本文件";
}
});
chooser.showOpenDialog(Application2.this);
File file=chooser.getSelectedFile();
if(file==null)
return;
try {
Scanner sc=new Scanner(file);
String text="";
while(sc.hasNextLine())
text+=sc.nextLine()+"\n";
input.setText(text);
String[] array=getSentences();
output1.setText(getKeySentences(keyWords1,array));
output2.setText(getKeySentences(keyWords2,array));
}catch (IOException e1) {
e1.printStackTrace();
}
}
});
save=new JButton("導(dǎo)出");
save.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JFileChooser chooser=new JFileChooser(".");
chooser.setMultiSelectionEnabled(false);
chooser.addChoosableFileFilter(new FileFilter(){
@Override
public boolean accept(File file) {
if(file.isDirectory())
return true;
int length=file.getName().length();
if(length5)
return false;
if(file.getName().substring(length-4).equals(".txt"))
return true;
return false;
}
@Override
public String getDescription() {
return "文本文件";
}
});
chooser.showSaveDialog(Application2.this);
File file=chooser.getSelectedFile();
if(file==null)
return;
try {
PrintWriter pw=new PrintWriter(file);
pw.print(output1.getText());
pw.flush();
pw.print(output2.getText());
pw.flush();
}catch (IOException e1) {
e1.printStackTrace();
}
}
});
JPanel buttonPane=new JPanel();
buttonPane.add(open);
buttonPane.add(save);
this.add(buttonPane,BorderLayout.SOUTH);
}
public String[] getSentences(){
ArrayListString set=new ArrayListString();
int length=input.getText().length();
for(int i=0,last=0;ilength;i++){
String s=String.valueOf(input.getText().charAt(i));
if(s.equals("\n"))
last=i+1;
if(s.equals(".")||s.equals(",")||s.equals("。")||s.equals("。")||s.equals("!")||s.equals("?")||s.equals("?")||s.equals("!")||s.equals(",")){
set.add(input.getText().substring(last,i)+s);
last=i+1;
}
}
return set.StringtoArray(new String[set.size()]);
}
public String getKeySentences(String[] key,String[] sentences){
String result="";
A: for(int i=0;isentences.length;i++){
for (int k = 0; k key.length; k++)
if (sentences[i].contains(key[k].subSequence(0, key[k].length()))) {
result += sentences[i] + "\n";
continue A;
}
}
return result;
}
private JTextArea input;
private JTextArea output1;
private JTextArea output2;
private JButton open;
private JButton save;
private String[] keyWords1;
private String[] keyWords2;
public static void main(String... args){
EventQueue.invokeLater(new Runnable(){
public void run(){
new Application2().setVisible(true);
}
});
}
}