JAVA程序实例(代码和效果图)
- 格式:pdf
- 大小:125.70 KB
- 文档页数:2
JA V A编程实例大全及详解答案(50例)【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?//这是一个菲波拉契数列问题public class lianxi01 {public static void main(String[] args) {System.out.println("第1个月的兔子对数: 1");System.out.println("第2个月的兔子对数: 1");int f1 = 1, f2 = 1, f, M=24;for(int i=3; i<=M; i++) {f = f2;f2 = f1 + f2;f1 = f;System.out.println("第" + i +"个月的兔子对数: "+f2);}}}【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
public class lianxi02 {public static void main(String[] args) {int count = 0;for(int i=101; i<200; i+=2) {boolean b = false;for(int j=2; j<=Math.sqrt(i); j++){if(i % j == 0) { b = false; break; }else { b = true; }}if(b == true) {count ++;System.out.println(i );}}System.out.println( "素数个数是: " + count);}}【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
Java⾼效代码50例摘⾃:导读 世界上只有两种物质:⾼效率和低效率;世界上只有两种⼈:⾼效率的⼈和低效率的⼈。
----萧伯纳常量&变量直接赋值常量,禁⽌声明新对象 直接赋值常量值,只是创建了⼀个对象引⽤,⽽这个对象引⽤指向常量值。
反例Long i=new Long(1L);String s=new String("abc");正例Long i=1L;String s="abc";当成员变量值⽆需改变时,尽量定义为静态常量 在类的每个对象实例中,每个成员变量都有⼀份副本,⽽成员静态常量只有⼀份实例。
反例public class HttpConnection{private final long timeout=5L;...}正例public class HttpConnection{private static final long timeout=5L;...}尽量使⽤基本数据类型,避免⾃动装箱和拆箱 Java中的基本数据类型double、float、long、int、short、char、boolean,分别对应包装类Double、Float、Long、Integer、Short、Character、Boolean。
Jvm⽀持基本类型与对象包装类的⾃动转换,被称为⾃动装箱和拆箱。
装箱和拆箱都是需要CPU和内存资源的,所以应尽量避免⾃动装箱和拆箱。
反例Integer sum = 0;int[] values = { 1, 2, 3, 4, 5 };for (int value : values) {sum+=value;}正例int sum = 0;int[] values = { 1, 2, 3, 4, 5 };for (int value : values) {sum+=value;}如果变量的初值会被覆盖,就没有必要给变量赋初值反例public static void main(String[] args) {boolean isAll = false;List<Users> userList = new ArrayList<Users>();if (isAll) {userList = userDAO.queryAll();} else {userList=userDAO.queryActive();}}public class Users {}public static class userDAO {public static List<Users> queryAll() {return null;}public static List<Users> queryActive() {return null;}}正例public static void main(String[] args) {boolean isAll = false;List<Users> userList;if (isAll) {userList = userDAO.queryAll();} else {userList=userDAO.queryActive();}}public class Users {}public static class userDAO {public static List<Users> queryAll() {return null;}public static List<Users> queryActive() {return null;}}尽量使⽤函数内的基本类型临时变量 在函数内,基本类型的参数和临时变量都保存在栈(Stack)中,访问速度较快;对象类型的参数和临时变量的引⽤都保存在栈(Stack)中,内容都保存在堆(Heap)中,访问速度较慢。
java实现⾳频⽂件播放功能本⽂实例为⼤家分享了java实现⾳频⽂件的播放功能的具体代码,供⼤家参考,具体内容如下实现思路1、⾸先获取⾳频⽂件的地址,然后通过IO流读取⾳频⽂件,加缓冲区,实现Player类的对象。
2、Player类主要⽤于播放器的初始化,以及通过它来实现⼀些⾳视频⽂件的播放,这个类需要⼿动去⽹上下载,然后添加路径到我们Eclipse的library中。
3、Player类有两种⽅法⽐较常⽤,play()⽅法和close()⽅法,前者⽤于启动⾳频⽂件,后者⽤于退出⾳频⽂件的播放,这两个⽅法我们在使⽤的时候需要注意,在整个⾳频播放的过程中,程序都会停留在play()⽅法中,类似于在读进度条,close()⽅法可以使得其退出播放,程序往下继续运⾏。
4、假设我们点击了开始按钮,那么程序就不会再去响应你的停⽌操作了,于是,我们可以通过多线程来实现这个启动和停⽌功能,让播放在⼀个线程⾥⾃⼰去执⾏。
5、那么循环呢?如何实现循环播放?答案是while循环,我们需要⼀个参数作为while的循环条件,类似于⼀个开关,只要为true,就⼀直循环播放。
6、我们在执⾏完⼀次播放后就不能再次对这个对象调⽤play()⽅法了,我们需要再次创建新的对象,那么我们要想关闭新的对象就必须让执⾏close()⽅法的对象是这个新的对象,我们每次新建相同名称的对象,player.close()执⾏后关闭的往往只能是最后的那个对象。
在启动和停⽌中我们看不出问题,但是当我们试图关闭在run⽅法⾥循环中的⾳频时,我们会发现停⽌不了!为什么?我们把对象传给线程类,close()⽅法依然可由此对象来执⾏,当他执⾏完play()⽅法后,我们new⼀个新的对象时,⼜开辟了⼀块新的内存空间存放这个对象的数据,再⽤原先的对象close()就不能到达效果了,即⽆法关闭这个⾳频。
解决办法:在每次new新对象后⽤set⽅法把对象传回去,我们可以理解为让close⽅法的调⽤者⼀直是这个新new的对象。
20个java案例以下是20个Java案例,涵盖了不同的主题和功能。
每个案例都有一个简要的描述和示例代码。
1. 计算两个数的和。
描述,编写一个程序,计算两个整数的和并输出结果。
示例代码:java.int num1 = 10;int num2 = 5;int sum = num1 + num2;System.out.println("两个数的和为," + sum);2. 判断一个数是否为偶数。
描述,编写一个程序,判断一个整数是否为偶数,并输出结果。
示例代码:java.int num = 6;if (num % 2 == 0) {。
System.out.println(num + "是偶数。
");} else {。
System.out.println(num + "不是偶数。
");}。
3. 求一个数的阶乘。
描述,编写一个程序,计算一个正整数的阶乘,并输出结果。
示例代码:java.int num = 5;int factorial = 1;for (int i = 1; i <= num; i++) {。
factorial = i;}。
System.out.println(num + "的阶乘为," + factorial);4. 判断一个字符串是否为回文字符串。
描述,编写一个程序,判断一个字符串是否为回文字符串,并输出结果。
示例代码:java.String str = "level";boolean isPalindrome = true;for (int i = 0; i < str.length() / 2; i++) {。
if (str.charAt(i) != str.charAt(str.length() 1 i)) {。
isPalindrome = false;break;}。
J a v a面向对象经典案例10个------------------------------------------作者xxxx------------------------------------------日期xxxx1class Anthropoid //类人猿{private int n=100;void crySpeak(String s){System.out.println(s);}}class People extends Anthropoid{void computer(int a,int b){int c=a*b;System.out.println(c);}void crySpeak(String s){System.out.println("**"+s+"**");}}public class Monkey{public static void main(String args[]){Anthropoid monkey=new People();//monkey是People对象的上转型对象//puter(10,10); //非法monkey.crySpeak("我喜欢这个运动");People people=(People)monkey;//把上转型对象强制转化为子类的对象puter(10,10);}}2class ManyArea{public double area(double radius){return Math.PI*radius*radius;}public double area(double len,double width){return len*width;}public double area(int len,int width){return len*width;}public double area(double len,double width,double height){return len*width*height;}}public class OverLoad{public static void main(String args[]){ManyArea ob=new ManyArea();System.out.println("半径为3.0的圆的面积:"+ob.area(3.0)); System.out.println("长2.0、宽3.0的面积:"+ob.area(2.0,3.0)); System.out.println("长2、宽3的面积:"+ob.area(2,3));System.out.println("立方体的面积:"+ob.area(2.0,3.0,4.0));}}3class Animal{public void shout(){}}class Dog extends Animal{public void newDog(){System.out.println("Dog的新特性");}public void shout(){System.out.println("汪");}}class Cat extends Animal{public void shout(){System.out.println("喵");}}class Test{public void animalshout(Animal a){a.shout();}}public class PolyEx{public static void main(String[] args){Animal d=new Dog();//(1)Dog d1= (Dog)d;//(3)父类对象强制转换成子类对象d1.newDog();//d.newDog();d.shout();Test t=new Test();t.animalshout(d);//(2)t.animalshout(d1);}}4class ArrayEx{public int[] subarray(int a[],int start,int end){int subarr[] = new int[end-start];for(int i=0,j=start;j<end;i++,j++){subarr[i] = a[j];}return subarr;}}public class Test{public static void main(String args[]){ArrayEx arrex = new ArrayEx();int arr[] = new int[10];for(int i = 0;i<arr.length;i++){arr[i] = i+10;}int sub[] = arrex.subarray(arr,2,6);for(int temp:sub){System.out.println(temp);}}}5class Box{int length;int width;int height;void set(int len,int wid,int hei){length = len;width = wid;height = hei;}}class ShowBox{void show(Box b){System.out.println(b.length+" "+b.width+" "+b.height); }}class TestTwo{public static void main(String args[]){Box a = new Box();a.set(3,4,5);ShowBox sbox = new ShowBox();sbox.show(a);}}6.class One{int a = 5;void showB(){int a = 3;int b = this.a;System.out.println("b = "+b);}}public class ThisOne{public static void main(String args[]){One test = new One();test.showB();}}7.class Mystatic{private int x=3;public static void showx(){System.out.println("x="+x);}public static int add(int m){return m+x;}}class UseMystatic{public static void main(String args[]){Mystatic.showx();System.out.println("add="+Mystatic.add(2));}}8.class Point{int x;int y;Point(){x=0;y=0;//this(1,1);}Point(int a,int b){x=a;y=b;}void show(){System.out.println("x="+x+" y="+y); }}public class UsePoint{public static void main(String args[]){ Point p = new Point();p.show();}}9.class Point{private int x,y;Point(){x=1;y=3;}void showPoint(Point t){System.out.println("x="+t.x+" y="+t.y);}void seeit(){showPoint(this);}}public class UsePointThis{public static void main(String args[]){Point p=new Point();p.seeit();}}10class Point{static int x=2;int y=0;}public class UseStatic{public static void main(String args[]){System.out.println("利用类调用静态变量"); System.out.println("x="+Point.x);//System.out.println("y="+Point.y);Point p1=new Point();System.out.println("利用对象调用");System.out.println("x="+p1.x);System.out.println("y="+p1.y);Point p2=new Point();p2.y=3;System.out.println("对象p1中y的值"+"y="+p1.y); System.out.println("对象p2中y的值"+"y="+p2.y); p1.x=6;System.out.println("对象p1中x的值"+"x="+p1.x); System.out.println("对象p2中x的值"+"x="+p2.x);}}。
案例4-1 super访问父类成员变量一、案例描述1、考核知识点编号:029004003名称:super关键字2、练习目标➢掌握使用super关键字访问父类成员变量的方法3、需求分析子类可以继承父类的非私有成员变量,如果在子类中修改了继承自父类的成员变量的值,再想要访问父类的该成员变量时,可以通过super.成员变量来实现。
为了让初学者熟悉super关键字的用法,本案例将分别设计Fu类及其子类Zi,并在Zi类的方法中使用super关键字访问Fu类的成员变量。
4、设计思路(实现原理)1)编写一个Fu类,在类中定义无参构造和一个初始值为20的num成员变量。
2)Zi类继承Fu类,在子类中对num值进行了修改,同时在子类中定义无参构造和一个无返回值的method()方法,method()方法中使用super关键字调用了Fu类的num成员变量。
3)定义测试类Example03。
二、案例实现1、编写Fu类及其子类Zi,在Zi类中使用super关键字调用Fu类成员变量,代码如下class Fu {Fu() {}int num = 20;}class Zi extends Fu {Zi() {}int num = 30;// 修改num的值void method() {System.out.println("method");// super关键字调用父类成员变量System.out.println("Fu类中num值为:" + super.num);System.out.println("Zi类中num值为:" + num);}}2、定义测试类Example03,代码如下:class Example03{public static void main(String[] args) {Zi z = new Zi();z.method();}}运行结果如图4-3所示。
66个java项目开发实例1. 网络爬虫,开发一个网络爬虫,用于从网站上获取数据并进行分析。
2. 电子商务平台,开发一个完整的电子商务平台,包括商品展示、购物车、订单管理等功能。
3. 学生信息管理系统,开发一个学生信息管理系统,包括学生信息录入、查询、修改和删除等功能。
4. 在线考试系统,开发一个在线考试系统,包括试题录入、考试安排、成绩统计等功能。
5. 医院挂号系统,开发一个医院挂号系统,包括医生排班、患者挂号、费用结算等功能。
6. 酒店管理系统,开发一个酒店管理系统,包括客房预订、入住管理、客户结账等功能。
7. 财务管理系统,开发一个财务管理系统,包括账目录入、报表生成、财务分析等功能。
8. 论坛/博客系统,开发一个论坛或博客系统,包括用户注册、发帖、评论等功能。
9. 在线聊天应用,开发一个基于Java的在线聊天应用,支持文字、图片、语音等多种形式的聊天。
10. 人事管理系统,开发一个人事管理系统,包括员工档案管理、考勤统计、薪资发放等功能。
11. 仓库管理系统,开发一个仓库管理系统,包括库存管理、出入库记录、盘点等功能。
12. 电影订票系统,开发一个电影订票系统,包括影片信息展示、选座购票、取票等功能。
13. 飞机票订购系统,开发一个飞机票订购系统,包括航班查询、订票、退改签等功能。
14. 音乐播放器,开发一个音乐播放器应用,支持音乐播放、列表管理、在线音乐服务等功能。
15. 餐厅点餐系统,开发一个餐厅点餐系统,包括菜单浏览、下单结账、评价反馈等功能。
16. 人脸识别系统,开发一个基于人脸识别技术的系统,用于身份验证、门禁管理等应用。
17. 考勤管理系统,开发一个考勤管理系统,包括打卡记录、考勤统计、异常处理等功能。
18. 健身房会员管理系统,开发一个健身房会员管理系统,包括会员信息管理、健身课程预约等功能。
19. 旅游预订系统,开发一个旅游预订系统,包括旅游线路展示、预订支付、行程管理等功能。
《Java语言程序设计基础教程》上机实验指导手册实验一 Java环境演练【目的】①安装并配置Java运行开发环境;②掌握开发Java应用程序的3个步骤:编写源文件、编译源文件和运行应用程序;③掌握开发Java Applet程序的3个步骤:编写源文件、编译源文件和运行Java Applet 程序;④学习同时编译多个Java源文件。
【内容】1.一个简单的应用程序✧实验要求:编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:Hello.javapublic class Hello{public static void main (String args[ ]){【代码1】//命令行窗口输出"你好,很高兴学习Java"A a=new A();a.fA();}}class A{void fA(){【代码2】//命令行窗口输出"We are students"}}✧实验后的练习:1.编译器怎样提示丢失大括号的错误?2.编译器怎样提示语句丢失分号的错误?3.编译器怎样提示将System写成system这一错误?4.编译器怎样提示将String写成string这一错误?2.一个简单的Java Applet程序✧实验要求:编写一个简单的Java Applet程序,并在Java Applet中写两行文字:“这是一个Java Applet程序”和“我改变了字体”。
✧程序运行效果示例:程序运行效果如下图所示:✧程序模板:FirstApplet.javaimport java.applet.*;import java.awt.*;public class FirstApplet extends Applet{public void paint(Graphics g){g.setColor(Color.blue);【代码1】//在Java Applet中绘制一行文字:“这是一个Java Applet 程序”g.setColor(Color.red);g.setFont(new Font("宋体",Font.BOLD,36));【代码2】//在Java Applet中绘制一行文字:“我改变了字体”}}✧实验后的练习:5.程序中的主类如果不用public修饰,编译能通过吗?6.程序中的主类如果不用public修饰,程序能正确运行吗?7.程序将paint方法误写成Paint,编译能通过么?8.程序将paint方法误写成Paint,运行时能看到有关的输出信息吗?3.联合编译✧实验要求:编写4个源文件:Hello.java、A.java、B.java和C.java,每个源文件只有一个类,Hello.java是一个应用程序(含有main方法),使用了A、B和C类。