java经典程序及常见算法.docx
- 文档编号:7796807
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:30
- 大小:24.03KB
java经典程序及常见算法.docx
《java经典程序及常见算法.docx》由会员分享,可在线阅读,更多相关《java经典程序及常见算法.docx(30页珍藏版)》请在冰豆网上搜索。
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();
}
}
//保存为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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 经典 程序 常见 算法
![提示](https://static.bdocx.com/images/bang_tan.gif)