最新java第二版第二章答案
java语言程序设计教程第二版(邱桃荣著)课后答案下载
java语言程序设计教程第二版(邱桃荣著)课后答案下载《JAVA语言程序设计教程》为Java语言基础教程,在讲解Java 语法的同时,介绍了用Eclipse软件实现Java可视化编程的方法。
以下是要与大家分享的java语言程序设计教程第二版(邱桃荣著),供大家参考!点击此处下载???java语言程序设计教程第二版(邱桃荣著)课后答案???《JAVA语言程序设计教程》可作为本科和大专院校计算机及相关专业的教材,也可作为Java培训教程,并可供广大Java编程学习者参考。
出版说明前言第1章Java编程概述1.1Java语言简介1.1.1Java语言的特点1.1.2Java虚拟机的运行过程1.2Java开发环境简介1.2.1开发工具包JDK1.2.2开发平台Eclipse1.3Java编程简介1.3.1创建Java项目1.3.2控制台程序开发1.3.3SWT应用程序开发1.3.4SWT中组件的帮助1.3.5Applet小程序开发1.4类和对象的初步介绍1.4.1Java的面向对象技术1.4.2类的定义与对象的创建 1.5习题第2章Java语言编程基础2.1数据类型、常量和变量2.1.1标识符和关键字2.1.2数据类型2.1.3基本数据类型2.1.4基本数据类型的转换2.1.5字符串类型2.2运算符与表达式2.2.1算术运算符与算术表达式 2.2.2关系运算符与关系表达式 2.2.3逻辑运算符与逻辑表达式 2.2.4赋值运算符与赋值表达式 2.2.5条件运算符与条件表达式 2.2.6位运算符与位表达式2.2.7运算符综述2.3控制语句2.3.1算法与语句概述2.3.2选择结构语句2.3.3循环结构语句2.4习题第3章Java的数组与方法 3.1数组3.1.1数组的基本概念3.1.2一维数组3.1.3二维数组3.1.4数组的复制与重置 3.2方法3.2.1方法的基本概念3.2.2方法的应用3.2.3方法的递归3.3习题第4章类与对象4.1类的定义4.1.1类定义的一般格式 4.1.2数据成员4.1.3成员方法4.1.4成员的访问控制4.1.5类的继承4.2对象4.2.1对象的创建4.2.2对象的使用4.3包4.3.1package语句4.3.2import语句4.3.3将类打包4.4接口4.4.1接口的声明与使用4.4.2接口回调4.4.3接口做参数4.5Java库常见类举例4.5.1基本类型的类包装4.5.2String类4.5.3Calendar类4.5.4Math类4.5.5其他4.6习题第5章SWT组件及事件处理 5.1SWT中的包5.2SWT的常用组件5.2.1按钮、复选框、单选按钮5.2.2文本框5.2.3下拉框(Combo类)5.2.4列表框(List类)5.3容器类5.3.1面板(Composite类)5.3.2分组框(Group类)5.3.3选项卡(TabFolder类和Tabltem类)5.3.4分隔窗(SashForm类)5.3.5带滚动条的面板(ScrolledComposite类) 5.3.6窗口容器(Shell类)5.4布局管理器5.4.1简介5.4.2填充布局(FillLayout类)5.4.3行布局(RowLayout类)5.4.4网格布局(GridLayout类)5.4.5堆栈布局(StackLayout类)5.4.6表格布局(FormLayout类)5.5习题第6章高级SVvT组件6.1工具栏与菜单6.1.1工具栏6.1.2动态工具栏6.1.3菜单6.2滚动条与画布6.2.1滚动条、刻度条、进度条6.2.2画布6.3表格、树与浏览器6.3.1表格6.3.2树、表格型树6.3.3浏览器(Browser类)6.4对话框6.4.1对话框(Dialog类)6.4.2消息提示对话框(MessageBox类)6.4.3文件选择对话框(FileDialog类)6.4.4目录选择对话框(DirectoryDialog类) 6.4.5颜色对话框(ColorDialog类)6.4.6字体对话框(FontDialog类)6.4.7打印对话框(PrintDialog类)6.4.8自定义对话框6.5习题第7章Java异常处理7.1Java的异常7.1.1常见异常7.1.2异常的基本概念7.1.3异常处理机制7.1.4抛出异常7.2内置异常类7.2.1异常类的层次和主要子类 7.2.2异常类的方法和属性7.2.3异常类的使用实例7.3自定义异常7.4习题第8章Java的输入,输出处理 8.1输入/输出流简介8.1.1流的概念8.1.2输入/输出类的层次8.1.3标准输入/输出8.2以字节为数据单位的流类 8.2.1文件输入/输出字节流8.2.2内存读写8.2.3过滤流与缓冲流8.3以字符为数据单位的流类 8.3.1输入/输出字符流8.3.2文件输入/输出字符流8.3.3缓冲字符流8.3.4打印输出字符流8.4文件处理与对象串行化8.4.1文件描述8.4.2文件访问8.4.3对象串行化8.5其他常用流8.5.1管道流8.5.2顺序流……第9章Java线程第10章JavaApplet小程序设计第11章综合实例……1.Java程序设计教程第2版(雍俊海著)课后答案下载2.java语言程序设计基础篇第六版英文版课后答案机械工业出版社3.jsp程序设计实例教程刘志成课后答案人民邮电出版社。
java程序设计(辛运帏饶一梅马素霞第二版)课后习题答案
第二章习题2.2import java.util.*;classMyDate{privat e int year;privat e int month;privat e int day;public MyDate(int y,int m,int d){//构造函数,构造方法year=y;month=m;day=d;}//end public MyDate(int y,int m,int d)public i nt getY ea r(){//返回年return year;}//end getY ea r()public i nt getMon th(){//返回月return month;}//end getMon th()public i nt getDay(){//返回日return day;}//end getDay()}//end classMyDateclassEmploy ee{privat e String name;privat e double salary;privat e MyDate hi reDa y;public Employ ee(String n,double s,MyDate d){name=n;salary=s;hireDa y=d;}//end public Employ ee(String n,double s,MyDate d)public void print(){System.out.printl n("名字:"+name+"\n工资:"+salary+"\n雇佣年份:"+hireYear()+"\n");}//end print()public void raiseS alary(double byPercent){salary*=1+byPerc ent/100;}//endpublic i nt hireYe ar(){return hireDa y.getY ea r();}}//end classEmploy eepublic classMyTest Class {public static void main(String[] args) {Employee[]staff=new Employ ee[3];staff[0]=new Employ ee("HarryH acker",35000,new MyDate(1989,10,1));staff[1]=new Employ ee("Carl Carcke r",75000,new MyDate(1987,12,15));staff[2]=new Employ ee("Tony Tester",38000,new MyDate(1990,3,12));int intege rV alu e;System.out.printl n("The inform ation of employ ee are:");for(intege rV alu e=0;intege rV alu e<=2;intege rV alu e++){staff[i ntege rV alu e].raiseS alary(5);}//end for()for(intege rV alu e=0;intege rV alu e<=2;intege rV alu e++){staff[i ntege rV alu e].print();}//end for()}//end main()}//end classMyTestClass//习题2.4import java.util.*;public classDataTy pe {public static void main(String[] args) {boolea n flag;char yesCha r;byte finByte;int intV al ue;long longValue;short shortV alue;float fl oatV alue;double double V alue;flag=true;yesCha r='y';finByt e=30;intV al ue=-7000;longVal ue=200l;shortV alue=20000;floatV alue=9.997E-5f;double V alue=floatV alue*floatV alue;System.out.printl n("the values are:");System.out.printl n("布尔类型变量fl ag="+flag);System.out.printl n("字符型变量y e sCha r="+yesCha r);System.out.printl n("字节型变量fi nByt e="+finByt e);System.out.printl n("整型变量in tV alu e="+intV al ue);System.out.printl n("长整型变量l ongVal ue="+longVal ue);System.out.printl n("短整型变量s hortV alue="+shortV alue);System.out.printl n("浮点型变量fl oatV alue="+floatV alue);System.out.printl n("双精度浮点型变量dou bleVal ue="+doubleV alue); }//end main()}//习题2.9import java.util.*;classPubTest1{privat e int ivar1;privat e float fvar1,fvar2;public PubTest1(){fvar2=0.0f;}public float sum_f_I(){fvar2=fvar1+i var1;return fvar2;}public void print(){System.out.printl n("fvar2="+fvar2);}public void setIva r1(int ivalue){ivar1=i value;}public void setFva r1(floati value){fvar1=i value;}}public classPubMai nTest {public static void main(String[] args) {PubTest1 pubt1=new PubTest1();pubt1.setIva r1(10);pubt1.setFva r1(100.02f);pubt1.sum_f_I();pubt1.print();}}//习题2.10import java.util.*;classDate {privat e int year;privat e int month;privat e int day;public Date(int day, int month, int year) { //构造函数,构造方法this.year = year;this.month= month;this.day = day;} //end public MyDate(int y,int m,int d)public i nt getY ea r() { //返回年return year;} //end getY ea r()public i nt getMon th() { //返回月return month;} //end getMon th()public i nt getDay() { //返回日return day;} //end getDay()} //end classDatepublic class Teache r {String name;//教师名字boolea n sex;//性别,true表示男性Date birth;//出生日期String salary ID;//工资号String depart;//教师所在系所String posit;//教师职称String getNam e() {return name;}void setNam e(String name) { = name;}boolea n getSex() {return sex;}void setSex(boolea n sex) {this.sex = sex;}Date getBirth() {return birth;}void setBirth(Date birth) {this.birth= birth;}String getSal aryID() {return salary ID;}void setSal aryID(String salary ID) {this.salary ID = salary ID;}String getDep art() {return depart;}void setDep art(String depart) {this.depart = depart;}String getPosi t() {return posit;}void setPosi t(String posit) {this.posit = posit;}public Teache r(){System.out.printl n("父类无参数的构造方法!!!!!!!"); }//如果这里不加上这个无参数的构造方法将会出错!!!!public Teache r(String name,boolea n sex,Date birth,String salary i d,String depart,String posit){ =name;this.sex=sex;this.birth=birth;this.salary ID=salary i d;this.depart=depart;this.posit=posit;}//end Teache r()public void print(){System.out.print("the teache r'name:");System.out.printl n(this.getNam e());System.out.print("the teache r'sex:");if(this.getSex()==false){System.out.printl n("女");}else{System.out.printl n("男");}System.out.print("the teache r'birth:");System.out.printl n(this.getBirth().getY ea r()+"-"+this.getBirth().getMon th()+"-"+this.getBirth().getDay());System.out.print("the teache r'salary i d:");System.out.printl n(this.getSal aryID());System.out.print("the teache r'posit:");System.out.printl n(this.getPosi t());System.out.print("the teache r'depart:");System.out.printl n(this.getDep art());}//end print()public static void main(String[] args) {Date dt1=new Date(11,23,1989);Date dt2=new Date(2,6,1975);Date dt3=new Date(11,8,1964);Date dt4=new Date(10,4,1975);Date dt5=new Date(8,9,1969);//创建各系教师实例,用来测试Teache r t1=new Teache r("王莹",false,dt1,"123","经济学","prefessor");Resear chTea cher rt=new Resear chTea cher("杨zi青",true,dt2,"421","软件工程","associ ate prefessor","softwa re");LabTea cherl at=new LabTea cher("王夏瑾",false,dt3,"163","外语","pinstru cor","speech lab");LibTea cherl i t=new LibTea cher("马二孩",true,dt4,"521","大学物理","prefessor","physic alLib");AdminT eache r at=new AdminT eache r("王xi",false,dt5,"663","环境","prefessor","dean");/////////分别调用各自的输出方法,输出相应信息////////////////////////////System.out.printl n("-------------------------------");t1.print();//普通教师信息System.out.printl n("-------------------------------");rt.print();//研究系列教师信息System.out.printl n("-------------------------------");lat.print();//普通教师信息System.out.printl n("-------------------------------");lit.print();//实验系列教师信息System.out.printl n("-------------------------------");at.print();//行政系列教师信息System.out.printl n("-------------------------------");}//end main()}//end public classTeache rclassResearchTea cher extend s Teache r{privat e String resFie l d;public Resear chTea cher(String name, boolea n sex, Date birth, String salary i d,String depart, String posit, String resFie l d) { = name;this.sex = sex;this.birth= birth;this.salary ID = salary i d;this.posit = posit;this.resFie l d = resFie l d;} //end public ResearchTea cher(){}String getResField(){return resFie l d;}void setResField(String resFie l d){this.resFie l d=resFie l d;}public void print() {System.out.print("research teache r info is:");System.out.print("the teache r'name:");System.out.printl n(this.getNam e());System.out.print("the teache r'sex:");if (this.getSex() == false) {System.out.printl n("女");}else {System.out.printl n("男");}System.out.print("the teache r'birth:");System.out.printl n(this.getBirth().getY ea r() + "-" +this.getBirth().getMon th() + "-" +this.getBirth().getDay());System.out.print("the teache r'salary i d:");System.out.printl n(this.getSal aryID());System.out.print("the teache r'posit:");System.out.printl n(this.getPosi t());System.out.print("the teache r'depart:");System.out.printl n(this.getDep art());System.out.print("the teache r'resFie l d:");System.out.printl n(this.getResField());} //end print()}//end classResear chTea cherclassLabTea cherextend s Teache r{privat e String labNam e;public LabTea cher(String name, boolea n sex, Date birth,String salary i d, String depart,String posit, String labNam e) { = name;this.sex = sex;this.birth= birth;this.salary ID = salary i d;this.posit = posit;bNam e = labNam e;} //end public ResearchTea cher(){}String getLab Name(){return labNam e;}void setLab Name(S tring labNam e){bNam e=labNam e;}public void print() {System.out.print("lab teache r info is:");System.out.print("the teache r'name:");System.out.printl n(this.getNam e());System.out.print("the teache r'sex:");if (this.getSex() == false) {System.out.printl n("女");}else {System.out.printl n("男");}System.out.print("the teache r'birth:");System.out.printl n(this.getBirth().getY ea r() + "-" +this.getBirth().getMon th() + "-" +this.getBirth().getDay());System.out.print("the teache r'salary i d:");System.out.printl n(this.getSal aryID());System.out.print("the teache r'posit:");System.out.printl n(this.getPosi t());System.out.print("the teache r'depart:");System.out.printl n(this.getDep art());System.out.print("the teache r'labNam e:");System.out.printl n(bName);} //end print()}//end classLabTea cherclassLibTea cher extend s Teache r{privat e String libNam e;public LibTea cher(String name,boolea n sex,Date birth,String salary i d,String depart,String posit,String libNam e){ = name;this.sex = sex;this.birth= birth;this.salary ID = salary i d;this.posit = posit;this.libNam e=libNam e;}//end public Resear chTea cher(){}String getLib Name(){return libNam e;}void setLib Name(String libNam e){this.libNam e=libNam e;}public void print() {System.out.print("lib teache r info is:");System.out.print("the teache r'name:");System.out.printl n(this.getNam e());System.out.print("the teache r'sex:");if (this.getSex() == false) {System.out.printl n("女");}else {System.out.printl n("男");}System.out.print("the teache r'birth:");System.out.printl n(this.getBirth().getY ea r() + "-" +this.getBirth().getMon th() + "-" +this.getBirth().getDay());System.out.print("the teache r'salary i d:");System.out.printl n(this.getSal aryID());System.out.print("the teache r'posit:");System.out.printl n(this.getPosi t());System.out.print("the teache r'depart:");System.out.printl n(this.getDep art());System.out.print("the teache r'libNam e:");System.out.printl n(this.libNam e);} //end print()}//end classLibTea cherclassA dminT eache r extend s Teache r{privat e String manage Pos;public AdminTeache r(String name,boolea n sex,Date birth,String salary i d,String depart,String posit,String manage Pos){ = name;this.sex = sex;this.birth= birth;this.salary ID = salary i d;this.depart = depart;this.posit = posit;this.manage Pos=manage Pos;}//end public Resear chTea cher(){}String getMan agePo s(){return manage Pos;}void setMan agePo s(String manage Pos){this.manage Pos=manage Pos;}public void print() {System.out.print("admint eache r info is:");System.out.print("the teache r'name:");System.out.printl n(this.getNam e());System.out.print("the teache r'sex:");if (this.getSex() == false) {System.out.printl n("女");}else {System.out.printl n("男");}System.out.print("the teache r'birth:");System.out.printl n(this.getBirth().getY ea r() + "-" +this.getBirth().getMon th() + "-" +this.getBirth().getDay());System.out.print("the teache r'salary i d:");System.out.printl n(this.getSal aryID());System.out.print("the teache r'posit:");System.out.printl n(this.getPosi t());System.out.print("the teache r'depart:");System.out.printl n(this.getDep art());System.out.print("the teache r'manage Pos:");System.out.printl n(this.manage Pos);} //end print()}//end classA dminT eache r习题2.11public classCourse {privat e String course ID;privat e String course Name;privat e String course Type;privat e int classH our;privat e float credit;public Course(String course ID, String course Name, String course Type, int classH our, float credit) {this.course ID=course ID;this.course Name=course Name;this.course Type=course Type;this.classH our=classH our;this.credit=credit;}//end public Course(){}String getID() {return course ID;}void setID(String id) {this.course ID = id;}String getNam e() {return course Name;}void setNam e(String name) {this.course Name= name;}String getType() {return course Type;}void setTyp e(String type) {this.course Type= type;}int getCla ssHou r() {return classH our;}void setCla ssHou r(int hour) {this.classH our = hour;}float getCre dit() {return classH our;}void setCre dit(float credit) {this.credit= credit;}public void print(){System.out.printl n("the basici nfo of this course as followed:"); System.out.printl n("course ID="+this.getID());System.out.printl n("course Name="+this.getNam e());System.out.printl n("course Type="+this.getType());System.out.printl n("classH our="+this.getCla ssHou r());System.out.printl n("credit="+this.getCre di t());}public static void main(String[] args) {Course cs=new Course("d12","java程序设计(第二版)","cs",64,3.0f);System.out.printl n("----------------------------------");cs.print();System.out.printl n("修改课程学分为4.0f");cs.setCre dit(4);cs.print();}}//习题2.12public classMyGrap hi c {String lineCol or;String fillCol or;MyGrap hic(String l c,String fc){this.lineCol or=lc;this.fillCol or=fc;}void print(){System.out.printl n("line colori s "+this.lineCol or+"\t fill colori s "+this.fillCol or);}public static void main(String[] args) {float rd=(float)4.5;MyCircl e mc=new MyCircl e(rd,"black","white");MyRect angle mr=new MyRect angle(4,6,"red","blue");System.out.printl n("Circle info ");mc.print();System.out.printl n("circum feren ce is " + mc.calCir cum());System.out.printl n("square i s " + mc.calSquare());System.out.printl n("rectan gle info: ");mr.print();System.out.printl n("circum feren ce is " + mr.calCir cum());System.out.printl n("square i s " + mr.calSqu are());}//end main(){}}//end public classMyGrap hicclassMyRectangle extend s MyGrap hi c{float rLong;float rWidth;MyRect angle (float rl,float rw,String l c,String fc){super(l c,fc);this.rLong=rl;this.rWidth=rw;}//end MyRectangle (){}float calCir cum(){return ((float)((this.rLong+this.rWidth)*2));}float calSqu are(){return ((float)(this.rLong*this.rWidth));}}//end classMyRect angleclassMyCircl e extend s MyGrap hi c{float radius;MyCircl e (float rd,String l c,String fc){super(l c,fc);this.radius=rd;}//end MyRectangle (){}float calCir cum(){return (float)((this.radius*3.12*2));}float calSqu are(){return ((float)(this.radius*this.radius*3.14));}}//end classMyCircl e//习题2.13public classV ehicl e {String brand;String color;int price;int number;public V ehicl e(String b, String c) {this.brand= b;this.color = c;}public V ehicl e(String b, String c, int p, int n) {this(b, c);this.price= p;this.number = n;}void print() {System.out.printl n("\n-------------------------");System.out.printl n("the vehicl e info as followed :");System.out.printl n("brand=" + this.brand+ "\t");System.out.printl n("color=" + this.color+ "\t");System.out.printl n("price=" + this.price+ "\t");System.out.printl n("number=" + this.number + "\t"); } //end void print()public static void main(String[] args) {V ehicl e c1=new V ehicl e("vehicl e1","white");V ehicl e c2=new V ehicl e("vehicl e2","white",300,1);Car cr=new Car("car1","red",300,4,400);Trucktk2=new Truck("truck1","black",300,400);c1.print();c2.print();cr.print();tk2.print();} //end main()} //end public classV ehicl eclassCar extend s V ehicl e{int speed;Car(String b, String c, int p, int n,int s){super(b,c,p,n);this.speed=s;}void print(){super.print();System.out.print("speed="+this.speed);}}//end classCarclass Truckextend s V ehicl e{int speed;int weight;Truck(String b, String c, int s,int w){super(b,c);this.speed=s;this.weight=w;}void print(){super.print();System.out.print("speed="+this.speed);System.out.print("weight="+this.weight);}}//end class Truck第三章习题3.3public class Test {public static void main(String[] args) {int b1=1;int b2=1;System.out.printl n("b1=" + b1);System.out.printl n("b2=" + b2);b1<<=31;b2<<=31;System.out.printl n("b1=" + b1);System.out.printl n("b2=" + b2);b1 >>= 31;System.out.printl n("b1=" + b1);b1 >>= 1;System.out.printl n("b1=" + b1);b2 >>>= 31;System.out.printl n("b2=" + b2);b2 >>>= 1;System.out.printl n("b2=" + b2);}}//习题3.4public classFactori al {privat e int result,initVal;public static int Factori al(int n){if(n==0){return 1;}return n*Factori al(n-1);}public void print(){System.out.printl n(initVal+"!="+result); }public void setIni tV al(i nt n){initVal=n;}public static void main(String[] args) {Factori al ff=new Factori al();for(int i=0;i<=4;i++){ff.setIni tV al(2*(i+1));ff.result=Factorial(ff.initVal);ff.print();}//end for()}//end main()}//end public classFactori alpublic classFactori al2{privat e int result,initVal;public void print(){System.out.printl n(initVal+"!="+result); }public void setIni tV al(i nt n){initVal=n;}public static void main(String[] args) { Factori al2ff=new Factorial2();for(int i=0;i<=4;i++){ff.setIni tV al(2*(i+1));ff.result=1;for(int j=2;j<=ff.initVal;j++){ff.result*=j;}ff.print();}//end for()}//end main()}//习题3.5public classMathRa ndomT est {public static void main(String[] args) {int count=0,MAXof100,MINof100;int num,i;MAXof100=(int)(100*Math.random());MINof100=(int)(100*Math.random());System.out.print(MAXof100+" ");System.out.print(MINof100+" ");if(MAXof100>50)count++;if(MINof100>50)count++;if( MAXof100<MINof100){num=MINof100;MINof100=MAXof100;MAXof100=num;}//end if()for(i=0;i<98;i++){num=(int)(100*Math.random());System.out.print(num+((i+2)%10==9?"\n":" "));if(num>MAXof100){MAXof100=num;}else if(num<MINof100){MINof100=num;}if(num>50){count++;}}//end for()System.out.printl n("the max of 100 random intege rs i s "+MAXof100);System.out.printl n("the min of 100 random intege rs is "+MINof100);System.out.printl n("the number of random more than50 is "+count); }//end main()}//end public classMathRa ndomT est//习题3.7public classP rintA st {public void printA star() {System.out.print("*");}public void printS pace() {System.out.print(" ");}public static void main(String[] args) {PrintA st pa = new PrintA st();int initNu m = 13;for (int i = 1; i <= initNu m / 2 + 1; i++) {for (int n = 1; n <= i; n++) {pa.printS pace();pa.printS pace();}for (int m = 1; m <= initNu m - 2 * i + 2; m++) {pa.printS pace();pa.printA star();}System.out.printl n();} //end forif (initNu m % 2 == 0) {for (int i = 1; i <= initNu m / 2; i++) {pa.printS pace();pa.printS pace();}pa.printS pace();pa.printA star();pa.printS pace();pa.printA star();System.out.printl n();}for (int i = initNu m / 2 + 2; i <= initNu m; i++) {for (int n = 1; n <= initNu m - i + 1; n++) {pa.printS pace();pa.printS pace();}for (int m = 1; m <= 2 * i - initNu m; m++) {pa.printS pace();pa.printA star();}System.out.printl n();} //end forSystem.out.printl n();} //end main()} //end public class PrintA st//习题3.8public classP rintT riag{public void printA star() {System.out.print("*");}public static void main(String[] args) {int initLi ne = 10;int initNu m = 10;PrintT riagpt = new PrintT riag();for (int i = 0; i < initLi ne; i++) {for (int j = 0; j < initNu m - i; j++) {pt.printA star();}System.out.printl n();}}//end main()}//end public classPrintT riag习题3.9import java.util.*;public classMultip l eTab l e {public void printF ormul a(int i,int j,int res){System.out.print(i+"*"+j+"="+res+" "); }public static void main(String[] args) {Multip l eTab l e mt=new Multip leTab le();int initNu m=9;int res=0;for(int i=1;i<=initNu m;i++){for(int j=1;j<=i;j++){res=i*j;mt.printF o rmul a(i,j,res);}System.out.printl n();}//end for}//end main()}//end public classMultip l eTab l e习题3,10import java.io.*;public classH uiWen {boolea n isHuiW en(char str[], int n) {int net = 0;int i, j;for (i = 0, j = n - 1; i < n / 2; i++, j--) {if (str[i] == str[j]) {net++;} //end if} //end forif (net == (int) (n / 2)) {return true;} //end ifelse {return false;}} //end boolea n isHuiW en(char str[], int n) public static void main(String[] args) {HuiWen hw1 = new HuiWen();String pm = "";try {InputS tream Reade r reader = new InputS tream Reade r(System.in);BufferedRea der input = new BufferedRea der(reader);System.out.print("give your test string:\n");pm = input.readLi ne();System.out.printl n(pm);} //end trycatch (IOExce ption e) {System.out.print(e);} //end catchboolea n bw = hw1.isHuiW en(pm.toCharA rray(), pm.length());if (bw == true) {System.out.printl n("是回文");}else {System.out.printl n("不是回文");}} //end main()} //end public classH uiWenimport java.io.*;public classH uiWen2 {String reverse(String w1){String w2;char[]str1=w1.toCharA rray();int len=w1.length();char[]str2=new char[len];for(int i=0;i<len;i++){str2[i]=str1[len-1-i];}w2=new String(str2);return w2;}public static void main(String[] args) {HuiWen2 hw1 = new HuiWen2();String pm = "";try {InputS tream Reade r reader = new InputS tream Reade r(System.in);BufferedRea der input = new BufferedRea der(reader);System.out.print("give your test string:\n");pm = input.readLi ne();} //end trycatch (IOExce ption e) {System.out.print(e);} //end catchString w2=hw1.reverse(pm);if(pareTo(pm)==0){System.out.printl n("是回文");}else {System.out.printl n("不是回文");}}}//习题3.11import java.io.*;public classP rimeN umber {privat e int pm;public void setPm(i nt pm){this.pm=pm;}public boolea n isPrim e(){boolea n bl=true;int i=2;for(i=2;i<=Math.sqrt(pm);){if(pm%i==0){bl=false;break;}else{i++;}}//end forreturn bl;}//end public boolea n isPrim e()public static void main(String[] args) {PrimeN umber prim=new PrimeN umber();int testNu m=0;try{InputS tream Reade r reader = new InputS tream Reade r(System.in);BufferedRea der input = new BufferedRea der(reader);System.out.print("give your test number:\n");testNu m=Intege r.parseInt(input.readLi ne());}//end trycatch(IOExce ption e){System.out.printl n(e);}//end catchprim.setPm(testNu m);。
最新版JAVA2简明教程习题答案
最新版JAVA2简明教程习题答案声明: 答案以老师讲复习题为主,仅供参考.∪∩BUG整理于2018 07 03第二章课堂习题:public class Main{public static void main(String[] args) {//initialization phase初始段float f1 = 2.5f;float f2;int a = 7;int b = 2;int c;//processing phase 处理段f2 = f1 + (a/b);c = (a/b);//termination phase终止段System.out.println("f2的值为: " + f2);System.out.println("c的值为: " + c);}}课后习题:2-4(小程序部分)import java.applet.*;import java.awt.*;public class Gess extends Applet{public void paint(Graphics g){//3~10000中的任意数int m = 20;int n = 9993;g.drawString("本程序仅对3~10000中任意取的整数: ",80,50);g.drawString("20" ,80,65);g.drawString("9993" ,80,80);g.drawString("进行测试! " ,80,95);while (m !=1) //假设最后得到的数一定是1,则如果不为1就换算{if (m %2 == 0) //如果被2整除则为偶数,除以2m = m /2;else //如果不被2整除则为奇数,乘以3再加1{m = m *3 + 1;}}while (n !=1) //假设最后得到的数一定是1,则如果不为1就换算{if (n %2 == 0) //如果被2整除则为偶数,除以2n = n /2;else //如果不被2整除则为奇数,乘以3再加1{n = n *3 + 1;}}g.drawString("20换算后的值为: " + m,80,110);g.drawString("9993换算后的值为: " + m,80,125);}}(程序部分)import java.io.*; //引入java.io中的所有类(含输入输出类),因为程序中要用到输入类的read()方法public class Main{public static void main(String[] args){byte []buf =new byte[50]; //50个字节的数组用于存字符串String str;long m = 0;System.out.println("请输入3~10000中的任意整数(回车确认):");try //try 语气{System.in.read(buf); //从键盘读入一数字串保存于buf中str = new String(buf); //buf转换成字符串对象strm = Long.parseLong(str.trim()); //数字转换成整数}catch (Exception e){} //catch语气,Exception为异常类while (m !=1) //假设最后得到的数一定是1,则如果不为1就换算{if (m %2 == 0) //如果被2整除则为偶数,除以2m = m /2;else //如果不被2整除则为奇数,乘以3再加1{m = m *3 + 1;}}System.out.println("换算后的值为:\t" + m);}}2-6public class Main{public static void main(String[] args){// initialization phase //初始段int j = 1;int []a; //用于存放第一个骰子的点数的整形数组int []b; //用于存放第二个骰子的点数的整形数组int two = 0; //相加和为2的计数器int sev = 0; //相加和为7的计数器int twe = 0; //相加和为12的计数器int oth = 0; //相加和为其他数的计数器a = new int [6]; //分配数组空间b = a; //骰子的点数相同,这里将数组a赋给数组b(这时b和a同用一块内存空间)//processing phase 处理段。
java语言程序设计(基础篇)第二章程序练习题标准答案
2.1(将摄氏温度转化为华氏温度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a degree in celsius: ");double Celsius = input.nextDouble();double Fahrenheit;Fahrenheit = (9.0/5) * Celsius + 32;System.out.println(Celsius + " Celsius is" + Fahrenheit + " Fahrenheit");}}2.2(计算圆柱体的体积)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the radius and length of a cylinder: ");double radius = input.nextDouble();double length =input.nextDouble();double area = radius * radius * Math.PI;double volume = area * length;System.out.println("The area is " + area);System.out.println("The volume is " + volume);}}2.3(将英尺转换为米)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a value for feet: ");double feet = input.nextDouble();double meters = feet * 0.305;System.out.println(feet+ " feet is " + meters + " meters");}}2.4(将磅转换为千克)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a number in pounds: ");double pounds = input.nextDouble();double kilograms = pounds * 0.454;System.out.println(pounds + " pounds is " + kilograms + " kilograms");}}2.5(财务应用程序:计算消费)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the subtotal and gratuity rate: ");double subtotal = input.nextDouble();double Gratuity = input.nextDouble();double gratuity = subtotal * Gratuity * 0.01;double total = gratuity + subtotal;System.out.println("The gratuity is $" + gratuity + " and total is " + total);}}2.6(求一个整数个位数的和)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter a number between 0 and 1000: ");int number = input.nextInt();int sum = number % 10 + (number / 10) % 10 + (number / 100) % 10;System.out.println("The sum of the digits is " + sum);}}2.7(求出年数)import java.util.Scanner;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the number of minutes: ");double minutes = input.nextDouble();int years = (int)minutes / (60*24*365);int days= (int)minutes/ (60*24) - ((int)minutes/ (60*24*365)) * 365;System.out.println(minutes + "minutes is approximately " + years + " years and " + days + " days");}}2.8(当前时间)import java.util.*;public class ShowXureentTime {public static void main(String[] args) {// TODO Auto-generated method stublong totalMilliseconds = System.currentTimeMillis();//得到1970年1月1日到现在的毫秒数long totalSeconds = totalMilliseconds / 1000;//将总毫秒转化为总秒long currentSecond = totalSeconds % 60;//当前的秒数long totalMinutes = totalSeconds / 60;//得到总的分钟long currentMinute = totalMinutes % 60;//当前的分钟数long totalHours = totalMinutes / 60;//得到总小时Scanner input = new Scanner(System.in);System.out.print("Enter the time zone offset to GMT: ");long zone = input.nextInt();long currentHour = totalHours % 24 + zone;//当前的小时数if(currentHour <0) {currentHour = currentHour + 24;}System.out.println("Current time is " + currentHour + ":" +currentMinute + ":" + currentSecond + " GMT");}//GMT世界时}2.9(物理:加速度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter v0, v1 and t: ");double v0 = input.nextDouble();double v1 = input.nextDouble();double t = input.nextDouble();double acceleration = (v1 - v0) / t;System.out.println("The average acceleration is " +String.format("%.4f", acceleration));}}2.10(科学:计算能量)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the amount of water in kilograms: ");double M = input.nextDouble();System.out.print("Enter the initial temperature: ");double temperature1 = input.nextDouble();System.out.print("Enter the final temperature: ");double temperature2 = input.nextDouble();double energy = M * (temperature2 - temperature1) * 4184;System.out.println("The energy needed is " + energy);}}2.1(人口统计)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the number of years: ");int year = input.nextInt();int population = 312032486;int temp= (365*12*60*60/7)-(365*12*60*60/13)+(365*12*60*60/45);//j = 诞生-死亡+移民迁入;for(int i = 1 ;i <= year ;i ++ ) {population = temp + population ;}System.out.println("The population in " + year + " years is " + population);}}2.12(物理:求出跑道的长度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter speed and acceleration: ");double speed = input.nextDouble();double acceleration = input.nextDouble();double length = speed * speed / (2 * acceleration);System.out.println("The minimum runway length for this airplane is " + String.format("%.3f", length));}}2.13(财务应用程序:复利值)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the monthly saving aomunt: ");double monthly = input.nextDouble();double money = 0;for(int i = 1; i <= 6; i++) {money = (monthly + money) * (1 + 0.00417);}System.out.println("After the sixth month, the account value is " + String.format("%.2f", money));}}2.14(医疗应用程序:计算BMI)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter weight in pounds: ");double pounds = input.nextDouble();double kilogram = pounds * 0.45359237;System.out.print("Enter height in inches: ");double inches = input.nextDouble();double meter = inches * 0.0254;double BMI = (kilogram / (meter * meter)) ;System.out.println("BMI is " + String.format("%.4f", BMI));}}2.15(几何:两点间距离)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter x1 and y1: ");double x1 = input.nextDouble();double y1 = input.nextDouble();System.out.print("Enter x2 and y2: ");double x2 = input.nextDouble();double y2 = input.nextDouble();double distance = (x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1);System.out.println("The distance between the two points is " + Math.pow(distance, 0.5));}}2.16(几何:六边形面积)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the side: ");double side = input.nextDouble();double area = 3 * Math.sqrt(3) / 2 * side * side;System.out.println("The area of the hexagon is " + area);}}2.17(科学:风寒温度)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the temperature in Fahrenheit between -58°F and 41°F: ");double Fahrenheit = input.nextDouble();System.out.print("Enter the wind speed (>=2) in miles per hour: ");double speed = input.nextDouble();double t = 35.74 + 0.6215 * Fahrenheit - 35.75 * Math.pow(speed, 0.16) + 0.4275 * Fahrenheit * Math.pow(speed, 0.16);System.out.println("The win chill index is " + String.format("%.5f", t));}}2.18(打印表格)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubSystem.out.println("a\t" + "b\t" + "pow(a, b)");System.out.println("1\t" + "2\t" + (int)Math.pow(1, 2));System.out.println("2\t" + "3\t" + (int)Math.pow(2, 3));System.out.println("3\t" + "4\t" + (int)Math.pow(3, 4));System.out.println("4\t" + "5\t" + (int)Math.pow(4, 5));System.out.println("5\t" + "6\t" + (int)Math.pow(5, 6));}}2.19(几何:三角形的面积)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter three points fir a trinangle: ");double x1 = input.nextDouble();double y1 = input.nextDouble();double x2 = input.nextDouble();double y2 = input.nextDouble();double x3 = input.nextDouble();double y3 = input.nextDouble();double edge1= Math.pow((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1), 0.5);double edge2= Math.pow((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2), 0.5);double edge3= Math.pow((x3 - x1) * (x3 - x1) + (y3 - y1) * (y3 - y1), 0.5);double s =(edge1 + edge2 + edge3) / 2;double area = Math.pow(s* (s- edge1) * (s- edge2) * (s- edge3), 0.5);System.out.println("The area of the tringle is "+ String.format("%.1f", area));}}2.20(财务应用程序:计算利息)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter balance and interst rate (e.g, 3 for 3%): ");double balance = input.nextDouble();double annual = input.nextDouble();double interst = balance * ( annual / 1200);System.out.println("The interst is "+ String.format("%.5f", interst));}}2.21(财务应用:计算未来投资值)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter investment amount: ");double investment = input.nextDouble();System.out.print("Enter annual interest rate in percentage: ");double interest = input.nextDouble();interest = interest / 100 / 12;System.out.print("Enternumber of yuears: ");double years = input.nextDouble();double value = investment * Math.pow((1 + interest), (years * 12));System.out.println("Accumulated value is $" + String.format("%.2f", value));}}2.22(财务应用:货币单位)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter an amount in int, for example 1156: ");int amount = input.nextInt();int remainingAmount = amount;int numberOfOneDollars = remainingAmount / 100;remainingAmount = remainingAmount % 100;int numbersOfQuarters = remainingAmount / 25;remainingAmount = remainingAmount % 25;int numberOfDimes = remainingAmount / 10;remainingAmount = remainingAmount % 10;int numberOfNickels = remainingAmount / 5;remainingAmount = remainingAmount % 5;int numberOfPennies = remainingAmount;System.out.println("Your amount " + amount + " consosts of");System.out.println(" " + numberOfOneDollars + " dollars");System.out.println(" " + numbersOfQuarters + " quarters");System.out.println(" " + numberOfDimes + " dimes");System.out.println(" " + numberOfNickels + " nickels");System.out.println(" " + numberOfPennies + " pennies");}}2.23(驾驶费用)import java.util.*;public class test {public static void main(String[] args) {// TODO Auto-generated method stubScanner input = new Scanner(System.in);System.out.print("Enter the driving distance: ");double drivingDistance = input.nextDouble();System.out.print("Enter miles per gallon: ");double milesPerGallon = input.nextDouble();System.out.print("Enter price per gallon: ");double pricePerGallon = input.nextDouble();double costOfDriving = drivingDistance / milesPerGallon * pricePerGallon;System.out.print("The cost of driving is $" + String.format("%.2f", costOfDriving));}}。
JAVA大学实用教程第二版_习题答案
Java大学实用教程第二版课后答案第一章作业题1.public class Hello{public static void main (String args[ ]){System.out.pintln(“早上好,good Morning”);}}2.import java.applet.*;import java.awt.*;public class Boy extends Applet {public void paint(Graphics g) {g.setColor(Color.blue);g.drawString("你好,hello",12,30);}}第二章作业题1.public class ZuoYe2_1{public static void main (String args[ ]){char c='а';System.out.println("字母"+c+"在unicode表中的顺序位置:"+(int)c);System.out.println("字母表:");while(c<='я'){System.out.print(" "+c);c=(char)(c+1);}}}2.import java.util.*;public class ZuoYe2_2{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);long chengji=1;int m=0;while(reader.hasNextInt()){int x=reader.nextInt();m=m+1;chengji=chengji*x;}System.out.println(m+"个数的乘积为"+chengji);}}第三章作业题1.import java.util.*;public class ZuoYe3_1{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);double y=0,x=0;x=reader.nextDouble();if(x<0)y=-1+2*x;else if(x==0)y=-1;else if(x>0)y=-1+3*x;System.out.println(y);}}2.public class ZuoYe3_2{public static void main(String args[]){int sum=0,m=3,n=7,a=1;while(a<=1000){if(a%m==0&&a%n==0)sum=sum+a;a++;}System.out.println("sum="+sum);}}3.public class ZuoYe3_3{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){ sum=sum+item;item=item*10+a;}System.out.println(sum);}}4.public class ZuoYe3_4{public static void main(String args[]){double sum=0,a=1,b=1,fuhao=1,item=a/b;int i=1;while(i<=1000){sum=sum+fuhao*item;i++;fuhao=fuhao*(-1);b=b+2;item=a/b;System.out.println("sum="+sum);}}5.public class ZuoYe3_5{public static void main(String args[]){double sum=0,a=1;int i=1;while(i<=20){if(i>=10)sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}8.第四章作业题1.class DengCha{int start,d;DengCha(){}DengCha(int start,int d){this.start=start;this.d=d;}void setStart(int s){start=s;void setD(int d){this.d=d;}int getSum(int n){int sum=0,i=1;while(i<=n){sum=sum+start;start=start+d;i++;}return sum;}}public class ZuoYe4_1{public static void main (String args[ ]){DengCha shulie=new DengCha(2,3);System.out.println(shulie.getSum(100));shulie.setStart(10);shulie.setD(5);System.out.println(shulie.getSum(9)); }}2.class Letter{public void printLetter(){for(char c='a';c<='z';c++)System.out.print(" "+c);}}public class ZuoYe4_2{public static void main (String args[ ]){Letter p=new Letter();p.printLetter();}}3.class SquareEquation{double a,b;static double c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c){this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}public void getRoots(){if(boo){System.out.println("是一元2次方程");double disk=b*b-4*a*c;if(disk>=0){root1=(-b+Math.sqrt(disk))/(2*a);root2=(-b-Math.sqrt(disk))/(2*a);System.out.printf("方程的根:%f,%f\n",root1,root2);}else{System.out.printf("方程没有实根\n");}}else{System.out.println("不是一元2次方程");}}public void setCoefficient(double a,double b,double c){this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}}public class ZuoYe4_3{public static void main(String args[ ]){SquareEquation equation1=new SquareEquation(4,5,1);SquareEquation equation2=new SquareEquation(3,5,-7);equation1.getRoots();equation2.getRoots();}}4.import java.util.Scanner;class A{int f(int m,int n){if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}if(m<n){ int temp=m;m=n;n=temp;}int a=m,b=n;int r=m%n;while(r!=0){ m=n;n=r;r=m%n;}return n;}}class B{A a;B(){a=new A();}int g(int m,int n){int temp=a.f(m,n);return m*n/temp;}}public class ZuoYe4_4{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);System.out.println("输入2个正整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();A a=new A();B b=new B();System.out.println(m+"和"+n+"的最大公约数是"+a.f(m,n));System.out.println(m+"和"+n+"的最小公倍数是"+b.g(m,n));}}5.import java.applet.Applet;import java.awt.*;public class Example4_10 extends Applet{Button redbutton;public void init(){redbutton=new Button("我是一个红色的按钮");redbutton.setBackground(Color.red);redbutton.setForeground(Color.white);add(redbutton);}}第五章作业题1.import java.util.Scanner;class A{public int f(int m,int n){if(m<n){int temp=m;m=n;n=temp;}int r=m%n;while(r!=0){m=n;n=r;r=m%n;}return n;}}class B extends A{public int f(int m,int n){int division=super.f(m,n);return (m*n)/division;}}public class ZuoYe5_1{public static void main (String args[ ]){A a=new A();B b=new B();Scanner reader=new Scanner(System.in);System.out.println("输入2个整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}System.out.printf("%d和%d的最大公约数是%d\n",m,n,a.f(m,n));System.out.printf("%d和%d的最小公倍数是%d\n",m,n,b.f(m,n));}}2.abstract class A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}class A1 extends A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 extends A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 extends A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_2{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}3.interface A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x); }class A1 implements A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 implements A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 implements A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_3{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}4.class Cubic{ double getCubic(int n){ return 0;}}abstract class Sqrt{ public abstract double getSqrt(int x);}class A{ void f(Cubic cubic){ double result=cubic.getCubic(3);System.out.println(result);}}public class ZuoYe5_4{ public static void main(String args[]){ A a=new A();a.f(new Cubic(){ double getCubic(int n){ return n*n*n;}});Sqrt ss=new Sqrt(){ public double getSqrt(int x){ return Math.sqrt(x);}};double m=ss.getSqrt(5);System.out.println(m);}}5.class IntegerException extends Exception{ String message;IntegerException(int m){ message="年龄"+m+"不合理";}public String toString(){ return message;}}class People{ private int age=1;public void setAge(int age) throws IntegerException{if(age>=160||age<=0)throw new IntegerException(age); //方法抛出异常,导致方法结束elsethis.age=age;}public int getAge(){ System.out.println("年龄"+age+"合理");return age;}}public class ZuoYe6_5{ public static void main(String args[]){ People wang=new People(),zhang=new People();try { wang.setAge(189);System.out.println(wang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}try { zhang.setAge(28);System.out.println(zhang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}}}第六章作业题1.import java.util.regex.*;import java.util.*;public class ZuoYe6_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("[24680]A[13579]{2}");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print("从"+m.start()+"到"+m.end()+"匹配模式子序列:");System.out.println(str);}}}2.import java.util.regex.*;import java.util.*;public class ZuoYe4_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("\\d+");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print(str);}}}第七章作业题1.import java.util.*;public class ZuoYe7_2{ public static void main(String args[]){int year,month;{year=Integer.parseInt(args[0]);month=Integer.parseInt(args[1])+1;}catch(NumberFormatException e){year=2004;month=1;}System.out.println(" 日一二三四五六");Calendar 日历=Calendar.getInstance();日历.set(year,month,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;String a[]=new String[星期几+31];for(int i=0;i<星期几;i++){ a[i]="**";}for(int i=星期几,n=1;i<星期几+31;i++){ if(n<=9)a[i]=String.valueOf(n)+" ";elsea[i]=String.valueOf(n) ;n++;}for(int i=0;i<a.length;i++){ if(i%7==0){ System.out.println("");}System.out.print(" "+a[i]);}}}2.class ZuoYe7_2{ public static void main(String args[]){int year1,month1,day1,year2,month2,day2;{year1=Integer.parseInt(args[0]);month1=Integer.parseInt(args[1]);day1=Integer.parseInt(args[2]);year2=Integer.parseInt(args[3]);month2=Integer.parseInt(args[4]);day2=Integer.parseInt(args[5]);}catch(NumberFormatException e){year1=2009;month1=0;day1=1;year2=2008;month2=0;day2=1;}Calendar calendar=Calendar.getInstance();calendar.set(year1,month1,day1);long timeYear1=calendar.getTimeInMillis();calendar.set(year2,month2,day2);long timeYear2=calendar.getTimeInMillis();long 相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");}}3.import java.math.*;public class ZuoYe4_1{public static void main(String args[]){BigInteger chengji=new BigInteger("1"),ONE=new BigInteger("1"),i=ONE,m=new BigInteger("10");while(pareTo(m)<=0){chengji=chengji.multiply(i);i=i.add(ONE);}System.out.println(chengji);}}4.import java.util.*;public class ZuoYe7_4{public static void main(String args[]){HashSet<Integer> A=new HashSet<Integer>(),B=new HashSet<Integer>(),tempSet=new HashSet<Integer>();A.add(new Integer(1));A.add(new Integer(2));A.add(new Integer(3));A.add(new Integer(4));B.add(new Integer(1));B.add(new Integer(3));B.add(new Integer(7));B.add(new Integer(9));B.add(new Integer(11));tempSet=(HashSet<Integer>)A.clone();tempSet.retainAll(B);System.out.println("交:");Iterator<Integer> iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.addAll(B);iter=tempSet.iterator();System.out.println("并:");while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.removeAll(B);System.out.println("差:");iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}}}5.import java.util.*;class MyKey implements Comparable{double number=0;MyKey(double number){this.number=number;}public int compareTo(Object b){MyKey st=(MyKey)b;if((this.number-st.number)==0){return -1;}else{return (int)((this.number-st.number)*1000);}}}class 硬盘{int size;double price;硬盘(int n, double p){size=n;price=p;}}public class ZuoYe4_1{public static void main(String args[ ]){int [] size={10,3,7,12,10,22,100,4,6,2};double [] price={1.2,9.56,2.4,9.3,16.77,12.66,7.4,5.5,5.6,8.9,1.9};硬盘[] s=new 硬盘[10];for(int i=0;i<s.length;i++)s[i]=new 硬盘(size[i],price[i]);TreeMap<MyKey,硬盘> treemap=new TreeMap<MyKey,硬盘>();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].size),s[i]);int number=treemap.size();System.out.println("树映射中有"+number+"个对象:");Collection<硬盘> collection=treemap.values();Iterator<硬盘> iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}treemap.clear();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].price),s[i]);number=treemap.size();System.out.println("树映射中有"+number+"个对象:");collection=treemap.values();iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}}}第八章作业题1.属于操作题目,省略2.参见例子8-23.参见例子8-34.参见例子8-10第九章作业题1.import java.io.*;import java.awt.*;import java.awt.event.*;public class ZuoYe9_1{ public static void main(String args[]){ int b;byte tom[]=new byte[25];try{ File f=new File("Example.java");FileInputStream in=new FileInputStream(f);while((b=in.read(tom,0,25))!=-1){ String s=new String (tom,0,b);System.out.print(s);}in.close();}catch(IOException e){ System.out.println("File read Error"+e);}}}2.import java.io.*;import java.util.*;public class ZuoYe9_2{public static void main(String args[]){Scanner reader=new Scanner(System.in);int b;try{FileOutputStream writefile=new FileOutputStream("line.txt");int line=1,n=10;System.out.println("输入"+n+"行文本,并存入磁盘:");while(line<=n){String s=reader.nextLine();byte buffer[]=s.getBytes();writefile.write(buffer,0,buffer.length);line++;}writefile.close();}catch(IOException e){System.out.println("Error "+e);}}}3.import java.io.*;public class ZuoYe9_3{public static void main(String args[ ]){int n=-1;CharArrayWriter out=new CharArrayWriter();for(char c='а';c<='я';c++){out.write(c);}CharArrayReader in=new CharArrayReader(out.toCharArray());try{ while((n=in.read())!=-1){if(n%2==0){System.out.printf("\n");}System.out.printf("\t位置%d,字符\'%c\'",n,(char)n);}}catch(IOException e){}}}4.import java.io.*;import java.util.*;public class ZuoYe9_4{public static void main(String args[]){try{FileOutputStream fos=new FileOutputStream("jerry.dat");DataOutputStream out_data=new DataOutputStream(fos);Scanner reader=new Scanner(System.in);for(int i=1;i<=10;i++){int x=reader.nextInt();out_data.writeInt(x);}out_data.close();}catch(IOException e){}try{FileInputStream fis=new FileInputStream("jerry.dat");DataInputStream in_data=new DataInputStream(fis);for(int i=1;i<=10;i++){int m=in_data.readInt();System.out.print(" "+m);}in_data.close();}catch(IOException e){}}}5.import java.io.*;import java.util.*;class Student implements Serializable{String name ;int number;Student(String name,int number){=name;this.number=number;}}public class ZuoYe9_5{public static void main(String args[]){List<Student> list=new LinkedList<Student>();List<Student> cloneList=null;for(int k=1;k<=12;k++)list.add(new Student("I am "+k,k));try{ FileOutputStream fileOut=new FileOutputStream("a.txt");ObjectOutputStream objectOut=new ObjectOutputStream(fileOut);objectOut.writeObject(list);FileInputStream fileIn=new FileInputStream("a.txt");ObjectInputStream objectIn=new ObjectInputStream(fileIn);cloneList=(List)objectIn.readObject();}catch(Exception event){System.out.println(event);}Iterator iter=cloneList.iterator();while(iter.hasNext()){Student te=(Student)iter.next();System.out.println(te.number+","+);}}}6.import java.io.*;public class ZuoYe9_6{ public static void main(String args[]){File f=new File("Xiti12_6.java");try{ RandomAccessFile random=new RandomAccessFile(f,"rw");random.seek(0);long m=random.length();while(m>=0){ m=m-1;random.seek(m);int c=random.readByte();if(c<=255&&c>=0){ System.out.print((char)c);}else{ m=m-1; //一个汉字占2个字节random.seek(m);byte cc[]=new byte[2];random.readFully(cc);System.out.print(new String(cc));}}random.close();}catch(IOException ee){}}}5.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_5{ public static void main(String args[]){ ComputerFrame fr=new ComputerFrame();fr.setTitle("计算");}}class ComputerFrame extends JFrame implements ActionListener{ JTextField text1,text2,text3;JButton button1,button2,button3,button4;JLabel label;public ComputerFrame(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);label=new JLabel(" ",JLabel.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);button1=new JButton("加");button2=new JButton("减");button3=new JButton("乘");button4=new JButton("除");add(button1);add(button2);add(button3);add(button4);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);setSize(400,320);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); validate();}public void actionPerformed(ActionEvent e){ double n;if(e.getSource()==button1){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1+n2;text3.setText(String.valueOf(n));label.setText("+");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button2){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1-n2;text3.setText(String.valueOf(n));label.setText("-");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button3){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1*n2;text3.setText(String.valueOf(n));label.setText("*");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button4){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1/n2;text3.setText(String.valueOf(n));label.setText("/");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}validate();}}6.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_6{ public static void main(String args[]){ new WindowPanel();}}class Mypanel extends JPanel implements ActionListener { JButton button;JTextField text;Mypanel(){ button=new JButton(" ");text=new JTextField(12);add(button);add(text);button.addActionListener(this);}public void actionPerformed(ActionEvent e){ String name=text.getText();if(name.length()>0)button.setText(name);validate();}}class WindowPanel extends JFrame{ Mypanel panel1,panel2;WindowPanel(){ panel1=new Mypanel();panel2=new Mypanel();panel1.setBackground(Color.red);panel2.setBackground(Color.blue);add(panel1,BorderLayout.SOUTH);add(panel2,BorderLayout.NORTH);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}7.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_7{ public static void main(String args[]){ new WindowColor();}}class WindowColor extends JFrame{ JButton button;JTextField text;JComboBox list;WindowColor(){ setLayout(new FlowLayout());button=new JButton("hello");button.setBackground(Color.pink);button.setForeground(new Color(12,26,200));text=new JTextField("how are you");text.setBackground(Color.yellow);text.setForeground(new Color(200,26,20));list=new JComboBox();list.addItem("Hello");list.addItem("Java");list.setBackground(Color.cyan);list.setForeground(new Color(100,100,100));add(list);add(button);add(text);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}8.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_8{ public static void main(String args[]){ MoveFrame f=new MoveFrame();f.setBounds(12,12,300,300);f.setVisible(true);f.setTitle("移动");f.validate();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}class MoveFrame extends JFrame implements ActionListener{ JButton controlButton,movedButton;public MoveFrame(){ controlButton=new JButton("单击我运动另一个按钮");controlButton.addActionListener(this);movedButton=new JButton();movedButton.setBackground(new Color(12,200,34));setLayout(null);add(controlButton);add(movedButton);controlButton.setBounds(10,30,180,30);movedButton.setBounds(100,100,20,20);}public void actionPerformed(ActionEvent e){ int x=movedButton.getBounds().x;int y=movedButton.getBounds().y;x=x+5;y=y+1;movedButton.setLocation(x,y);if(x>200){ x=100;y=100;}}}9.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new LP(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class LP extends JLayeredPane implements MouseListener,MouseMotionListener { JButton button[];JTextField text[];int x,y,a,b,x0,y0;LP(){ setLayout(new FlowLayout());button=new JButton[8];for(int k=0;k<button.length;k++){ button[k]=new JButton("用鼠标拖动我");add(button[k]);button[k].addMouseListener(this);button[k].addMouseMotionListener(this);}text=new JTextField[10];for(int k=0;k<text.length;k++){ text[k]=new JTextField("用鼠标拖动我");text[k].addMouseListener(this);add(text[k]);text[k].addMouseMotionListener(this);}addMouseMotionListener(this);}public void mousePressed(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DRAG_LAYER);a=com.getBounds().x;b=com.getBounds().y;x0=e.getX(); //获取鼠标在事件源中的位置坐标y0=e.getY();}public void mouseReleased(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DEFAULT_LAYER);Component component[]=this.getComponents();for(int k=0;k<component.length;k++){ Rectangle rect1=component[k].getBounds();Rectangle rect2=com.getBounds();if(rect1.intersects(rect2)&&com!=component[k]){ component[k].setVisible(false);//this.remove(component[k]);}}}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseClicked(MouseEvent e){}public void mouseMoved(MouseEvent e){}public void mouseDragged(MouseEvent e){ Component com=null;if(e.getSource() instanceof Component){ com=(Component)e.getSource();a=com.getBounds().x;b=com.getBounds().y;x=e.getX(); //获取鼠标在事件源中的位置坐标y=e.getY();a=a+x;b=b+y;com.setLocation(a-x0,b-y0);}}}10.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new MoveButton(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class MoveButton extends JLayeredPane implements KeyListener { JButton b[]=new JButton[8];int x,y;MoveButton(){ setLayout(new FlowLayout());for(int i=0;i<8;i++){ b[i]=new JButton(""+i);b[i].addKeyListener(this);add(b[i]);}}public void keyPressed(KeyEvent e){ int moveDistance=1;Component com=(Component)e.getSource();int x=(int)com.getBounds().x;int y=(int)com.getBounds().y;Component component[]=this.getComponents();if(e.getKeyCode()==KeyEvent.VK_UP)。
2023大学_Java程序设计教程第2版(雍俊海著)课后答案下载
2023Java程序设计教程第2版(雍俊海著)课后答
案下载
Java程序设计教程第2版内容提要
第1章绪论
1.1 历史简介
1.2 特点
1.3 开发环境的建立
1.4 Java程序及其执行过程
1.4.1 开发Java程序的工作流程
1.4.2 Java程序的工作原理
1.5 __小结
习题
第2章结构化程序设计
2.1 标识符和关键字
2.2 基本数据类型、直接量和变量
2.2.1 基本数据类型
2.2.2 直接量
2.2.3 变量
2.3 运算符
2.3.1 算术运算符
2.3.2 关系运算符
Java程序设计教程第2版图书目录
本书讲解Java程序设计知识及其编程方法,包括Java语言的.基础语法、结构化程序设计、面向对象程序设计、数组、字符串、向量、哈希表、泛型、枚举、异常处理、文件和数据流、图形用户界面设计、小应用程序、线程、编程规范、网络程序设计、多媒体和图形学程序设计以及数据库程序设计等。
本书的章节编排与内容以人们学习与认知过程为基础,与公司的实际需求相匹配。
内容力求简明,每章都附有习题,而且在附录中包含了图、表、例程以及类和接口的页码索引,在正文中采用特殊字体突出中心词,希望使读者在轻松和欢乐之中迅速地了... [显示全部]。
Java程序设计 精编教程(第2版)习题解答
习题解答习题一(第1章)1.James Gosling2.需3个步骤:1) 用文本编辑器编写源文件.2) 使用javac 编译源文件,得到字节码文件。
3) 使用解释器运行程序.3.set classpath=D :\jdk\jre\lib\rt 。
jar ;.;4. B5。
Java 源文件的扩展名是。
java ,Java 字节码的扩展名是.class 。
6.D 。
习题二(第2章)1.2. Teac her.javapublic class Teacher {double add (double a,double b) {return a+b;}double sub (double a,double b) {return a-b;}}Student 。
javapublic class Student {public void speak () {System 。
out 。
println ("老师好");}}MainClass 。
javapublic class MainClass {public static void main(String args[]) {height bottomTeacher zhang=new Teacher();System.out.println(zhang。
add(12,236));System。
out.println(zhang.add(234,120));Student jiang=new Student();jiang。
speak();}}3.如果源文件中有多个类,但没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了,如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。
4.行尾风格。
习题三(第3章)1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。
java程序设计教程第二版课后答案
java程序设计教程第二版课后答案【篇一:《java程序设计》课后习题参考答案】参考答案――武汉大学出版社习题1参考答案1.java语言的特点有哪些??答:参考1.1.2防止直接访问数据变量看起来有些奇怪,但它实际上却对使用类的程序质量有极大的好处。
既然数据的单个项是不可访问的,那么惟一的办法就是通过方法来读或写。
因此,如果要求类成员内部的一致性,就应该通过类本身的方法来处理。
这种数据隐藏技术就是面向对象的重要特性——封装。
它将类的外部界面与类功能的实现区分开来,隐藏实现细节,(通过公共方法)保留有限的对外接口,迫使用户使用外部界面,通过访问接口实现对数据的操作。
即使实现细节发生了改变,还可通过界面承担其功能而保留原样,确保调用它的代码还继续工作,这使代码维护更简单。
2.简述封装的优点。
?答:封装是一个简单而有效的思想,优点有:(1)模块化,对内成为一个结构完整、可进行自我管理、自我平衡、高度集中的整体。
(2)信息隐蔽,对外则是一个功能明确、接口单一、可在各种适合的环境下都能独立工作的有机单元。
面向对象的程序设计实现了对象的封装,使得用户不必关心诸如对象的行为是如何实现的这样一些细节。
通过对对象的封装,实现了模块化和信息隐藏,有利于程序的可移植性和安全性,同时也有利于对复杂对象的管理。
类的封装性使得代码的可重用性大为提高,这样的有机单元特别适合构建大型标准化的软件系统,具有很高的开发效率。
3.java的基本工具有哪些??(1) javac 编译器(2) java 解释器(3) jdb java 语言调试器(4) javadoc api文档管理器(5) javah 头文件生成器(6) appletviewer 小应用程序浏览器(7) javap 类文件反汇编器4.java开发环境是如何配置的?答:对于windows 2000以上版本的操作系统,可以打开[控制面板]窗口,双击其中的[系统]图标,在[系统特性]窗口中单击[高级]选项卡,进而单击[环境变量]按钮。
《数据结构(Java版)(第2版)》习题解答
数据结构(Java版)(第2版)习题解答叶核亚编著目录第0章Java程序设计基础 (1)【习0.1】实验0.1 哥德巴赫猜想。
(1)【习0.2】实验0.2 杨辉三角形。
(1)【习0.3】实验0.3 金额的中文大写形式。
(1)【习0.4】实验0.4 下标和相等的数字方阵。
(1)【习0.5】实验0.5 找出一个二维数组的鞍点 (2)【习0.6】实验0.6 复数类。
(2)【习0.7】实验0.8 图形接口与实现图形接口的类 (2)第1章绪论 (3)【习1.1】实验1.1 判断数组元素是否已按升序排序。
(3)【习1.2】实验1.3 用递归算法求两个整数的最大公因数。
(3)第2章线性表 (5)【习2.1】习2-5 图2.19的数据结构声明。
(5)【习2.2】习2-6 如果在遍历单链表时,将p=p.next语句写成p.next=p,结果会怎样? (5)【习2.3】实验2.2 由指定数组中的多个对象构造单链表。
(5)【习2.4】实验2.2 单链表的查找、包含、删除操作详见8.2.1。
(5)【习2.5】实验2.2 单链表的替换操作。
(6)【习2.6】实验2.2 首尾相接地连接两条单链表。
(6)【习2.7】实验2.2 复制单链表。
(6)【习2.8】实验2.2 单链表构造、复制、比较等操作的递归方法。
(7)【习2.9】建立按升序排序的单链表(不带头结点)。
(8)【习2.10】实验2.6 带头结点的循环双链表类,实现线性表接口。
(10)【习2.11】实验2.5 建立按升序排序的循环双链表。
(14)第3章栈和队列 (17)【习3.1】习3-5 栈和队列有何异同? (17)【习3.2】能否将栈声明为继承线性表,入栈方法是add(0,e),出栈方法是remove(0)?为什么? (17)【习3.3】能否用一个线性表作为栈的成员变量,入栈方法是add(0,e),出栈方法是remove(0)?为什么? (17)【习3.4】能否将队列声明为继承线性表,入队方法是add(e),出队方法是remove(0)?为什么? (17)第4章串 (18)【习4.1】实验4.6 找出两个字符串中所有共同的字符。
JAVA大学实用教程第二版_习题答案
Java大学实用教程第二版课后答案第一章作业题1.public class Hello{public static void main (String args[ ]){System.out.pintln(“早上好,good Morning”);}}2.import java.applet.*;import java.awt.*;public class Boy extends Applet {public void paint(Graphics g) {g.setColor(Color.blue);g.drawString("你好,hello",12,30);}}第二章作业题1.public class ZuoYe2_1{public static void main (String args[ ]){char c='а';System.out.println("字母"+c+"在unicode表中的顺序位置:"+(int)c);System.out.println("字母表:");while(c<='я'){System.out.print(" "+c);c=(char)(c+1);}}}2.import java.util.*;public class ZuoYe2_2{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);long chengji=1;int m=0;while(reader.hasNextInt()){int x=reader.nextInt();m=m+1;chengji=chengji*x;}System.out.println(m+"个数的乘积为"+chengji);}}第三章作业题1.import java.util.*;public class ZuoYe3_1{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);double y=0,x=0;x=reader.nextDouble();if(x<0)y=-1+2*x;else if(x==0)y=-1;else if(x>0)y=-1+3*x;System.out.println(y);}}2.public class ZuoYe3_2{public static void main(String args[]){int sum=0,m=3,n=7,a=1;while(a<=1000){if(a%m==0&&a%n==0)sum=sum+a;a++;}System.out.println("sum="+sum);}}3.public class ZuoYe3_3{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){ sum=sum+item;item=item*10+a;}System.out.println(sum);}}4.public class ZuoYe3_4{public static void main(String args[]){double sum=0,a=1,b=1,fuhao=1,item=a/b;int i=1;while(i<=1000){sum=sum+fuhao*item;i++;fuhao=fuhao*(-1);b=b+2;item=a/b;System.out.println("sum="+sum);}}5.public class ZuoYe3_5{public static void main(String args[]){double sum=0,a=1;int i=1;while(i<=20){if(i>=10)sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}8.第四章作业题1.class DengCha{int start,d;DengCha(){}DengCha(int start,int d){this.start=start;this.d=d;}void setStart(int s){start=s;void setD(int d){this.d=d;}int getSum(int n){int sum=0,i=1;while(i<=n){sum=sum+start;start=start+d;i++;}return sum;}}public class ZuoYe4_1{public static void main (String args[ ]){DengCha shulie=new DengCha(2,3);System.out.println(shulie.getSum(100));shulie.setStart(10);shulie.setD(5);System.out.println(shulie.getSum(9)); }}2.class Letter{public void printLetter(){for(char c='a';c<='z';c++)System.out.print(" "+c);}}public class ZuoYe4_2{public static void main (String args[ ]){Letter p=new Letter();p.printLetter();}}3.class SquareEquation{double a,b;static double c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c){this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}public void getRoots(){if(boo){System.out.println("是一元2次方程");double disk=b*b-4*a*c;if(disk>=0){root1=(-b+Math.sqrt(disk))/(2*a);root2=(-b-Math.sqrt(disk))/(2*a);System.out.printf("方程的根:%f,%f\n",root1,root2);}else{System.out.printf("方程没有实根\n");}}else{System.out.println("不是一元2次方程");}}public void setCoefficient(double a,double b,double c){this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}}public class ZuoYe4_3{public static void main(String args[ ]){SquareEquation equation1=new SquareEquation(4,5,1);SquareEquation equation2=new SquareEquation(3,5,-7);equation1.getRoots();equation2.getRoots();}}4.import java.util.Scanner;class A{int f(int m,int n){if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}if(m<n){ int temp=m;m=n;n=temp;}int a=m,b=n;int r=m%n;while(r!=0){ m=n;n=r;r=m%n;}return n;}}class B{A a;B(){a=new A();}int g(int m,int n){int temp=a.f(m,n);return m*n/temp;}}public class ZuoYe4_4{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);System.out.println("输入2个正整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();A a=new A();B b=new B();System.out.println(m+"和"+n+"的最大公约数是"+a.f(m,n));System.out.println(m+"和"+n+"的最小公倍数是"+b.g(m,n));}}5.import java.applet.Applet;import java.awt.*;public class Example4_10 extends Applet{Button redbutton;public void init(){redbutton=new Button("我是一个红色的按钮");redbutton.setBackground(Color.red);redbutton.setForeground(Color.white);add(redbutton);}}第五章作业题1.import java.util.Scanner;class A{public int f(int m,int n){if(m<n){int temp=m;m=n;n=temp;}int r=m%n;while(r!=0){m=n;n=r;r=m%n;}return n;}}class B extends A{public int f(int m,int n){int division=super.f(m,n);return (m*n)/division;}}public class ZuoYe5_1{public static void main (String args[ ]){A a=new A();B b=new B();Scanner reader=new Scanner(System.in);System.out.println("输入2个整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}System.out.printf("%d和%d的最大公约数是%d\n",m,n,a.f(m,n));System.out.printf("%d和%d的最小公倍数是%d\n",m,n,b.f(m,n));}}2.abstract class A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}class A1 extends A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 extends A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 extends A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_2{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}3.interface A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x); }class A1 implements A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 implements A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 implements A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_3{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}4.class Cubic{ double getCubic(int n){ return 0;}}abstract class Sqrt{ public abstract double getSqrt(int x);}class A{ void f(Cubic cubic){ double result=cubic.getCubic(3);System.out.println(result);}}public class ZuoYe5_4{ public static void main(String args[]){ A a=new A();a.f(new Cubic(){ double getCubic(int n){ return n*n*n;}});Sqrt ss=new Sqrt(){ public double getSqrt(int x){ return Math.sqrt(x);}};double m=ss.getSqrt(5);System.out.println(m);}}5.class IntegerException extends Exception{ String message;IntegerException(int m){ message="年龄"+m+"不合理";}public String toString(){ return message;}}class People{ private int age=1;public void setAge(int age) throws IntegerException{if(age>=160||age<=0)throw new IntegerException(age); //方法抛出异常,导致方法结束elsethis.age=age;}public int getAge(){ System.out.println("年龄"+age+"合理");return age;}}public class ZuoYe6_5{ public static void main(String args[]){ People wang=new People(),zhang=new People();try { wang.setAge(189);System.out.println(wang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}try { zhang.setAge(28);System.out.println(zhang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}}}第六章作业题1.import java.util.regex.*;import java.util.*;public class ZuoYe6_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("[24680]A[13579]{2}");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print("从"+m.start()+"到"+m.end()+"匹配模式子序列:");System.out.println(str);}}}2.import java.util.regex.*;import java.util.*;public class ZuoYe4_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("\\d+");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print(str);}}}第七章作业题1.import java.util.*;public class ZuoYe7_2{ public static void main(String args[]){int year,month;{year=Integer.parseInt(args[0]);month=Integer.parseInt(args[1])+1;}catch(NumberFormatException e){year=2004;month=1;}System.out.println(" 日一二三四五六");Calendar 日历=Calendar.getInstance();日历.set(year,month,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;String a[]=new String[星期几+31];for(int i=0;i<星期几;i++){ a[i]="**";}for(int i=星期几,n=1;i<星期几+31;i++){ if(n<=9)a[i]=String.valueOf(n)+" ";elsea[i]=String.valueOf(n) ;n++;}for(int i=0;i<a.length;i++){ if(i%7==0){ System.out.println("");}System.out.print(" "+a[i]);}}}2.class ZuoYe7_2{ public static void main(String args[]){int year1,month1,day1,year2,month2,day2;{year1=Integer.parseInt(args[0]);month1=Integer.parseInt(args[1]);day1=Integer.parseInt(args[2]);year2=Integer.parseInt(args[3]);month2=Integer.parseInt(args[4]);day2=Integer.parseInt(args[5]);}catch(NumberFormatException e){year1=2009;month1=0;day1=1;year2=2008;month2=0;day2=1;}Calendar calendar=Calendar.getInstance();calendar.set(year1,month1,day1);long timeYear1=calendar.getTimeInMillis();calendar.set(year2,month2,day2);long timeYear2=calendar.getTimeInMillis();long 相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");}}3.import java.math.*;public class ZuoYe4_1{public static void main(String args[]){BigInteger chengji=new BigInteger("1"),ONE=new BigInteger("1"),i=ONE,m=new BigInteger("10");while(pareTo(m)<=0){chengji=chengji.multiply(i);i=i.add(ONE);}System.out.println(chengji);}}4.import java.util.*;public class ZuoYe7_4{public static void main(String args[]){HashSet<Integer> A=new HashSet<Integer>(),B=new HashSet<Integer>(),tempSet=new HashSet<Integer>();A.add(new Integer(1));A.add(new Integer(2));A.add(new Integer(3));A.add(new Integer(4));B.add(new Integer(1));B.add(new Integer(3));B.add(new Integer(7));B.add(new Integer(9));B.add(new Integer(11));tempSet=(HashSet<Integer>)A.clone();tempSet.retainAll(B);System.out.println("交:");Iterator<Integer> iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.addAll(B);iter=tempSet.iterator();System.out.println("并:");while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.removeAll(B);System.out.println("差:");iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}}}5.import java.util.*;class MyKey implements Comparable{double number=0;MyKey(double number){this.number=number;}public int compareTo(Object b){MyKey st=(MyKey)b;if((this.number-st.number)==0){return -1;}else{return (int)((this.number-st.number)*1000);}}}class 硬盘{int size;double price;硬盘(int n, double p){size=n;price=p;}}public class ZuoYe4_1{public static void main(String args[ ]){int [] size={10,3,7,12,10,22,100,4,6,2};double [] price={1.2,9.56,2.4,9.3,16.77,12.66,7.4,5.5,5.6,8.9,1.9};硬盘[] s=new 硬盘[10];for(int i=0;i<s.length;i++)s[i]=new 硬盘(size[i],price[i]);TreeMap<MyKey,硬盘> treemap=new TreeMap<MyKey,硬盘>();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].size),s[i]);int number=treemap.size();System.out.println("树映射中有"+number+"个对象:");Collection<硬盘> collection=treemap.values();Iterator<硬盘> iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}treemap.clear();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].price),s[i]);number=treemap.size();System.out.println("树映射中有"+number+"个对象:");collection=treemap.values();iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}}}第八章作业题1.属于操作题目,省略2.参见例子8-23.参见例子8-34.参见例子8-10第九章作业题1.import java.io.*;import java.awt.*;import java.awt.event.*;public class ZuoYe9_1{ public static void main(String args[]){ int b;byte tom[]=new byte[25];try{ File f=new File("Example.java");FileInputStream in=new FileInputStream(f);while((b=in.read(tom,0,25))!=-1){ String s=new String (tom,0,b);System.out.print(s);}in.close();}catch(IOException e){ System.out.println("File read Error"+e);}}}2.import java.io.*;import java.util.*;public class ZuoYe9_2{public static void main(String args[]){Scanner reader=new Scanner(System.in);int b;try{FileOutputStream writefile=new FileOutputStream("line.txt");int line=1,n=10;System.out.println("输入"+n+"行文本,并存入磁盘:");while(line<=n){String s=reader.nextLine();byte buffer[]=s.getBytes();writefile.write(buffer,0,buffer.length);line++;}writefile.close();}catch(IOException e){System.out.println("Error "+e);}}}3.import java.io.*;public class ZuoYe9_3{public static void main(String args[ ]){int n=-1;CharArrayWriter out=new CharArrayWriter();for(char c='а';c<='я';c++){out.write(c);}CharArrayReader in=new CharArrayReader(out.toCharArray());try{ while((n=in.read())!=-1){if(n%2==0){System.out.printf("\n");}System.out.printf("\t位置%d,字符\'%c\'",n,(char)n);}}catch(IOException e){}}}4.import java.io.*;import java.util.*;public class ZuoYe9_4{public static void main(String args[]){try{FileOutputStream fos=new FileOutputStream("jerry.dat");DataOutputStream out_data=new DataOutputStream(fos);Scanner reader=new Scanner(System.in);for(int i=1;i<=10;i++){int x=reader.nextInt();out_data.writeInt(x);}out_data.close();}catch(IOException e){}try{FileInputStream fis=new FileInputStream("jerry.dat");DataInputStream in_data=new DataInputStream(fis);for(int i=1;i<=10;i++){int m=in_data.readInt();System.out.print(" "+m);}in_data.close();}catch(IOException e){}}}5.import java.io.*;import java.util.*;class Student implements Serializable{String name ;int number;Student(String name,int number){=name;this.number=number;}}public class ZuoYe9_5{public static void main(String args[]){List<Student> list=new LinkedList<Student>();List<Student> cloneList=null;for(int k=1;k<=12;k++)list.add(new Student("I am "+k,k));try{ FileOutputStream fileOut=new FileOutputStream("a.txt");ObjectOutputStream objectOut=new ObjectOutputStream(fileOut);objectOut.writeObject(list);FileInputStream fileIn=new FileInputStream("a.txt");ObjectInputStream objectIn=new ObjectInputStream(fileIn);cloneList=(List)objectIn.readObject();}catch(Exception event){System.out.println(event);}Iterator iter=cloneList.iterator();while(iter.hasNext()){Student te=(Student)iter.next();System.out.println(te.number+","+);}}}6.import java.io.*;public class ZuoYe9_6{ public static void main(String args[]){File f=new File("Xiti12_6.java");try{ RandomAccessFile random=new RandomAccessFile(f,"rw");random.seek(0);long m=random.length();while(m>=0){ m=m-1;random.seek(m);int c=random.readByte();if(c<=255&&c>=0){ System.out.print((char)c);}else{ m=m-1; //一个汉字占2个字节random.seek(m);byte cc[]=new byte[2];random.readFully(cc);System.out.print(new String(cc));}}random.close();}catch(IOException ee){}}}5.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_5{ public static void main(String args[]){ ComputerFrame fr=new ComputerFrame();fr.setTitle("计算");}}class ComputerFrame extends JFrame implements ActionListener{ JTextField text1,text2,text3;JButton button1,button2,button3,button4;JLabel label;public ComputerFrame(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);label=new JLabel(" ",JLabel.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);button1=new JButton("加");button2=new JButton("减");button3=new JButton("乘");button4=new JButton("除");add(button1);add(button2);add(button3);add(button4);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);setSize(400,320);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); validate();}public void actionPerformed(ActionEvent e){ double n;if(e.getSource()==button1){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1+n2;text3.setText(String.valueOf(n));label.setText("+");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button2){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1-n2;text3.setText(String.valueOf(n));label.setText("-");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button3){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1*n2;text3.setText(String.valueOf(n));label.setText("*");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button4){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1/n2;text3.setText(String.valueOf(n));label.setText("/");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}validate();}}6.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_6{ public static void main(String args[]){ new WindowPanel();}}class Mypanel extends JPanel implements ActionListener { JButton button;JTextField text;Mypanel(){ button=new JButton(" ");text=new JTextField(12);add(button);add(text);button.addActionListener(this);}public void actionPerformed(ActionEvent e){ String name=text.getText();if(name.length()>0)button.setText(name);validate();}}class WindowPanel extends JFrame{ Mypanel panel1,panel2;WindowPanel(){ panel1=new Mypanel();panel2=new Mypanel();panel1.setBackground(Color.red);panel2.setBackground(Color.blue);add(panel1,BorderLayout.SOUTH);add(panel2,BorderLayout.NORTH);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}7.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_7{ public static void main(String args[]){ new WindowColor();}}class WindowColor extends JFrame{ JButton button;JTextField text;JComboBox list;WindowColor(){ setLayout(new FlowLayout());button=new JButton("hello");button.setBackground(Color.pink);button.setForeground(new Color(12,26,200));text=new JTextField("how are you");text.setBackground(Color.yellow);text.setForeground(new Color(200,26,20));list=new JComboBox();list.addItem("Hello");list.addItem("Java");list.setBackground(Color.cyan);list.setForeground(new Color(100,100,100));add(list);add(button);add(text);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}8.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_8{ public static void main(String args[]){ MoveFrame f=new MoveFrame();f.setBounds(12,12,300,300);f.setVisible(true);f.setTitle("移动");f.validate();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}class MoveFrame extends JFrame implements ActionListener{ JButton controlButton,movedButton;public MoveFrame(){ controlButton=new JButton("单击我运动另一个按钮");controlButton.addActionListener(this);movedButton=new JButton();movedButton.setBackground(new Color(12,200,34));setLayout(null);add(controlButton);add(movedButton);controlButton.setBounds(10,30,180,30);movedButton.setBounds(100,100,20,20);}public void actionPerformed(ActionEvent e){ int x=movedButton.getBounds().x;int y=movedButton.getBounds().y;x=x+5;y=y+1;movedButton.setLocation(x,y);if(x>200){ x=100;y=100;}}}9.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new LP(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class LP extends JLayeredPane implements MouseListener,MouseMotionListener { JButton button[];JTextField text[];int x,y,a,b,x0,y0;LP(){ setLayout(new FlowLayout());button=new JButton[8];for(int k=0;k<button.length;k++){ button[k]=new JButton("用鼠标拖动我");add(button[k]);button[k].addMouseListener(this);button[k].addMouseMotionListener(this);}text=new JTextField[10];for(int k=0;k<text.length;k++){ text[k]=new JTextField("用鼠标拖动我");text[k].addMouseListener(this);add(text[k]);text[k].addMouseMotionListener(this);}addMouseMotionListener(this);}public void mousePressed(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DRAG_LAYER);a=com.getBounds().x;b=com.getBounds().y;x0=e.getX(); //获取鼠标在事件源中的位置坐标y0=e.getY();}public void mouseReleased(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DEFAULT_LAYER);Component component[]=this.getComponents();for(int k=0;k<component.length;k++){ Rectangle rect1=component[k].getBounds();Rectangle rect2=com.getBounds();if(rect1.intersects(rect2)&&com!=component[k]){ component[k].setVisible(false);//this.remove(component[k]);}}}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseClicked(MouseEvent e){}public void mouseMoved(MouseEvent e){}public void mouseDragged(MouseEvent e){ Component com=null;if(e.getSource() instanceof Component){ com=(Component)e.getSource();a=com.getBounds().x;b=com.getBounds().y;x=e.getX(); //获取鼠标在事件源中的位置坐标y=e.getY();a=a+x;b=b+y;com.setLocation(a-x0,b-y0);}}}10.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new MoveButton(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class MoveButton extends JLayeredPane implements KeyListener { JButton b[]=new JButton[8];int x,y;MoveButton(){ setLayout(new FlowLayout());for(int i=0;i<8;i++){ b[i]=new JButton(""+i);b[i].addKeyListener(this);add(b[i]);}}public void keyPressed(KeyEvent e){ int moveDistance=1;Component com=(Component)e.getSource();int x=(int)com.getBounds().x;int y=(int)com.getBounds().y;Component component[]=this.getComponents();if(e.getKeyCode()==KeyEvent.VK_UP)。
