java经典程序及常见算法.docx

上传人:b****6 文档编号:7796807 上传时间:2023-01-26 格式:DOCX 页数:30 大小:24.03KB
下载 相关 举报
java经典程序及常见算法.docx_第1页
第1页 / 共30页
java经典程序及常见算法.docx_第2页
第2页 / 共30页
java经典程序及常见算法.docx_第3页
第3页 / 共30页
java经典程序及常见算法.docx_第4页
第4页 / 共30页
java经典程序及常见算法.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

java经典程序及常见算法.docx

《java经典程序及常见算法.docx》由会员分享,可在线阅读,更多相关《java经典程序及常见算法.docx(30页珍藏版)》请在冰豆网上搜索。

java经典程序及常见算法.docx

java经典程序及常见算法

if((year%4==0&&year%100!

=0)||(year%400==0))

System.out.println(year+"年是闰年。

");

else

System.out.println(year+"年不是闰年。

");

}

----

classCircle{//定义父类--园类

privatedoubleradius;//成员变量--园半径

Circle(){//构造方法

radius=0.0;

}

Circle(doubler){//构造方法

radius=r;

}

doublegetPerimeter(){//成员方法--求园周长

return2*Math.PI*radius;

}

doublegetArea(){//成员方法--求园面积

returnMath.PI*radius*radius;

}

voiddisp(){//成员方法--显示园半径、周长、面积

System.out.println("园半径="+radius);

System.out.println("园周长="+getPerimeter());

System.out.println("园面积="+getArea());

}

}

classCylinderextendsCircle{//定义子类--圆柱类

privatedoublehight;//成员变量--园柱高

Cylinder(doubler,doubleh){//构造方法

super(r);

hight=h;

}

publicdoublegetVol(){//成员方法--求园柱体积

returngetArea()*hight;

}

publicvoiddispVol(){//成员方法--显示园柱体积

System.out.println("圆柱体积="+getVol());

}

}

publicclassTestCylinder{//定义主类

publicstaticvoidmain(String[]args){//主程入口

CircleCi=newCircle(10.0);//生成园类实例

Ci.disp();//调用园类的方法

CylinderCyl=newCylinder(5.0,10.0);//生成圆柱类实例

Cyl.disp();//调用父类方法

Cyl.dispVol();//调用子类方法

}

}

------

BufferedReaderstrin=newBufferedReader(newInputStreamReader(System.in));

----------

FileInputStreamfileIn=newFileInputStream("e:

/myjava/Hello.java");

intbytes=fileIn.read(buf,0,2056);

Stringstr=newString(buf,0,bytes);

System.out.println(str);

----------------------------------------

publicclassIODemo{

publicstaticvoidmain(Stringargs[]){

intdata[]={100,101,102,103,104,105};

intt;

try

{DataOutputStreamout=newDataOutputStream(newFileOutputStream(“dest.txt”));

for(inti=0;i

out.WriteInt(data[i]);

out.close();

DataInputStreamin=newDataInputStream(newFileInputStream(“dest.txt”));

for(inti=data.length-1;i>=0;i--){

t=in.readInt(data[i]);

System.out.print(“”+t);

}

System.out.println();

in.close();

}catch(IOExceptione)

{System.out.println(e.getMessage());}

}

}

-----------------------------------------------------------

importjava.awt.Color;

importjava.awt.Graphics;

importjavax.swing.JApplet;

publicclassMoveMessageextendsJAppletimplementsRunnable{

Stringstr;

inttime;

privateThreadthread;

publicvoidinit(){

setBackground(Color.PINK);

str=getParameter("message");

StringtimeArg=getParameter("time");

time=Integer.parseInt(timeArg);;

thread=newThread(this);

}

publicvoidstart(){

thread.start();

}

publicvoidrun(){

intx=0;

Graphicsg=getGraphics();

while(true){

try{

Thread.sleep(time);

}catch(Exceptione){

e.printStackTrace();

}

g.clearRect(0,0,getWidth(),getHeight());

g.drawString(str,x,30);

x+=2;

if(x>=getWidth())

x=0;

}

}

}

-------------------------

编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。

(p202,例8-1)

//programmenameTestThread;

//声明一个子线程类Threaddemo;

classThreadDemoextendsThread{

publicThreadDemo(Stringstr){

super(str);

}

publicvoidrun(){

for(inti=0;i<20;i++){

System.out.print(“”+this.getName());

Try{

Sleep(300);

}catch(InterruptedExceptione){

System.out.println(e.getMessage());

Return;

}

}

System.out.println(“/end”);

}

}

publicclassTestThread{

publicstaticvoidmain(Stringargs[]){

ThreadDemothread1=newThreadDemo(“T1”);

ThreadDemothread2=newThreadDemo(“T2”);

ThreadDemothread3=newThreadDemo(“T3”);

thread1.start();

thread2.start();

thread3.start();

}

}

---------------

11.利用线程方法编写JApplet程序,实现在浏览器端实时动态显示本地系统时钟

//ProgrammeNameWatch.java

importjava.applet.Applet;

importjava.awt.*;

importjava.text.DateFormat;

importjava.util.*;

publicclassWatchextendsApplet{

publicvoidpaint(Graphicsg){

Dated=newDate();

DateFormatldf=DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);

//System.out.println("现在系统时间是(long):

"+ldf.format(d));

Stringtime=ldf.format(d).toString();

g.drawString(time,100,100);

try{

Thread.sleep(1000);

}catch(InterruptedExceptione){}

repaint();

}

}

JavaAppletDemo

//保存为Watch.html文件

----------

Scanners=newScanner(System.in);

   System.out.println("请输入一个字符串:

");

   Stringstr=s.nextLine();

int   n   =s.nextInt();

--

输入两个正整数m和n,求其最大公约数和最小公倍数。

   

/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。

*

importjava.util.*;

public   class    lianxi06    {

publicstaticvoidmain(String[]args){

int    a,b,m;

Scanners=newScanner(System.in);

System.out.print("键入一个整数:

");

a=s.nextInt();

System.out.print("再键入一个整数:

");

b=s.nextInt();

     deffcd=newdeff();

     m=cd.deff(a,b);

     intn=a*b/m;

     System.out.println("最大公约数:

"+m);

     System.out.println("最小公倍数:

"+n);

}

}

classdeff{

publicintdeff(intx,inty){

    intt;

    if(x

     t=x;

     x=y;

     y=t;

    }  

    while(y!

=0){

     if(x==y)returnx;

     else{

      intk=x%y;

      x=y;

      y=k;

     }

    }

    returnx;

}

}

----------------

importjava.util.*;

publicclasslianxi07{

publicstaticvoidmain(String[]args){

intdigital=0;

intcharacter=0;

intother=0;

intblank=0;

    char[]ch=null;

    Scannersc=newScanner(System.in);

    Strings=sc.nextLine();

    ch=s.toCharArray();

    for(inti=0;i

     if(ch>='0'&&ch<='9'){

      digital++;

     }elseif((ch>='a'&&ch<='z')||ch>'A'&&ch<='Z'){

      character++;

     }elseif(ch==''){

      blank++;

     }else{

      other++;

     }

     }

    System.out.println("数字个数:

"+digital);

    System.out.println("英文字母个数:

"+character);

    System.out.println("空格个数:

"+blank);

    System.out.println("其他字符个数:

"+other);

---

intcount=0;

    for(intx=1;x<5;x++){

     for(inty=1;y<5;y++){

      for(intz=1;z<5;z++){

       if(x!

=y&&y!

=z&&x!

=z){

        count++;

        System.out.println(x*100+y*10+z);

       }

      }

     }

    }

    System.out.println("共有"+count+"个三位数");

-----

   if((year%400==0)||(year%4==0&&year%100!

=0)){

       days=29;

    ---

题目:

两个乒乓球队进行比赛,各出三人。

甲队为a,b,c三人,乙队为x,y,z三人。

已抽签决定比赛名单。

有人向队员打听比赛的名单。

a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

   

publicclasslianxi18{

staticchar[]m={'a','b','c'};

staticchar[]n={'x','y','z'};

publicstaticvoidmain(String[]args){

  for(inti=0;i

   for(intj=0;j

    if(m[i]=='a'&&n[j]=='x'){

     continue;

}elseif(m[i]=='a'&&n[j]=='y'){

     continue;

    }elseif((m[i]=='c'&&n[j]=='x')

      ||(m[i]=='c'&&n[j]=='z')){

     continue;

    }elseif((m[i]=='b'&&n[j]=='z')

      ||(m[i]=='b'&&n[j]=='y')){

     continue;

    }else

     System.out.println(m[i]+"vs"+n[j]);

   }

  }

}

}

-------

后一项与前一项的联系

------publicstaticvoidmain(String[]args){

  Scanners=newScanner(System.in);

  System.out.print("请输入一个正整数:

");

  longa=s.nextLong();

  Stringss=Long.toString(a);

   char[]ch=ss.toCharArray();

   intj=ch.length;

   System.out.println(a+"是一个"+j+"位数。

");

   System.out.print("按逆序输出是:

");

   for(inti=j-1;i>=0;i--){

   System.out.print(ch[i]);

  }

  }

  }

----importjava.util.*;

publicclasslianxi25a{

publicstaticvoidmain(String[]args){

  Scanners=newScanner(System.in);

  booleanis=true;

  System.out.print("请输入一个正整数:

");

  longa=s.nextLong();

  Stringss=Long.toString(a);

  char[]ch=ss.toCharArray();

  intj=ch.length;

  for(inti=0;i

  if(ch[i]!

=ch[j-i-1]){is=false;}

  }

  if(is==true){System.out.println("这是一个回文数");}

    else{System.out.println("这不是一个回文数");}

   }

  }

----

-----------------------------------------------------------

publicclassyueli{

staticvoidreverse(int[]array,intbegin,intend)

{

inttemp;

for(inti=0;i<=(end-begin)/2;i++){

temp=array[begin+i];

array[begin+i]=array[end-i];

array[end-i]=temp;

}

}

publicstaticvoidmain(String[]args){

int[]arr=newint[]{1,2,3,4,5,6,7,8};

newyueli().reverse(arr,1,4);

for(inti=0;i

}

}

--------------------------------------

publicclassshunxun{

publicstaticvoidmain(String[]args){

String[]arr={"张三","李四","王五","赵六"};

Stringtemp="李四";

for(inti=0;i

if(temp.equals(arr[i])){

System.out.println(temp+"在arr集合中");

return;

}

}

System.out.println(temp+"不在arr集合中");

}

}

-----------------------------------------------

publicclassCalendarextendsJFrame{

privateJPanelcontentPane;

privateJTabletable;

/**

*Launchtheapplication.

*/

publicstaticvoidmain(String[]args){

EventQueue.invokeLater(newRunnable(){

publicvoidrun(){

try{

Calendarframe=newCalendar();

frame.setVisible(true);

}catch(Exceptione){

e.printStackTrace();

}

}

});

}

publicstaticString[][]setDate(){

Stringday[][]=newString[6][7];

Datedate=newDate();

//锟斤拷取锟斤拷前锟铰的碉拷一锟斤拷

date.setDate

(1);

intfirstDay=date.getDay();

//锟斤拷取锟斤拷前锟铰碉拷锟斤拷锟揭伙拷锟�

DatenewDate=newDate(date.getYear()+1900,date.getMonth()+1,0);

intlastDay=newDate.getDate();

int

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1