java平时作业.doc_第1页
java平时作业.doc_第2页
java平时作业.doc_第3页
java平时作业.doc_第4页
java平时作业.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作业一:/第二章75页1) 找出一个二维数组的鞍点,即该位置上的元素在该行上最大、在列上最小(也可能没有鞍点)。public class ArrayMaxMin public static void main(String args) int i,j,k,l,g; int two_array=10,6,5,1,2,4,16,7,11; for(i=0;itwo_array.length;i+) for(j=0;jtwo_array0.length;j+) l=0; g=0; for(k=0;ktwo_arrayik) +l; if(l=two_array0.length-1) for(k=0;ktwo_array.length;k+) if(two_arrayijtwo_arraykj) +g; if(g=two_array.length-1) System.out.println(该二维数组的鞍点为:two_array+(i+1)+(j+1)+=+two_arrayij); 2) 编程验证歌德巴赫猜想,任何大于6的偶数可以表示为两素数之和,如10=3+7。 public class GoldbachGuess public static void main(String args) int i,j,k,l,m,n=50; for(i=8;in;i+) /取大于6小于n之间的任意偶数验证 if (i%2=0) for(j=2;ji;j+) for(l=1,m=0;l=j;l+) if(j%l=0) m=m+1; if(m=2) k=i-j; for(l=1,m=0;l=k;l+) if(k%l=0) m=m+1; if(m=2) System.out.println(i+=+j+k+ ); 作业二: 例3-8/第三章187页对银行帐户类BankAccount进行一系列修改和测试声明BankAccount类声明toString()方法声明存取款方法使用DecimalFormat类声明类方法生成特殊的实例声明类变量作业三:/第四章122页编写java程序,程序中有一个父类Telephone,类中包含电话品牌、电话号码、通话时间、费率等属性,以及计算话费和显示信息等方法;程序中还有一个子类Mobilephone,除了具有Telephone类的属性外,还有自己的属性如网络类型、被叫时间,同时它有自己的计算话费和显示信息的方法。最后程序中应包含一个主类来使用上述两个类并显示它们的信息。class Telephone private String telephone_brand,telephone_number; private int dialing_time;/通话时间以秒为单位。 private double telephone_price; public String getTelephone_brand() return telephone_brand; public String getTelephone_number() return telephone_number; public int getDialing_time() return dialing_time; public double getTelephone_price() return telephone_price; public void setTelephone_brand(String brand) telephone_brand=brand; public void setTelephone_number(String number) telephone_number=number; public void setDialing_time(int time) dialing_time=time; public void setTelephone_price(double price) telephone_price=price; public double telephone_bills() int time_minter; double telephone_bills; if(dialing_time%60=0) time_minter=dialing_time/60; else time_minter=dialing_time/60+1; telephone_bills=time_minter*telephone_price; return telephone_bills; public void call_information() System.out.print(此次通话时间:+dialing_time/36000); System.out.print(dialing_time/3600%10+:+dialing_time/600); System.out.print(dialing_time/60%10+:+dialing_time%60/10); System.out.println(dialing_time%60%10+ ;); class Mobilephone extends Telephone private String net_type; private int called_time; boolean being_called; public String getNet_type() return net_type; public void setNet_type(String net_type) _type=net_type; public int setCalled_time(boolean y_n) being_called=y_n; if(being_called=false) called_time=getDialing_time(); return called_time; else called_time=0; return called_time; public int getCalled_time() return called_time; public void call_information() if(called_time=0) System.out.println(此次通话类型为:被叫。); else System.out.println(此次通话类型为:主叫。); System.out.println(此次通话时间为:+getDialing_time()/60+分+getDialing_time()%60+秒;); public double mobilephone_bills() double mobilephone_bills; if(called_time=0) mobilephone_bills=(called_time/60)*getTelephone_price(); else mobilephone_bills=(called_time/60+1)*getTelephone_price(); return mobilephone_bills; public class PhoneTester public static void main(String args) Telephone a1=new Telephone(); Mobilephone a2=new Mobilephone(); a1.setTelephone_brand(Nokia); a1.setTelephone_number; a1.setDialing_time(62); a1.setTelephone_price(0.2); System.out.println(This phonebrand is +a1.getTelephone_brand()+;); System.out.println(This phonenumber is +a1.getTelephone_number()+;); a1.call_information(); System.out.println(此次通话费用为:+a1.telephone_bills()+;); System.out.println(); a2.setTelephone_brand(HEDY); a2.setTelephone_number; a2.setDialing_time(200); a2.setTelephone_price(0.2); a2.setNet_type(3G); a2.setCalled_time(false); System.out.println(This phonebrand is +a2.getTelephone_brand()+;); System.out.println(This phonenumber is +a2.getTelephone_number()+;); System.out.println(网络类型为+a2.getNet_type()+;); a2.call_information(); System.out.println(此次通话费用为:+a2.mobilephone_bills()+;); System.out.println(); 作业四:/第四章123页设计3个类,分别是学生类Student,本科生类Undergraduate,研究生类Postgraduate,其中Student类是一个抽象类,它包含一个学生的基本信息如姓名、平均成绩等,及一个计算课程成绩等级的抽象方法。类Undergraduate和Postgraduate是其子类,它们计算课程成绩等级的方法有所不同(自己设计)。设计一个学生数组,既能放本科生对象又能放研究生对象。编写测试类测试以上功能。class Student private String stuName; private double subScore,aveScore; public void setstu(String stuName,double subScore,double aveScore) this.stuName=stuName; this.subScore=subScore; this.aveScore=aveScore; public String getstuName() return stuName; public double getaveScore() return aveScore; public double getsubScore() return subScore; public void scoreRank() if(subScore=90) System.out.println(该课程成绩等级为:优。); else if(subScore=80) System.out.println(该课程成绩等级为:良。); else if(subScore=70) System.out.println(该课程成绩等级为:中。); else if(subScore=60) System.out.println(该课程成绩等级为:一般。); else System.out.println(该课程成绩等级为:不及格。); class Postgraduate extends Student public void subScore() if(getsubScore()=95) System.out.println(该课程成绩为5); else System.out.println(该课程成绩为+(int)getsubScore()/20); class Undergraduate extends Student public void scoreRank() if(getsubScore()=85&getsubScore()=60) System.out.println(还课程等级为B); else System.out.println(该课程等级为C); public class StudentTester public static void main(String args) Student stu=new Student3; stu0=new Undergraduate(); stu1=new Postgraduate(); stu2=new Student(); stu0.setstu(test1,86.6,92); stu1.setstu(test2,93,91); stu2.setstu(test3,85,89.5); for(int i=0;i=0;i-) dest.append(source.charAt(i); return dest.toString(); public static void wordStatistic(String source) int sum,i,j,count; String a = source.split(s); sum=a.length; int ss=new intsum; for(i=0;isum;i+) ssi=ai.length(); for(i=0;isum;i+) count=0; for(j=0;jb) upper=middle; else if(tempb) lower=middle; index=lower; if(upper-lower=1) break; if(b=aindex) index+=1; System.out.println(b+存在的位置:+index); else if(ba0) System.out.println(b+应该排在的位置:+1); System.out.println(插入后的序列:); c0=b; for(int i=1;ia.length+1;i+) ci=ai-1; else index+=2; System.out.println(b+应该排在的位置:+index); System.out.println(插入后的序列:); cindex-1=b; for(int i=0;iindex-1;i+) ci=ai; for(int i=index;ia.length+1;i+) ci=ai-1; for(int i=0;ia.length+1;i+) System.out.print(ci+ ); public static void main(String args) String intput=JOptionPane.showInputDialog(请输入要排序的数个数:); int a=Integer.parseInt(intput); System.out.println(输入要排序的数字:); Scanner Intarray=new Scanner(System.in); int b=new inta; for(int i=0;ib.length;i+) bi=Intarray.nextInt(); int temp; for(int i=1;i-1&tempbj) bj+1 = bj; j-; bj+1=temp; System.out.print(排序后:); for(int i=0;ia;i+) System.out.print(bi+ ); System.out.println(); arrayPosition(b); 【课件】作业八:/第五章180页例5-16:音像店的出租电影业务,在实际应用中,可能会通过以下方式查找需要的电影:1.通过标题(title)查找电影;2.可将电影分成不同的类型(type),如喜剧片、悲剧片、战斗片等。在进行出租时,可在某一特定的类型中查找电影;3.查找包括某一演员(actor/actress)的电影。import java.util.*; class Movie private String title, type; private Vector actors; public String getTitle() return title; public String getType() return type; public Vector getActors() return actors; public void setTitle(String aTitle) title = aTitle; public void setType(String aType) type = aType; public Movie() this(?, ?); public Movie(String aTitle, String aType) title = aTitle; type = aType; actors = new Vector(); public String toString() return(Movie: + + title + ); public void addActor(String anActor) actors.add(anActor); class MovieStore private Hashtable movieList, actorList, typeList; public Hashtable getMovieList() return movieList; public Hashtable getActorList() return actorList; public Hashtable getTypeList() return typeList; public MovieStore() movieList = new Hashtable(); actorList = new Hashtable(); typeList = new Hashtable(); public String toString() return (MovieStore with + movieList.size() + movies.); public void addMovie(Movie aMovie) movieList.put(aMovie.getTitle(), aMovie); if (!typeList.containsKey(aMovie.getType() typeList.put(aMovie.getType(),new Vector(); (Vector)typeList.get(aMovie.getType().add(aMovie); for (int i=0; iaMovie.getActors().size(); i+) String anActor = (String)aMovie.getActors().get(i); if (!actorList.containsKey(anActor) actorList.put(anActor, new Vector(); (Vector)actorList.get(anActor).add(aMovie); private void removeMovie(Movie aMovie) movieList.remove(aMovie.getTitle(); (Vector)typeList.get(aMovie.getType().remove(aMovie); if (Vector)typeList.get(aMovie.getType().isEmpty() typeList.remove(aMovie.getType(); for(int i=0; iaMovie.getActors().size(); i+) String anActor = (String)aMovie.getActors().get(i); (Vector)actorList.get(anActor).remove(aMovie); if (Vector)actorList.get(anActor).isEmpty() actorList.remove(anActor); public void removeMovie(String aTitle) if (movieList.get(aTitle) = null) System.out.println(No movie with that title); else removeMovie(Movie)movieList.get(aTitle); public void listMovies() Enumeration titles = movieList.keys(); while(titles.hasMoreElements() System.out.println(titles.nextElement(); public void listMoviesWithActor(String anActor) Enumeration someMovies = (Vector)actorList.get(anActor).elements(); while(someMovies.hasMoreElements() System.out.println(someMovies.nextElement(); public void listMoviesOfType(String aType) Enumeration someMovies = (Vector)typeList.get(aType).elements(); while(someMovies.hasMoreElements() System.out.println(someMovies.nextElement(); 作业十:/第七章100页用两个线程模拟银行账户的存取款操作。三个类:账户类、存款类、取款类;要求:两个线程分别操作5次,每次随机存取5001000元,实时显示两线程的操作过程对账户的影响。注意:取款线程不一定每次都能取到钱。 class Acc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论