java編寫應用程序
『壹』 編寫一個java應用程序,
import java.util.regex.*;import java.util.*;public class Patterner{ public static void main(String[] args) { //返回一段文本中所有單詞,並排序。
String regex="\\w+";
String eg="What is your name?"; //此處添加要提取單詞的文本,也可以從文件中取得。看你自己想法。
Pattern pattern = Pattern.compile(regex);
Matcher matcher=pattern.matcher(eg);
List<String> list = new ArrayList<String>();
String str;
while(matcher.find()){
str=matcher.group();
list.add(str);
}
Collections.sort(list);
int i=0;
for(Iterator<String> it=list.iterator();it.hasNext();){
System.out.print(it.next()+",");
if(++i%9==0)
System.out.println();
}
}}
今天研究了下正則表達式,看到你的題目發現用正則表達式真的非常簡單。以上提供參考代碼思路:首先:用一個字元串變數存儲文本內容然後:利用正則表達式找出所有的單詞,這里沒有包括標點符號。你可以自行更改以包括任何想要的符號接著:把找到的單詞存入一個List中,這是為了後面的排序。發現用Arrays.sort()為字元串數組排序還出現異常。所以使用List最後:用Collections.sort();方法為list排序,輸出排序後的數組。
『貳』 編寫JAVA應用程序
public static void main(String[] args) {
String s1 = "Hello Chain.";
String s2 = "HelloBeijing.";
String s3 = s1.concat(s2);
System.out.println("s1:" + s1);
StringBuffer sb1 = new StringBuffer("您好,中國.");
StringBuffer sb2 = new StringBuffer("您好,北京.");
StringBuffer sb3 = sb1.append(sb2);
System.out.println("sb1:" + sb1);
}
s1的值不變,sb1的值改變
『叄』 用java編寫的應用程序
建議看如下文章專:屬
http://blog.sina.com.cn/s/blog_53fd7f360100agab.html
『肆』 用JAVA編寫一個小應用程序
|單人版五子棋,自己寫的。
------------------------------------------
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class mypanel extends Panel implements MouseListener
{
int chess[][] = new int[11][11];
boolean Is_Black_True;
mypanel()
{
Is_Black_True = true;
for(int i = 0;i < 11;i++)
{
for(int j = 0;j < 11;j++)
{
chess[i][j] = 0;
}
}
addMouseListener(this);
setBackground(Color.BLUE);
setBounds(0, 0, 360, 360);
setVisible(true);
}
public void mousePressed(MouseEvent e)
{
int x = e.getX();
int y = e.getY();
if(x < 25 || x > 330 + 25 ||y < 25 || y > 330+25)
{
return;
}
if(chess[x/30-1][y/30-1] != 0)
{
return;
}
if(Is_Black_True == true)
{
chess[x/30-1][y/30-1] = 1;
Is_Black_True = false;
repaint();
Justisewiner();
return;
}
if(Is_Black_True == false)
{
chess[x/30-1][y/30-1] = 2;
Is_Black_True = true;
repaint();
Justisewiner();
return;
}
}
void Drawline(Graphics g)
{
for(int i = 30;i <= 330;i += 30)
{
for(int j = 30;j <= 330; j+= 30)
{
g.setColor(Color.WHITE);
g.drawLine(i, j, i, 330);
}
}
for(int j = 30;j <= 330;j += 30)
{
g.setColor(Color.WHITE);
g.drawLine(30, j, 330, j);
}
}
void Drawchess(Graphics g)
{
for(int i = 0;i < 11;i++)
{
for(int j = 0;j < 11;j++)
{
if(chess[i][j] == 1)
{
g.setColor(Color.BLACK);
g.fillOval((i + 1) * 30 - 8, (j + 1) * 30 - 8, 16, 16);
}
if(chess[i][j] == 2)
{
g.setColor(Color.WHITE);
g.fillOval((i + 1) * 30 - 8, (j + 1) * 30 - 8, 16, 16);
}
}
}
}
void Justisewiner()
{
int black_count = 0;
int white_count = 0;
int i = 0;
for(i = 0;i < 11;i++)//橫向判斷
{
for(int j = 0;j < 11;j++)
{
if(chess[i][j] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋勝利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[i][j] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋勝利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}
for(i = 0;i < 11;i++)//豎向判斷
{
for(int j = 0;j < 11;j++)
{
if(chess[j][i] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋勝利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[j][i] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋勝利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}
for(i = 0;i < 7;i++)//左向右斜判斷
{
for(int j = 0;j < 7;j++)
{
for(int k = 0;k < 5;k++)
{
if(chess[i + k][j + k] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋勝利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[i + k][j + k] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋勝利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}
}
for(i = 4;i < 11;i++)//右向左斜判斷
{
for(int j = 6;j >= 0;j--)
{
for(int k = 0;k < 5;k++)
{
if(chess[i - k][j + k] == 1)
{
black_count++;
if(black_count == 5)
{
JOptionPane.showMessageDialog(this, "黑棋勝利");
Clear_Chess();
return;
}
}
else
{
black_count = 0;
}
if(chess[i - k][j + k] == 2)
{
white_count++;
if(white_count == 5)
{
JOptionPane.showMessageDialog(this, "白棋勝利");
Clear_Chess();
return;
}
}
else
{
white_count = 0;
}
}
}
}
}
void Clear_Chess()
{
for(int i=0;i<11;i++)
{
for(int j=0;j<11;j++)
{
chess[i][j]=0;
}
}
repaint();
}
public void paint(Graphics g)
{
Drawline(g);
Drawchess(g);
}
public void mouseExited(MouseEvent e){}
public void mouseEntered(MouseEvent e){}
public void mouseReleased(MouseEvent e){}
public void mouseClicked(MouseEvent e){}
}
class myframe extends Frame implements WindowListener
{
mypanel panel;
myframe()
{
setLayout(null);
panel = new mypanel();
add(panel);
panel.setBounds(0,23, 360, 360);
setTitle("單人版五子棋");
setBounds(200, 200, 360, 383);
setVisible(true);
addWindowListener(this);
}
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
public void windowDeactivated(WindowEvent e){}
public void windowActivated(WindowEvent e){}
public void windowOpened(WindowEvent e){}
public void windowClosed(WindowEvent e){}
public void windowIconified(WindowEvent e){}
public void windowDeiconified(WindowEvent e){}
}
public class mywindow
{
public static void main(String argc [])
{
myframe f = new myframe();
}
}
『伍』 用java可以編寫,類似於.exe文件的應用程序嗎
1.exe文件的應用程序不是編寫出來而是編譯出來的,我們只能編寫源文件,然後用相應的編譯的工具把我們的源文件編譯成如exe、class等文件。
2.SUN公司提供的JDK不能把java文件編譯成exe文件,只能編譯成class文件,但是它提供的了一個jar工具,可以把文件打成jar包。如果計算機上安裝了JDK,雙擊*.jar文件,一個名為javaw的程序可以運行它(安裝JDK時會自動把jar文件關聯到javaw)。更詳細的內容LZ可以自己上網搜一下。
3.有第三方的工具可以把java文件編譯為exe文件,但是這將使java失去跨平台性,在Win32下生成的exe只能在Win32環境下執行,而無法在Unix、Macintosh下執行。如果LZ需要的話可以上網搜一下。
4.一般建議的運行方式是寫批處理(.bat文件,Unix下為shell文件)來運行.class文件,或者打成jar包由javaw來運行。當然這要求客戶端一定要安裝JDK。