JAVA程序实例(代码和效果图)

合集下载

JAVA编程实例大全及详解答案(50例)

JAVA编程实例大全及详解答案(50例)

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例

Java高效代码50例

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实现音频文件播放功能

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的对象。

javase综合案例

javase综合案例
queryButton.addActionListener(this);
updateButton.addActionListener(this);
deleteButton.addActionListener(this);
}
}
```
2. 实现业务逻辑
接下来,我们需要实现学生信息的添加、查询、修改和删除等功能。这些功能可以通过Java的方法来实现,例如使用`Scanner`类来读取用户输入的数据,使用`ArrayList`类来管理学生列表等。以下是实现业务逻辑的代码:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class StudentGUI extends JFrame implements ActionListener {
private JTextField nameField;
buttonPane.add(queryButton);
buttonPane.add(updateButton);
buttonPane.add(deleteButton);
pane.add(buttonPane, BorderLayout.SOUTH);
addButton.addActionListener(this);
private JTextField idField;
private JButton addButton;
private JButton queryButton;
private JButton updateButton;
private JButton deleteButton;

Java基础教程(第3版)_第4章_类与对象

Java基础教程(第3版)_第4章_类与对象

如果有一个类是 public 类 , 那 么源文件的名字必须与这个类的 名字完全相同,扩展名是.java。编 译源文件将生成多个扩展名 为.class的字节码文件,每个字节 码文件的名字与源文件中对应的 类的名字相同,这些字节码文件 被存放在与源文件相同的目录中 。
2018/11/2
第 14 页
例子3 例子3中有两个Java源文件Example4_3.java和Rectangle.java,其 中Rectangle.java含有Rectangle类、Example4_3.java含有Circle类和 主类。程序运行效果如图4.5。
构造方法和对象的创建密切相关 。
2018/11/2
第 16 页
4.3.1 构造方法
构造方法是一种特殊方法,它的名字必须与它所在的类的名 字完全相同,而且没有类型。 允许一个类中编写若干个构造方法,但必须保证他们的参数 不同,即参数的个数不同,或者是参数的类型不同。
需要注意的是 ( 1) 如果类中没有编写构造方法, 系统会默认该类只有一个构造方法, 该默认的构造方法是无参数的,且方 法体中没有语句。 ( 2 )如果类里定义了一个或多个构 造方法,那么 Java 不提供默认的构造 方法 。
4.1.1
例子1 一个能输出圆的面积的 Java应用程序。
public class ComputerCircleArea { public static void main(String args[]) { double radius; //半径 double area; //面积 radius=163.16; area=3.14*radius *radius; //计算面积 System.out.printf("半径是%5.3f的园的面积:\n%5.3f\n",radius,area); } } 事实上, 如果其他Java应用程序也想计算圆的面积,同样需要知道计算 圆面积的算法,即也需要编写和这里同样多的代码。 现在提出如下问题: 能否将和圆有关的数据以及计算圆面积的代码进行封装,使得需要计 算圆面积的Java应用程序的主类无需编写计算面积的代码就可以计算出圆的 面积呢?

20个java案例

20个java案例

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;}。

Java面向对象经典案例10个

Java面向对象经典案例10个

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);}}。

java基础编程 第四章 面向对象(下) 案例

java基础编程 第四章 面向对象(下) 案例

案例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项目开发实例

66个java项目开发实例

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环境演练【目的】①安装并配置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类。

java常用代码(20条案例)

java常用代码(20条案例)

java常用代码(20条案例)1. 输出Hello World字符串public class Main {public static void main(String[] args) {// 使用System.out.println()方法输出字符串"Hello World"System.out.println("Hello World");}}2. 定义一个整型变量并进行赋值public class Main {public static void main(String[] args) {// 定义一个名为num的整型变量并将其赋值为10int num = 10;// 使用System.out.println()方法输出变量num的值System.out.println(num);}}3. 循环打印数字1到10public class Main {public static void main(String[] args) {// 使用for循环遍历数字1到10for (int i = 1; i <= 10; i++) {// 使用System.out.println()方法输出每个数字System.out.println(i);}}}4. 实现输入输出import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextLine()方法获取用户输入的字符串String input = scanner.nextLine();// 使用System.out.println()方法输出输入的内容System.out.println("输入的是:" + input);}}5. 实现条件分支public class Main {public static void main(String[] args) {// 定义一个整型变量num并将其赋值为10int num = 10;// 使用if语句判断num是否大于0,如果是,则输出"这个数是正数",否则输出"这个数是负数"if (num > 0) {System.out.println("这个数是正数");} else {System.out.println("这个数是负数");}}}6. 使用数组存储数据public class Main {public static void main(String[] args) {// 定义一个整型数组nums,其中包含数字1到5int[] nums = new int[]{1, 2, 3, 4, 5};// 使用for循环遍历数组for (int i = 0; i < nums.length; i++) {// 使用System.out.println()方法输出每个数组元素的值System.out.println(nums[i]);}}}7. 打印字符串长度public class Main {public static void main(String[] args) {// 定义一个字符串变量str并将其赋值为"HelloWorld"String str = "Hello World";// 使用str.length()方法获取字符串的长度,并使用System.out.println()方法输出长度System.out.println(str.length());}}8. 字符串拼接public class Main {public static void main(String[] args) {// 定义两个字符串变量str1和str2,并分别赋值为"Hello"和"World"String str1 = "Hello";String str2 = "World";// 使用"+"号将两个字符串拼接成一个新字符串,并使用System.out.println()方法输出拼接后的结果System.out.println(str1 + " " + str2);}}9. 使用方法进行多次调用public class Main {public static void main(String[] args) {// 定义一个名为str的字符串变量并将其赋值为"Hello World"String str = "Hello World";// 调用printStr()方法,打印字符串变量str的值printStr(str);// 调用add()方法,计算两个整数的和并输出结果int result = add(1, 2);System.out.println(result);}// 定义一个静态方法printStr,用于打印字符串public static void printStr(String str) {System.out.println(str);}// 定义一个静态方法add,用于计算两个整数的和public static int add(int a, int b) {return a + b;}}10. 使用继承实现多态public class Main {public static void main(String[] args) {// 创建一个Animal对象animal,并调用move()方法Animal animal = new Animal();animal.move();// 创建一个Dog对象dog,并调用move()方法Dog dog = new Dog();dog.move();// 创建一个Animal对象animal2,但其实际指向一个Dog对象,同样调用move()方法Animal animal2 = new Dog();animal2.move();}}// 定义一个Animal类class Animal {public void move() {System.out.println("动物在移动");}}// 定义一个Dog类,继承自Animal,并重写了move()方法class Dog extends Animal {public void move() {System.out.println("狗在奔跑");}}11. 输入多个数并求和import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 定义一个整型变量sum并将其赋值为0int sum = 0;// 使用while循环持续获取用户输入的整数并计算总和,直到用户输入为0时结束循环while (true) {System.out.println("请输入一个整数(输入0退出):");int num = scanner.nextInt();if (num == 0) {break;}sum += num;}// 使用System.out.println()方法输出总和System.out.println("所有输入的数的和为:" + sum);}}12. 判断一个年份是否为闰年import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextInt()方法获取用户输入的年份System.out.println("请输入一个年份:");int year = scanner.nextInt();// 使用if语句判断年份是否为闰年,如果是,则输出"是闰年",否则输出"不是闰年"if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {System.out.println(year + "年是闰年");} else {System.out.println(year + "年不是闰年");}}}13. 使用递归实现斐波那契数列import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);// 使用scanner.nextInt()方法获取用户输入的正整数nSystem.out.println("请输入一个正整数:");int n = scanner.nextInt();// 使用for循环遍历斐波那契数列for (int i = 1; i <= n; i++) {System.out.print(fibonacci(i) + " ");}}// 定义一个静态方法fibonacci,使用递归计算斐波那契数列的第n项public static int fibonacci(int n) {if (n <= 2) {return 1;} else {return fibonacci(n - 1) + fibonacci(n - 2);}}}14. 输出九九乘法表public class Main {public static void main(String[] args) {// 使用两层for循环打印九九乘法表for (int i = 1; i <= 9; i++) {for (int j = 1; j <= i; j++) {System.out.print(j + "*" + i + "=" + (i * j) + "\t");}System.out.println();}}}15. 使用try-catch-finally处理异常import java.util.Scanner;public class Main {public static void main(String[] args) {// 创建一个Scanner对象scanner,以便接受用户的输入Scanner scanner = new Scanner(System.in);try {// 使用scanner.nextInt()方法获取用户输入的整数a和bSystem.out.println("请输入两个整数:");int a = scanner.nextInt();int b = scanner.nextInt();// 对a进行除以b的运算int result = a / b;// 使用System.out.println()方法输出结果System.out.println("计算结果为:" + result);} catch (ArithmeticException e) {// 如果除数为0,会抛出ArithmeticException异常,捕获异常并使用System.out.println()方法输出提示信息System.out.println("除数不能为0");} finally {// 使用System.out.println()方法输出提示信息System.out.println("程序结束");}}}16. 使用集合存储数据并遍历import java.util.ArrayList;import java.util.List;public class Main {public static void main(String[] args) {// 创建一个名为list的List集合,并添加多个字符串元素List<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");list.add("JavaScript");// 使用for循环遍历List集合并使用System.out.println()方法输出每个元素的值for (int i = 0; i < list.size(); i++) {System.out.println(list.get(i));}}}17. 使用Map存储数据并遍历import java.util.HashMap;import java.util.Map;public class Main {public static void main(String[] args) {// 创建一个名为map的Map对象,并添加多组键值对Map<Integer, String> map = new HashMap<>();map.put(1, "Java");map.put(2, "Python");map.put(3, "C++");map.put(4, "JavaScript");// 使用for-each循环遍历Map对象并使用System.out.println()方法输出每个键值对的值for (Map.Entry<Integer, String> entry :map.entrySet()) {System.out.println("key=" + entry.getKey() + ", value=" + entry.getValue());}}}18. 使用lambda表达式进行排序import java.util.ArrayList;import java.util.Collections;import parator;import java.util.List;public class Main {public static void main(String[] args) {// 创建一个名为list的List集合,并添加多个字符串元素List<String> list = new ArrayList<>();list.add("Java");list.add("Python");list.add("C++");list.add("JavaScript");// 使用lambda表达式定义Comparator接口的compare()方法,按照字符串长度进行排序Comparator<String> stringLengthComparator = (s1, s2) -> s1.length() - s2.length();// 使用Collections.sort()方法将List集合进行排序Collections.sort(list, stringLengthComparator);// 使用for-each循环遍历List集合并使用System.out.println()方法输出每个元素的值for (String str : list) {System.out.println(str);}}}19. 使用线程池执行任务import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class Main {public static void main(String[] args) {// 创建一个名为executor的线程池对象,其中包含2个线程ExecutorService executor =Executors.newFixedThreadPool(2);// 使用executor.execute()方法将多个Runnable任务加入线程池中进行执行executor.execute(new MyTask("任务1"));executor.execute(new MyTask("任务2"));executor.execute(new MyTask("任务3"));// 调用executor.shutdown()方法关闭线程池executor.shutdown();}}// 定义一个MyTask类,实现Runnable接口,用于代表一个任务class MyTask implements Runnable {private String name;public MyTask(String name) { = name;}@Overridepublic void run() {System.out.println("线程" +Thread.currentThread().getName() + "正在执行任务:" + name);try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}System.out.println("线程" +Thread.currentThread().getName() + "完成任务:" + name);}}20. 使用JavaFX创建图形用户界面import javafx.application.Application;import javafx.scene.Scene;import javafx.scene.control.Button;import yout.StackPane;import javafx.stage.Stage;public class Main extends Application {@Overridepublic void start(Stage primaryStage) throws Exception { // 创建一个Button对象btn,并设置按钮名称Button btn = new Button("点击我");// 创建一个StackPane对象pane,并将btn添加到pane中StackPane pane = new StackPane();pane.getChildren().add(btn);// 创建一个Scene对象scene,并将pane作为参数传入Scene scene = new Scene(pane, 200, 100);// 将scene设置为primaryStage的场景primaryStage.setScene(scene);// 将primaryStage的标题设置为"JavaFX窗口"primaryStage.setTitle("JavaFX窗口");// 调用primaryStage.show()方法显示窗口primaryStage.show();}public static void main(String[] args) { launch(args);}}。

java简单项目案例附讲解

java简单项目案例附讲解

java简单项目案例附讲解一、学生成绩管理系统项目简介:开发一个学生成绩管理系统,能够实现学生信息的录入、查询、修改和删除等功能,并能根据学生成绩进行排序和统计分析。

1. 学生信息录入:通过界面输入学生的基本信息包括学号、姓名、性别、年龄等,并能够录入学生的各科成绩。

2. 学生信息查询:提供学生信息的查询功能,可以按学号或姓名进行查询,查询结果展示学生的基本信息和各科成绩。

3. 学生信息修改:允许对学生的基本信息和成绩进行修改,包括姓名、性别、年龄、各科成绩等。

4. 学生信息删除:提供删除学生信息的功能,可以根据学号或姓名进行删除操作。

5. 学生成绩排序:能够按照总分或某一科目的成绩对学生进行排序,可以选择升序或降序排列。

6. 学生成绩统计:能够对学生的各科成绩进行统计分析,包括平均分、最高分、最低分等。

7. 数据存储:使用数据库或文件存储学生的信息和成绩数据,保证数据的可靠性和安全性。

二、图书管理系统项目简介:开发一个图书管理系统,能够实现图书的录入、借阅、归还和查询等功能,能够对借阅情况进行管理和统计。

1. 图书录入:通过界面输入图书的基本信息包括书名、作者、出版社、出版日期等,并生成唯一的图书编号。

2. 图书借阅:提供图书借阅功能,学生或教师可以通过输入图书编号进行借阅操作,并记录借阅人和借阅日期。

3. 图书归还:提供图书归还功能,借阅人可以通过输入图书编号进行归还操作,并记录归还日期。

4. 图书信息查询:能够根据图书编号或关键字进行图书信息的查询,查询结果展示图书的基本信息和借阅情况。

5. 借阅情况管理:能够对图书的借阅情况进行管理,包括借阅人、借阅日期、归还日期等。

6. 图书统计分析:能够对图书的借阅情况进行统计分析,包括借阅次数、借阅人数等。

7. 数据存储:使用数据库或文件存储图书的信息和借阅情况,保证数据的可靠性和安全性。

三、在线购物系统项目简介:开发一个在线购物系统,能够实现用户的注册、登录、商品浏览、购买和订单管理等功能,提供安全、便捷的购物体验。

java类和对象简单的例子代码

java类和对象简单的例子代码

Java类和对象简单的例子代码1. 简介在Java编程中,类和对象是非常重要的概念。

类是对象的模板,可以用来创建对象。

对象是类的实例,它可以拥有自己的属性和行为。

通过类和对象的使用,我们可以实现面向对象编程的思想,使我们的程序更加模块化和易于维护。

2. 创建类下面是一个简单的Java类的例子:```javapublic class Car {String brand;String color;int maxSpeed;void displayInfo() {System.out.println("Brand: " + brand);System.out.println("Color: " + color);System.out.println("Max Speed: " + maxSpeed);}}```在这个例子中,我们创建了一个名为Car的类。

该类有三个属性:brand、color和maxSpeed,并且有一个方法displayInfo用来展示车辆的信息。

3. 创建对象要创建Car类的对象,我们可以使用以下代码:```javaCar myCar = new Car();```这行代码创建了一个名为myCar的Car对象。

我们使用关键字new 来实例化Car类,并且将该实例赋值给myCar变量。

4. 访问对象的属性一旦我们创建了Car对象,我们就可以访问它的属性并为其赋值。

例如:```javamyCar.brand = "Toyota";myCar.color = "Red";myCar.maxSpeed = 180;```这些代码展示了如何为myCar对象的属性赋值。

我们可以使用点号操作符来访问对象的属性。

5. 调用对象的方法除了访问对象的属性,我们还可以调用对象的方法。

我们可以使用以下代码来展示myCar对象的信息:```javamyCar.displayInfo();```这行代码会调用myCar对象的displayInfo方法,从而展示该车辆的信息。

JAVA+生成树状图及饼图

JAVA+生成树状图及饼图

JA V A 生成树状图及饼图import java.awt.Color;import java.awt.Font;import java.io.PrintWriter;import java.text.DecimalFormat;import java.util.List;import javax.servlet.http.HttpSession;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartRenderingInfo;import org.jfree.chart.ChartUtilities;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.CategoryAxis;import org.jfree.chart.entity.StandardEntityCollection;import bels.ItemLabelAnchor;import bels.ItemLabelPosition;import bels.StandardCategoryItemLabelGenerator; import bels.StandardPieSectionLabelGenerator; import bels.StandardPieToolTipGenerator;import org.jfree.chart.plot.CategoryPlot;import org.jfree.chart.plot.PiePlot3D;import org.jfree.chart.plot.PlotOrientation;import org.jfree.chart.renderer.category.BarRenderer3D;import org.jfree.chart.servlet.ServletUtilities;import org.jfree.data.category.DefaultCategoryDataset;import org.jfree.data.general.DefaultPieDataset;import org.jfree.ui.TextAnchor;public class ChartGenerater{/***@利用JFreeChart生成柱形及饼状图*@version JFreeChart 1.08*@List list生成图形的源数据*@String titles标题*@String x图形的水平轴注释*@String y图形的垂直轴注释*@String charttype图形类型,piechart为饼图,barchart为柱形图*/public static String generateChart(List list, String titles, HttpSession session, PrintWriter pw, String x, String y,String charttype) {String filename = "";Font font;int len = list.size();if ("piechart".equals(charttype.trim())) {try {// 建立PieDataSetDefaultPieDataset dataset = new DefaultPieDataset();// 生成一个3D饼图for(int i=0;i<len;i++) {String[] rows = (String[]) list.get(i);double count = Double.parseDouble(rows[1]);dataset.setValue(""+(i+1), count);}PiePlot3D plot = new PiePlot3D(dataset);for(int i=0;i<len;i++){plot.setSectionPaint(i, getAwtCol(i));}plot.setForegroundAlpha(0.6f); // 设置透明度plot.setCircular(true, false);//plot.setNoDataMessage("There aren't anything!");plot.setLabelGenerator(new StandardPieSectionLabelGenerator("({0}):{2}",new DecimalFormat("0"), new DecimalFormat("0.0%")));plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator("{2}",new DecimalFormat("0"), new DecimalFormat("0.0%")));plot.setToolTipGenerator(newStandardPieToolTipGenerator());//font = new Font("SimSun",Font.BOLD, 15);// 设置统计图标题的字体和大小 Lucida Sans simsunJFreeChart chart = newJFreeChart("",JFreeChart.DEFAULT_TITLE_FONT, plot, true);/*JFreeChart chart = ChartFactory.createPieChart("招聘网统计图表", // 图表标题data, true, // 是否显示图例false, false); //写图表对象到文件,参照柱状图生成源码 */chart.setTextAntiAlias(true);//设置标题平滑效果chart.setBorderVisible(false);//设置图片外边框显示//TextTitle tt = new TextTitle(unescape(titles));//tt.setFont(font);chart.setBackgroundPaint(java.awt.Color.white);// 统计图片的底色//chart.setTitle(tt);// 把生成的文件写入到临时的目录中ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());filename = ServletUtilities.saveChartAsPNG(chart, 500, 350,info, session);// 选择存储成png格式的文件,当然你也可以使用saveChartAsJPEG的方法生成jpg图片// 把image map 写入到 PrintWriterChartUtilities.writeImageMap(pw, filename, info, false);pw.flush();} catch (Exception ex) {System.err.println("error:" + ex.getMessage());}}// 生成柱形图if ("barchart".equals(charttype.trim())) {try {BarRenderer3D renderer = new BarRenderer3D();DefaultCategoryDataset dataset = newDefaultCategoryDataset();for (int i = 0; i < len; i++) {String[] rows = (String[]) list.get(i);int count = Integer.parseInt(rows[1]);dataset.setValue(count, ""+(i+1), ""+(i+1));renderer.setSeriesPaint(i, getAwtCol(i));}JFreeChart chart = ChartFactory.createBarChart3D(" ", x, y, dataset,PlotOrientation.VERTICAL, false, false, false);chart.setBackgroundPaint(Color.WHITE);CategoryPlot plot = chart.getCategoryPlot();CategoryAxis domainAxis = plot.getDomainAxis();domainAxis.setAxisLineVisible(true);plot.setDomainAxis(domainAxis);renderer.setBaseOutlinePaint(Color.BLACK);// 设置每个地区所包含的平行柱的之间距离renderer.setItemMargin(0.06);// 显示每个柱的数值,并修改该数值的字体属性renderer.setBaseItemLabelsVisible(true);renderer.setBaseItemLabelGenerator(newStandardCategoryItemLabelGenerator());font = new Font("SimSun",Font.BOLD,12); //Lucida Sansrenderer.setBaseItemLabelFont(font);renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(ItemLabelAnchor.OUTSIDE12,TextAnchor.BASELINE_CENTER));//ValueAxis rangeAxis = plot.getRangeAxis();// 设置最高的一个柱与图片顶端的距离//rangeAxis.setUpperMargin(0.15);// 设置最低的一个柱与图片底端的距离// rangeAxis.setLowerMargin(0.15);//plot.setRangeAxis(rangeAxis);//plot.setNoDataMessage("There aren't anything!");plot.setRenderer(renderer);plot.setRangeGridlinesVisible(true);// 设置柱的透明度plot.setForegroundAlpha(0.8f);StandardEntityCollection sec = newStandardEntityCollection();ChartRenderingInfo info = new ChartRenderingInfo(sec);// 500是图片长度,300是图片高度filename = ServletUtilities.saveChartAsPNG(chart, 500, 280,info, session);ChartUtilities.writeImageMap(pw, filename, info, false);pw.flush();} catch (Exception ex) {System.err.println("error:" + ex.getMessage());}}return filename;}public static String unescape(Object obj) {if (obj == null)return"";String str = obj.toString().trim();StringBuffer sb = new StringBuffer(str.length());int len = 0;int pos = 0;char ch;while (len < str.length()) {pos = str.indexOf("%", len);if (pos == len) {if (str.charAt(pos + 1) == 'u') {ch = (char) Integer.parseInt(str.substring(pos + 2, pos + 6), 16);sb.append(ch);len = pos + 6;} else {ch = (char) Integer.parseInt(str.substring(pos + 1, pos + 3), 16);sb.append(ch);len = pos + 3;}} else {if (pos == -1) {sb.append(str.substring(len));len = str.length();} else {sb.append(str.substring(len, pos));len = pos;}}}return sb.toString();}public static Color getAwtCol(int i){if(i > 9) return Color.BLUE;Color[] cols = new Color[]{Color.RED,Color.BLUE,Color.BLACK,Color.YELLOW,Color.GREEN,Color.MAGENTA,Color.ORANGE,Color.PINK,Color.DARK_GRAY,Color.CYAN};return cols[i];}}页面调用filename =CRMChartGenerater.generateChart(list,escape(title),session, newjava.io.PrintWriter(out),"","",charttype);graphURL = request.getContextPath() + "/chart?filename=" + filename;<img src="<%=graphURL %>" border=0 usemap="#<%= filename %>"/>。

使用java实现各种数据统计图(柱形图,饼图,折线图)

使用java实现各种数据统计图(柱形图,饼图,折线图)

使⽤java实现各种数据统计图(柱形图,饼图,折线图)最近在做数据挖掘的课程设计,需要将数据分析的结果很直观的展现给⽤户,这就要⽤到数据统计图,要实现这个功能就需要⼏个第三⽅包了:1. jfreechart-1.0.13.jar2. jcommon-1.0.16.jar3. gnujaxp.jar先来看⼀下,最终效果图:接下来,我们⼀步步来实现本程序。

1,建,⽴java项⽬,在这个项⽬在建⽴⼀个新的⽂件夹lib;2,将上述三个jar包,复制到lib3,然后右键点击这个java项⽬,选择Properties4,在左侧列表⾥选中Java Build Path,右侧选中Libraries5,点击Add JARs6,然后去选择这个项⽬中lib⽂件夹中的三个jar,点击确定成功后,项⽬中会多⼀个⽂件夹为:Referenced Libraries⼆,实现柱形图的java代码:import java.awt.Font;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartPanel;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.CategoryAxis;import org.jfree.chart.axis.ValueAxis;import org.jfree.chart.plot.CategoryPlot;import org.jfree.chart.plot.PlotOrientation;import org.jfree.data.category.CategoryDataset;import org.jfree.data.category.DefaultCategoryDataset;public class BarChart {ChartPanel frame1;public BarChart(){CategoryDataset dataset = getDataSet();JFreeChart chart = ChartFactory.createBarChart3D("⽔果", // 图表标题"⽔果种类", // ⽬录轴的显⽰标签"数量", // 数值轴的显⽰标签dataset, // 数据集PlotOrientation.VERTICAL, // 图表⽅向:⽔平、垂直true, // 是否显⽰图例(对于简单的柱状图必须是false)false, // 是否⽣成⼯具false // 是否⽣成URL链接);//从这⾥开始CategoryPlot plot=chart.getCategoryPlot();//获取图表区域对象CategoryAxis domainAxis=plot.getDomainAxis(); //⽔平底部列表domainAxis.setLabelFont(new Font("⿊体",Font.BOLD,14)); //⽔平底部标题domainAxis.setTickLabelFont(new Font("宋体",Font.BOLD,12)); //垂直标题ValueAxis rangeAxis=plot.getRangeAxis();//获取柱状rangeAxis.setLabelFont(new Font("⿊体",Font.BOLD,15));chart.getLegend().setItemFont(new Font("⿊体", Font.BOLD, 15));chart.getTitle().setFont(new Font("宋体",Font.BOLD,20));//设置标题字体//到这⾥结束,虽然代码有点多,但只为⼀个⽬的,解决汉字乱码问题frame1=new ChartPanel(chart,true); //这⾥也可以⽤chartFrame,可以直接⽣成⼀个独⽴的Frame }private static CategoryDataset getDataSet() {DefaultCategoryDataset dataset = new DefaultCategoryDataset();dataset.addValue(100, "北京", "苹果");dataset.addValue(100, "上海", "苹果");dataset.addValue(100, "⼴州", "苹果");dataset.addValue(200, "北京", "梨⼦");dataset.addValue(200, "上海", "梨⼦");dataset.addValue(200, "⼴州", "梨⼦");dataset.addValue(300, "北京", "葡萄");dataset.addValue(300, "上海", "葡萄");dataset.addValue(300, "⼴州", "葡萄");dataset.addValue(400, "北京", "⾹蕉");dataset.addValue(400, "上海", "⾹蕉");dataset.addValue(400, "⼴州", "⾹蕉");dataset.addValue(500, "北京", "荔枝");dataset.addValue(500, "上海", "荔枝");dataset.addValue(500, "⼴州", "荔枝");return dataset;}public ChartPanel getChartPanel(){return frame1;}}效果图如下:但我们把private static CategoryDataset getDataSet(){}⽅法中的数据变化⼀下后,⼜会形成另⼀种效果,⽐如说我们改成:private static CategoryDataset getDataSet() {DefaultCategoryDataset dataset = new DefaultCategoryDataset();dataset.addValue(100, "苹果", "苹果");dataset.addValue(200, "梨⼦", "梨⼦");dataset.addValue(300, "葡萄", "葡萄");dataset.addValue(400, "⾹蕉", "⾹蕉");dataset.addValue(500, "荔枝", "荔枝");return dataset;}效果图如下:三实现饼状图的java代码:package com.njue.testJFreeChart;import java.awt.Font;import java.text.DecimalFormat;import java.text.NumberFormat;import javax.swing.JPanel;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartPanel;import org.jfree.chart.JFreeChart;import bels.StandardPieSectionLabelGenerator;import org.jfree.chart.plot.PiePlot;import org.jfree.data.general.DefaultPieDataset;public class PieChart {ChartPanel frame1;public PieChart(){DefaultPieDataset data = getDataSet();JFreeChart chart = ChartFactory.createPieChart3D("⽔果产量",data,true,false,false);//设置百分⽐PiePlot pieplot = (PiePlot) chart.getPlot();DecimalFormat df = new DecimalFormat("0.00%");//获得⼀个DecimalFormat对象,主要是设置⼩数问题NumberFormat nf = NumberFormat.getNumberInstance();//获得⼀个NumberFormat对象StandardPieSectionLabelGenerator sp1 = new StandardPieSectionLabelGenerator("{0} {2}", nf, df);//获得StandardPieSectionLabelGenerator对象 pieplot.setLabelGenerator(sp1);//设置饼图显⽰百分⽐//没有数据的时候显⽰的内容pieplot.setNoDataMessage("⽆数据显⽰");pieplot.setCircular(false);pieplot.setLabelGap(0.02D);pieplot.setIgnoreNullValues(true);//设置不显⽰空值pieplot.setIgnoreZeroValues(true);//设置不显⽰负值frame1=new ChartPanel (chart,true);chart.getTitle().setFont(new Font("宋体",Font.BOLD,20));//设置标题字体PiePlot piePlot= (PiePlot) chart.getPlot();//获取图表区域对象piePlot.setLabelFont(new Font("宋体",Font.BOLD,10));//解决乱码chart.getLegend().setItemFont(new Font("⿊体",Font.BOLD,10));}private static DefaultPieDataset getDataSet() {DefaultPieDataset dataset = new DefaultPieDataset();dataset.setValue("苹果",100);dataset.setValue("梨⼦",200);dataset.setValue("葡萄",300);dataset.setValue("⾹蕉",400);dataset.setValue("荔枝",500);return dataset;}public ChartPanel getChartPanel(){return frame1;}}效果图如下:四实现折线图的java代码:package com.njue.testJFreeChart;import java.awt.Font;import java.text.SimpleDateFormat;import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartPanel;import org.jfree.chart.JFreeChart;import org.jfree.chart.axis.DateAxis;import org.jfree.chart.axis.ValueAxis;import org.jfree.chart.plot.XYPlot;import org.jfree.data.time.Month;import org.jfree.data.time.TimeSeries;import org.jfree.data.time.TimeSeriesCollection;import org.jfree.data.xy.XYDataset;public class TimeSeriesChart {ChartPanel frame1;public TimeSeriesChart(){XYDataset xydataset = createDataset();JFreeChart jfreechart = ChartFactory.createTimeSeriesChart("Legal & General单位信托基⾦价格", "⽇期", "价格",xydataset, true, true, true); XYPlot xyplot = (XYPlot) jfreechart.getPlot();DateAxis dateaxis = (DateAxis) xyplot.getDomainAxis();dateaxis.setDateFormatOverride(new SimpleDateFormat("MMM-yyyy"));frame1=new ChartPanel(jfreechart,true);dateaxis.setLabelFont(new Font("⿊体",Font.BOLD,14)); //⽔平底部标题dateaxis.setTickLabelFont(new Font("宋体",Font.BOLD,12)); //垂直标题ValueAxis rangeAxis=xyplot.getRangeAxis();//获取柱状rangeAxis.setLabelFont(new Font("⿊体",Font.BOLD,15));jfreechart.getLegend().setItemFont(new Font("⿊体", Font.BOLD, 15));jfreechart.getTitle().setFont(new Font("宋体",Font.BOLD,20));//设置标题字体 }private static XYDataset createDataset() { //这个数据集有点多,但都不难理解 TimeSeries timeseries = new TimeSeries("legal & general欧洲指数信任", org.jfree.data.time.Month.class);timeseries.add(new Month(2, 2001), 181.80000000000001D);timeseries.add(new Month(3, 2001), 167.30000000000001D);timeseries.add(new Month(4, 2001), 153.80000000000001D);timeseries.add(new Month(5, 2001), 167.59999999999999D);timeseries.add(new Month(6, 2001), 158.80000000000001D);timeseries.add(new Month(7, 2001), 148.30000000000001D);timeseries.add(new Month(8, 2001), 153.90000000000001D);timeseries.add(new Month(9, 2001), 142.69999999999999D);timeseries.add(new Month(10, 2001), 123.2D);timeseries.add(new Month(11, 2001), 131.80000000000001D);timeseries.add(new Month(12, 2001), 139.59999999999999D);timeseries.add(new Month(1, 2002), 142.90000000000001D);timeseries.add(new Month(2, 2002), 138.69999999999999D);timeseries.add(new Month(3, 2002), 137.30000000000001D);timeseries.add(new Month(4, 2002), 143.90000000000001D);timeseries.add(new Month(5, 2002), 139.80000000000001D);timeseries.add(new Month(6, 2002), 137D);timeseries.add(new Month(7, 2002), 132.80000000000001D);TimeSeries timeseries1 = new TimeSeries("legal & general英国指数信任", org.jfree.data.time.Month.class);timeseries1.add(new Month(2, 2001), 129.59999999999999D);timeseries1.add(new Month(3, 2001), 123.2D);timeseries1.add(new Month(4, 2001), 117.2D);timeseries1.add(new Month(5, 2001), 124.09999999999999D);timeseries1.add(new Month(6, 2001), 122.59999999999999D);timeseries1.add(new Month(7, 2001), 119.2D);timeseries1.add(new Month(8, 2001), 116.5D);timeseries1.add(new Month(9, 2001), 112.7D);timeseries1.add(new Month(10, 2001), 101.5D);timeseries1.add(new Month(11, 2001), 106.09999999999999D);timeseries1.add(new Month(12, 2001), 110.3D);timeseries1.add(new Month(1, 2002), 111.7D);timeseries1.add(new Month(2, 2002), 111D);timeseries1.add(new Month(3, 2002), 109.59999999999999D);timeseries1.add(new Month(4, 2002), 113.2D);timeseries1.add(new Month(5, 2002), 111.59999999999999D);timeseries1.add(new Month(6, 2002), 108.8D);timeseries1.add(new Month(7, 2002), 101.59999999999999D);TimeSeriesCollection timeseriescollection = new TimeSeriesCollection(); timeseriescollection.addSeries(timeseries);timeseriescollection.addSeries(timeseries1);return timeseriescollection;}public ChartPanel getChartPanel(){return frame1;}}效果图如下:再来看⼀下主⽅法:import java.awt.GridLayout;import javax.swing.JFrame;public class mainClass {public static void main(String args[]){JFrame frame=new JFrame("Java数据统计图");frame.setLayout(new GridLayout(2,2,10,10));frame.add(new BarChart().getChartPanel()); //添加柱形图frame.add(new BarChart1().getChartPanel()); //添加柱形图的另⼀种效果frame.add(new PieChart().getChartPanel()); //添加饼状图frame.add(new TimeSeriesChart().getChartPanel()); //添加折线图frame.setBounds(50, 50, 800, 600);frame.setVisible(true);}}五总结以上都是⼀个简单的例⼦去实现了,想了解更深的同学可⾃⾏查询资料,其实以上代码都通俗易懂,只要结合⾃⼰的实际情况,便可开发出属于⾃⼰的Application,⼤家可以看出我这⾥是在Application上实现的,其实更多情况数据统计图在javaweb 上应⽤更多,⼤家也可⾃⾏了解。

java面向对象九个经典例子程序

java面向对象九个经典例子程序

java⾯向对象九个经典例⼦程序1 Hello world例⼦1package Example; //定义⾃⼰的包名23public class Example1 //定义⼀个类4 {5public static void main(String[] args) //系统可以执⾏的main⽅法,这⾥是⼀个公有静态⽆返回值的⽅法6 {7 System.out.println("Hello world!");8//调⽤ng包中的System类的PrintLine⽅法输出Hello world!9 }10 }2 类的基本组成⽰例1package Example;2class Person3 {4public int age; //声明公共字段age5private String name; //声明私有字段name,此时name为类的属性,下⾯通过公有⽅法进⾏访问6public String getName() {7return name;8 }9public void setName(String name) { = name;11 }1213public void eat() //定义⽆参数的eat⽅法14 {15 System.out.println("Person can eat");16 }17public void eat(String s) //定义带参数的eat⽅法,实现⽅法重载18 {19 System.out.println("Person can eat"+s);20 }21public Person() //定义⽆参构造函数,注意⽆返回值定义,⽅法与类同名22 {23 }24public Person(int age, String name) //重写⼀个带参数构造函数,注意⽆返回值定义,⽅法与类同名25 {26this.age = age; //前⼀个age为对象的字段,由this指定,后⼀个age为函数形参 = name; //前⼀个name为对象的属性,由this指定,因为在本类中可直接访问,后⼀个name为函数形参28 }2930 }31public class Example232 {33public static void main(String[] args)34 {35 Person person1 = new Person(); //调⽤类的⽆参构造函数36 person1.age = 20; //给对象的公有字段直接赋值37 person1.setName("zhangsan"); //必须使⽤公共⽅法才能给对象的属性赋值38 System.out.println("第⼀个⼈信息,姓名:"+person1.getName()+"年龄:"+person1.age);39 person1.eat(); //调⽤对象的⽆参⽅法40 Person person2 = new Person(18, "lisi");//调⽤类的有参构造函数41 System.out.println("第⼆个⼈信息,姓名:" + person2.getName() + "年龄:" + person2.age);42 person2.eat(" 馒头"); //调⽤对象的有参⽅法4344 }45 }3静态与⾮静态变量及⽅法的使⽤1package Example;23class Example34 {5public int x; //⾮静态变量6public static int y; //静态变量7void method() //⾮静态⽅法8 {9 x = 1; //正确,⾮静态⽅法可以访问⾮静态成员10 y = 1; //正确,⾮静态⽅法可以访问静态成员11 System.out.println("实例⽅法访问:x="+x+" y="+y);12 }13static void smethod() //静态⽅法14 {15//x = 3; 错误,静态⽅法不能⾮静态成员16 y = 3; //正确,静态⽅法可以访问静态成员17 System.out.println("静态⽅法访问:y="+y);19public static void main(String[] args)20 {21 Example3 prog3 = new Example3();//⽣成类的实例22 prog3.method(); //⾮静态⽅法通过实例来调⽤2324 Example3.smethod(); //静态⽅法通过类名来调⽤25 }26 }4 类继承的例⼦1package Example;23class mother4 {5public static String sex;//成员变量6public void method1()//⽗类成员⽅法17 {8 System.out.println("母亲的⽅法1!");9 }10public void method2() //⽗类成员⽅法211 {12 System.out.println("母亲的⽅法2!");13 }14 }15class boy extends mother //继承16 {17public void method2() //改写⽗类成员⽅法,Java中⽅法均为虚⽅法18 {19 System.out.println("我⾃⼰的⽅法2!");20 }21 }22public class Example423 {24public static void main(String[] args)25 {26 boy boys = new boy();27 boy.sex = "男孩";//静态变量的继承28 System.out.println("继承⽽来的字段sex的值为:"+boy.sex);29 boys.method1();//来⾃⽗类的⽅法30 boys.method2();//⾃⼰改写后的⽅法31 }5类的访问修饰符1package Example;23class program14 {5public int a; //公⽤成员6protected int b; //保护成员7int c; //友好成员8private int d; //私有成员9public void method1()10 {11 a = 1; //内部访问公⽤成员,正确12 b = 1; //内部访问保护成员,正确13 c = 1; //内部访问友好成员,正确14 d = 1; //内部访问私有成员,正确15 System.out.println("a="+a+",b="+b+",c="+c+",d="+d);16 }17 }18class program219 {20public void method2()21 {22 program1 prog1 = new program1();23 prog1.a = 2;24//prog1.b=2 //错误,只能在类的内部访问或在它的继承类⾥访问25 prog1.c=2; // 正确,在同⼀个程序集⾥都可以访问26//prog1.d = 2; //错误,只能在它的类的内部访问27 System.out.println("另⼀个类中访问公有成员a="+prog1.a+",友好成员c="+prog1.c);28 }29 }30class program3 extends program131 {32public void method3()33 {3435 b = 4; //正确,保护成员可以在它的继承类⾥访问36 System.out.println("⼦类可以访问受保护成员b="+b);37 }39public class Example540 {41public static void main(String[] args)42 {43 program1 prog1 = new program1();44 prog1.method1();45 program2 prog2 = new program2();46 prog2.method2();47 program3 prog3 = new program3();48 prog3.method3();49 }50 }6抽象类及其实现⽰例1package Example;23//应该注意的是:继承抽象类的类,要求抽象类中的抽象⽅法要被实例化4abstract class personClass //抽象类5 {6public String sex;//变量。

EKP FOR JAVA开发样例V4

EKP FOR JAVA开发样例V4

蓝凌JAVA 产品EKP FOR JAVA 开发样例文档控制/Document Control 修改记录审阅人分发目录第一章、概述 (4)1.1.目的 (4)1.2.范围 (4)1.3.文档约定 (4)第二章、开发规范 (5)第三章、开发环境准备 (6)第四章、简单样例开发 (7)1.1需求分析 (7)1.2页面原形的制作 (7)1.3检出项目 (7)1.4启动项目 (8)1.4.1创建数据库 (8)1.4.2修改数据库连接的配置 (9)1.4.3启动内存溢出的解决 (9)1.4.4数据初始化 (11)1.4.5登陆首页验证环境 (12)1.5数据库设计 (12)1.5.1新建存放代码的项目 (12)1.5.2新建ModelsTry数据模型文件 (15)1.5.3表设计 (18)1.6生成代码 (20)1.6.1设置模型属性 (20)1.6.2生成代码 (24)1.7拷贝代码文件 (27)1.7.1拷贝java文件 (27)1.7.2拷贝jsp文件 (28)1.7.3拷贝XMl配置文件 (29)1.7.4模块目录树tree.jsp (29)1.8修改业务代码 (30)1.8.1修改model代码 (30)1.8.2修改form代码 (30)1.8.3修改dao代码 (30)1.8.4修改service代码 (31)1.8.5修改action代码 (31)1.8.6修改list页面代码 (33)1.8.7修改edit页面代码 (34)1.8.8修改view页面代码 (36)1.9启动项目测试功能 (39)第五章、常用组件使用 (41)1.1.枚举类型 (41)1.1.1.数据库设计 (41)1.1.2.枚举类型配置文件 (45)1.2.RTF文本域 (46)1.2.1.数据库设计 (46)1.2.2.修改edit页面代码 (49)1.2.3.修改view页面代码 (50)1.3.树 (51)1.3.1.数据库设计 (51)1.3.2.修改model代码 (53)1.3.3.修改form代码 (56)1.3.4.修改service代码 (58)1.3.5.修改dao代码 (60)1.3.6.修改list页面 (60)1.3.7.修改edit页面 (60)1.3.8.修改view页面 (62)1.4.分类 (63)1.4.1.数据库设计 (63)1.4.2.修改action代码 (66)1.4.3.修改list页面代码 (67)1.4.4.修改edit页面代码 (67)1.4.5.修改view页面代码 (68)1.5.综合应用 (68)1.5.1.数据库设计 (68)1.5.2.修改ModelsTry属性 (69)1.5.3.修改model文件 (75)1.5.4.修改form文件 (75)1.5.5.修改dao代码 (75)1.5.6.修改action代码 (76)1.5.7.修改list页面代码 (76)1.5.8.修改edit页面代码 (79)1.5.9.修改view页面代码 (83)第六章、机制部署 (87)第七章、附录 (88)1.1登陆系统 (88)1.2转入系统页面 (88)1.3导入系统初始化 (89)1.4导航树配置 (90)1.5主页设置 (92)文档授权 (95)第一章、概述1.1. 目的本文档的目的是使Java产品开发能以标准的、规范的方式设计和编码,通过该指引可以使新开发人员快速进入开发、查找样例代码,提高开发质量和速度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

jta.setFont((new Font("宋体", Font.BOLD, 12)));
else if("楷体".equals(actionCommand))
jta.setFont((new Font("楷体", Font.PLAIN, 12)));
else if("Arial".equals(actionCommand))
else if("Pink".equals(actionCommand))
jta.setForeground(Color.pink);
else if("Blue".equals(actionCommand))
jta.sLeabharlann tForeground(Color.blue);
else if("宋体".equals(actionCommand))
jmb.add(jm3);
jta=new JTextArea("Hello Java!!
");
con.add(jp,BorderLayout.SOUTH);
jmi1.addActionListener(this);
jmi2.addActionListener(this);
jmi3.addActionListener(this);
JTextArea jta; JMenuItem jmi1,jmi2,jmi3,jmi4,jmi5,jmi6,jmi7,jmi8; public MenuShow(){
setTitle("菜单演示"); Container con=getContentPane(); BorderLayout bl=new BorderLayout(); JPanel jp=new JPanel(); JMenuBar jmb=new JMenuBar(); setJMenuBar(jmb); JMenu jm1=new JMenu("Color"); jmi1=new JMenuItem("Yellow"); jmi2=new JMenuItem("Orange"); jmi3=new JMenuItem("Pink"); jmi4=new JMenuItem("Blue"); jm1.add(jmi1); jm1.add(jmi2); jm1.add(jmi3); jm1.add(jmi4); JMenu jm2=new JMenu("Style"); jmi5=new JMenuItem("宋体"); jmi6=new JMenuItem("楷体"); jmi7=new JMenuItem("Arial"); jmi8=new JMenuItem("Times New Roman"); jm2.add(jmi5); jm2.add(jmi6); jm2.add(jmi7); jm2.add(jmi8); JMenu jm3=new JMenu("Exit"); jmb.add(jm1); jmb.add(jm2);
jmi4.addActionListener(this);
jmi5.addActionListener(this);
jmi6.addActionListener(this);
jmi7.addActionListener(this);
jmi8.addActionListener(this);
jp.add(jta);
setSize(300,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e){
String actionCommand=e.getActionCommand();
jta.setFont((new Font("Arial", Font.ITALIC, 12)));
else if("Times New Roman".equals(actionCommand))
jta.setFont((new Font("Times New Roman", Font.BOLD, 12)));
}
}
public static void main(String args[]){
MenuShow ms=new MenuShow();
}
}
if(e.getSource() instanceof JMenuItem ){
if("Yellow".equals(actionCommand))
jta.setForeground(Color.yellow);
else if("Orange".equals(actionCommand))
jta.setForeground(Color.orange);
编写程序,建立一个带有菜单的窗体。当用户选择“Color”或“Style”菜单的相关选项时, 标签中文字的字体和颜色会发生相应的变化。运行界面如下。
import java.awt.*; import java.awt.event.*; import javax.swing.*; public class MenuShow extends JFrame implements ActionListener{
相关文档
最新文档