| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 35509 人关注过本帖, 4 人收藏
标题:[公告]java起步篇
取消只看楼主 加入收藏
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 

//-------------------------------------------- import java.applet.Applet; import java.awt.*; import java.awt.event.*; public class Ex6 extends Applet implements ActionListener { Label prompt=new Label("Please input your number:"); TextField input=new TextField(6); Button sortbtn=new Button("Sort"); int[] DataArray=new int[10]; int DataInputed=0; int[][] SortPro=new int[11][10]; public void init() { add(prompt); add(input); add(sortbtn); input.addActionListener(this); sortbtn.addActionListener(this); } public void paint(Graphics g) { for(int i=0;i<SortPro.length;i++) for(int j=0;j<SortPro[i].length;j++) g.drawString(Integer.toString(SortPro[i][j]),10+30*j,40+20*i); } public void actionPerformed(ActionEvent e) { if(e.getSource()==input) { DataArray[DataInputed++]=Integer.parseInt(input.getText()); if(DataInputed<10) { prompt.setText("Had entered"+DataInputed+"number,please continue.."); input.setText(""); } else { prompt.setText("Had entered ten number"); input.setVisible(false); } } if(e.getSource()==sortbtn) { for(int i=0;i<DataArray.length;i++) SortPro[0][i]=DataArray[i]; SortProcedure(); repaint(); } } void SortProcedure() { int pass,i,temp,exchangeCnt; for(pass=0;pass<DataArray.length;pass++) { exchangeCnt=0; for(i=0;i<DataArray.length-pass-1;i++) { if(DataArray[i]>DataArray[i+1]) { temp=DataArray[i]; DataArray[i]=DataArray[i+1]; DataArray[i+1]=temp; exchangeCnt++; } } for(i=0;i<DataArray.length;i++) SortPro[pass+1][i]=DataArray[i]; if(exchangeCnt==0) return; } } }

//--------------------------------------------


〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-19 19:44
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 

//这是个获取当前时间的例子 //-------------------------------------------- import java.util.*; import java.text.*;

public class NowString { public static void main(String[] args) { Date now = new Date(); DateFormat df = DateFormat.getDateInstance(); String s = df.format(now); System.out.println("Today is " + s); } } //--------------------------------------------


〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-24 10:20
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
JAVA正则表达式4种常用功能 正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了对它的支持 下面简单的说下它的4种常用功能: 查询: String str="abc efg ABC"; String regEx="a|f"; //表示a或f Pattern p=Pattern.compile(regEx); Matcher m=p.matcher(str); boolean rs=m.find(); 如果str中有regEx,那么rs为true,否则为flase。如果想在查找时忽略大小写,则可以写成Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE); 提取: String regEx=".+\\\\(.+)$"; String str="c:\\dir1\\dir2\\name.txt"; Pattern p=Pattern.compile(regEx); Matcher m=p.matcher(str); boolean rs=m.find(); for(int i=1;i<=m.groupCount();i++){ System.out.println(m.group(i)); } 以上的执行结果为name.txt,提取的字符串储存在m.group(i)中,其中i最大值为m.groupCount(); 分割: String regEx="::"; Pattern p=Pattern.compile(regEx); String[] r=p.split("xd::abc::cde"); 执行后,r就是{"xd","abc","cde"},其实分割时还有跟简单的方法: String str="xd::abc::cde"; String[] r=str.split("::"); 替换(删除): String regEx="a+"; //表示一个或多个a Pattern p=Pattern.compile(regEx); Matcher m=p.matcher("aaabbced a ccdeaa"); String s=m.replaceAll("A"); 结果为"Abbced A ccdeA" 如果写成空串,既可达到删除的功能,比如: String s=m.replaceAll(""); 结果为"bbced ccde" 附: \d 等于 [0-9] 数字 \D 等于 [^0-9] 非数字 \s 等于 [ \t\n\x0B\f\r] 空白字元 \S 等于 [^ \t\n\x0B\f\r] 非空白字元 \w 等于 [a-zA-Z_0-9] 数字或是英文字 \W 等于 [^a-zA-Z_0-9] 非数字与英文字 ^ 表示每行的开头 $ 表示每行的结尾

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-24 21:41
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
下面介绍JAVA的输入 java与C和C++相比而言,JAVA的输入就挺复杂的了。好吧我们一步一步的深入研究吧。这篇文章将讨论输入char, int, double 和String类型(String不是JAVA内置的类型)。JAVA中的IO有一整个包。我前一周搞输入搞得晕死了,看JAVA的API看的我眼冒金星,嘎嘎。 先从最简单的char输入开始吧。对于每一个java程序,编译器会自动加载java.lang。这个包中包含了一个键盘输入流System.in(1),我们使用read()方法可以从键盘上读入一个char。代码如下 char input=(char)System.in.read(); 这个方法的返回的是一个和char相对于的int所以要强制转化为char.。之所以要返回int是因为输入流的结尾是用-1表示的,而char无法表示-1。不过用这个输入在实践中有很多毛病,不提倡使用。好的下面我们使用java.io中的类来进行输入。 我问用到InputStreamReader类。前面我提到了System,in是一个键盘输入流(说明看我的注解)我们使用这个构造方法 InputStreamReader(InputStream in),代码如下 InputStreamReader input = new InputStreamReader(System.in) char inputC= (char)input.read(); (1)in public static final InputStream in The "standard" input stream. This stream is already open and ready to supply input data. Typically this stream corresponds to keyboard input or another input source specified by the host environment or user. 以上是在java.lang 下System类中 in的说明 String的输入: 上一次的文章中所用的InputStreamReader类,一次只能从输入流一个char如果有很多的字符一起输入不是要读入N次。这里我们要用到缓存(Buffer)好的,输入String我们要使用两个类一个是上面用过的InputStreamReader类用来读输入流,还要一个是新的类BufferedReader类。我们用这个构造方法BufferedReader(Reader in)。看看怎么输入一个String吧 BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in)); input=stdin.readLine(); 其中readLine()方法就是读入一行,并返回String 现在我们只要能能把String转化为int和double 就可以了 在类int ,double 下有这两个方法parseInt(String s) ,和parseDouble(String s) 使用这两个方法就可以实现int 和double的输入了。 上面是对输入时所使用的IO包的基本介绍,在实际中直接使用上面的语句,是无法编译和运行的,因为有异常的存在。(Exception)的存在。异常是一种runtime errors(不懂怎么翻译成中文)比如int a= b/h; 当 h==0时,就是runtime error 。java 中有一个类就是 Exception,用来处理异常的。程序要么在存在可能的异常的情况下运行,用throws 要么用try… catch…来捕捉异常。 好了,回到我们的输入上来吧,因为在输入可能没有准备好,比如无法找到键盘。 。所以程序必须使用throws或 try …catch…去捕捉异常,并做出处理方法。 下面是完整的Input输入类的源码 import java.io.*; class Input{//class to input public static String getString(){//use static make a class method to read a Sring from kedboard String input=""; BufferedReader stdin =new BufferedReader(new InputStreamReader(System.in)); try{ input=stdin.readLine(); } catch(IOException iox) { System.err.println(iox); } return input; } public static char getChar()throws java.io.IOException{//class method to read a char from keyboard char data; while(true){ String input=getString();//get a line input if (input.length()>1) { //catch the too much of the input System.err.println("You must enter a single character"); System.err.println("Please enter again"); continue; } else { data=input.charAt(0) ; return data; } } } public static double getDouble( ) throws java.io.IOException { double data; String input = getString(); while(true) { try{ data=Double.parseDouble(input); return data; } catch(NumberFormatException nfe){//catch the no-number char exception System.err.println("Not a double number please Enter again"); continue; } } } public static int getInt( ) throws java.io.IOException { int data; String input = getString(); while(true) { try{ data=Integer.parseInt(input); return data; } catch(NumberFormatException nfe){//catch the no-number char exception System.err.println("Not a integer number please Enter again"); continue; } } }

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-25 09:26
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
//-------java小程序(11) //树形目录的应用 import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.*;public class JtreeDemo extends JApplet { /** Initialization method that will be called after the applet is loaded * into the browser. */ JTree tree; JTextField jtf; public void init() { // TODO start asynchronous download of heavy resources Container cp=getContentPane(); cp.setLayout(new BorderLayout()); DefaultMutableTreeNode top=new DefaultMutableTreeNode("Top"); DefaultMutableTreeNode a=new DefaultMutableTreeNode("A"); DefaultMutableTreeNode a1=new DefaultMutableTreeNode("A1"); DefaultMutableTreeNode a2=new DefaultMutableTreeNode("A2"); DefaultMutableTreeNode a3=new DefaultMutableTreeNode("A3"); a.add(a1); a.add(a2); a.add(a3); DefaultMutableTreeNode b=new DefaultMutableTreeNode("B"); DefaultMutableTreeNode b1=new DefaultMutableTreeNode("B1"); DefaultMutableTreeNode b2=new DefaultMutableTreeNode("B2"); DefaultMutableTreeNode b3=new DefaultMutableTreeNode("B3"); b.add(b1); b.add(b2); b.add(b3); DefaultMutableTreeNode c=new DefaultMutableTreeNode("C"); DefaultMutableTreeNode c1=new DefaultMutableTreeNode("C1"); DefaultMutableTreeNode c11=new DefaultMutableTreeNode("C11"); DefaultMutableTreeNode c12=new DefaultMutableTreeNode("C12"); DefaultMutableTreeNode c13=new DefaultMutableTreeNode("C13"); DefaultMutableTreeNode c14=new DefaultMutableTreeNode("C14"); c1.add(c11); c1.add(c12); c1.add(c13); c1.add(c14); DefaultMutableTreeNode c2=new DefaultMutableTreeNode("C2"); DefaultMutableTreeNode c3=new DefaultMutableTreeNode("C3"); c.add(c1); c.add(c2); c.add(c3); top.add(a); top.add(b); top.add(c); tree=new JTree(top); int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED; int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED; JScrollPane jsp=new JScrollPane(tree,v,h); cp.add(jsp,BorderLayout.CENTER); jtf=new JTextField(20); cp.add(jtf,BorderLayout.SOUTH); tree.addMouseListener(new MouseAdapter(){ public void mouseClicked(MouseEvent me){ doMouseClicked(me); } }); } public void doMouseClicked(MouseEvent me) { TreePath tp=tree.getPathForLocation(me.getX(), me.getY()); if(tp!= null) jtf.setText(tp.toString()+"energy"); else jtf.setText("energy"); } // TODO overwrite start(), stop() and destroy() methods }

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-26 09:53
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
//-------java小程序(12) //JTable的应用 import java.awt.*; import javax.swing.*;public class Jtable extends JApplet { /** Initialization method that will be called after the applet is loaded * into the browser. */ public void init() { // TODO start asynchronous download of heavy resources Container cp=getContentPane(); cp.setLayout(new BorderLayout()); final String[] conHeads={"Name","Phone","Age"}; final Object[][] data={ {"java程序","879546","22"}, {"wnsaaa777","987455","23"}, {"Ttable","45454554","78"}, {"dddd","1212121","54"}, {"sssss","154855","12"}, {"ffdfs","789878","65"} }; JTable jt=new JTable(data,conHeads); int v=ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED; int h=ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED; JScrollPane jsp=new JScrollPane(jt,v,h); cp.add(jsp,BorderLayout.CENTER); } 以后的帖子不再放大字体。

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-01-26 10:01
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
//-----------Java Application启动画面的制作


  软件启动时有一个启动画面,在所有的初始化工作都完成之后,启动画面消失,继而可以开始使用。
可按以下步骤来做:
  1、新建一个启动画面Window类

  java.awt.Window windowSplash;

  2、调用prepareSplash()函数,初始化启动界面

  private void prepareSplash()
 {
    Toolkit toolkit = Toolkit.getDefaultToolkit();
    windowSplash = new Window( this );
    Image image = toolkit.getImage( "images" + File.separator + "splash.gif" );
    ImageCanvas canvas = new ImageCanvas( image );
    windowSplash.add( canvas, "Center" );
    Dimension scmSize = toolkit.getScreenSize();
    int imgWidth = image.getWidth( this );
    int imgHeight = image.getHeight( this );
    windowSplash.setLocation( scmSize.width/2 - (imgWidth/2), scmSize.height/2 - (imgHeight/2) );
   windowSplash.setSize( imgWidth, imgHeight );
  }

  3、在Application的JFrame类(主界面)中调用startSplash(),显示启动界面,然后初试化JFrame的各个可视化组件,初始化后台数据库等(如数据
库的连接)

  private void startSplash()
  {
    windowSplash.setVisible( true );
   windowSplash.toFront();
  }

  4、在所有的初始化工作完成之后,调用stopSplash()函数,停止显示启动画面

  private void stopSplash()
{
   windowSplash.dispose();
 }
 

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-02-26 15:30
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
if(created==47)
  System.out.println("Created 47");
 }
}
public class Garbage{
 public static void main(String args[]){
  while(!Chair.f){
   new Chair();   //循环执行;
   new String("To take up space"); // 此句会执行?  }
 }
}
   //result is :Created 47;
为何不会执行new String("To take up space");

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-04-08 19:04
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 

//-------------java小程序 class Tag{ Tag(int maker){ System.out.println("Tag("+maker+")"); } } class Card{ Tag t1=new Tag(1);//在构造器之前执行; Card(){ System.out.println("Card()"); t3=new Tag(4);//重新初始化t3; } Tag t2=new Tag(2);//在构造器之后执行 void f(){ System.out.println("f()"); } Tag t3=new Tag(3);//结束; } public class OrderOfInitialization{ public static void main(String [] args){ Card t=new Card(); t.f(); //显示构造器中已执行完. } }

//----------------------------------------------------- Result is: Tag(1); Tag(2); Tag(3); Card(); Tag(4); f();


〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-04-08 19:32
kingarden
Rank: 2
等 级:论坛游民
威 望:1
帖 子:517
专家分:40
注 册:2004-12-8
收藏
得分:0 
//:Detergent.java
class Cleanser{
 private String s=new String("Cleanser");
 public void append(String a){s+=a;}
 public void dilute(){append("dilute()");}
 public void apply(){append("apply()");}
 public void scrub(){append("scrub()");}
 public void print(){System.out.println(s);}
 public static void main(String[] args){
  Cleanser x=new Cleanser();
  x.dilute();
  x.apply();
  x.scrub();
  x.print();
 }                          
}
public class Detergent extends Cleanser{
 public void scrub(){
  append("Detergent.scrub()");
  super.scrub();//调用基类Cleanser
 }
 public void foam(){append("foam()");}
 public static void main(String [] args){
  Detergent x=new Detergent();
  x.dilute();
  x.apply();
  x.scrub();
  x.foam();
  x.print();
  System.out.println("Testing base class:");
  Cleanser.main(args);
 }
}
//保存为Detergent.java后,可以执行java Cleanser 或java Detergent分别可得到这两个类
// 的结果

〖ΦγЙ┅给梦一把梯子,现实与梦想之间的距离即可忽略,不可跨越的迢迢银河举步便可迈过Й┅Φ〗
2005-04-15 12:27
快速回复:[公告]java起步篇
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017524 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved