java简答题和编程题答案.doc
《java简答题和编程题答案.doc》由会员分享,可在线阅读,更多相关《java简答题和编程题答案.doc(10页珍藏版)》请在咨信网上搜索。
二.简答题 1. Java中命名标识符有什么规则? Java语言规定标识符是以字母、下划线“_”或美元符号“$”开始随后可跟数字、字母、下划线或美元符号的字符序列 2.什么是继承机制 类具有继承性,子类对父类的继承关系体现了现实世界中特殊和一般的关系。通过继承可以更有效地组织程序结构,明确类间关系,并充分利用已有的类来完成更复杂、深入的开发 3.什么是抽象类 抽象类体现数据抽象的思想,是实现程序多态性的一种手段。接口则是Java中实现多重继承的唯一途径。 抽象类的作用在于将许多有关的类组织在一起,提供一个公共的类,即抽象类,而那些被它组织在一起的具体的类做为它的子类由它派生出来。 4. Java中的接口如何声明? 声明接口的格式如下: [修饰符] interface 接口名[extends 父接口名列表] { 常量数据成员声明 抽象方法声明 } 5.什么是包 包(package)是Java提供的文件(即公共类)的组织方式。一个包对应一个文件夹,一个包中可以包括许多类文件。包中还可以再有子包,称为包等级。 6.什么是域的隐藏?子类和父类有同名域,在子类方法中如何进行访问父类的域 (1). 数据成员的隐藏 数据成员的隐藏是指在子类中重新定义一个与父类中已定义的数据成员名完全相同的数据成员,即子类拥有了两个相同名字的数据成员,一个是继承父类的,另一个是自己定义的。 (2)当子类要操作继承自父类的同名数据成员时,可使用关键字super引导。 即super.数据成员 7.静态属性如何声明,存储和访问 static:静态方法,又称类方法 使用类名或对象名作为前缀,建议使用类名 在方法体中只能使用static变量和static方法或访问自己的局部变量 8. Java的访问控制符有哪些?各有什么作用? 访问控制符(访问权限) public:可被所有其他类引用 protected:该类自身、子类、同一包中的其他类 private:仅可被该类自身引用和修改,不能被其他任何类(包括子类)引用default(缺省):本包中的类 9. 简述JAVA的异常处理机制 每当Java程序运行过程中发生一个可识别的运行错误时,即该错误有一个异常类与之相对应时,系统都会产生一个相应的该异常类的对象,即产生一个异常。一旦一个异常对象产生了,系统中就一定有相应的机制来处理它,确保不会产生死机、死循环或其他对操作系统的损害,从而保证了整个程序运行的安全性。这就是Java的异常处理机制。 10. 编写图形用户界面程序的一般步骤是什么 (1) 构建一个顶层容器;通常是JFrame或JApplet (2) 构建若干个组件,组件可以是其它容器; (3) 设定容器的布局管理器;用容器的add方法将这些组件加入到这个容器中; (4) 设置组件事件;并将组件事件与代码关联。 三.编程题目: 1、设计一个表示二维平面上的点的类Point,包含表示坐标位置的protected类型的成员变量x和y,以及获取和设置x和y的值的public类型的方法:getx()、gety()、setx()、sety()。Point类的构造方法要有多种形式 import java.util.*;//Scanner类在这个包里 class Point{ protected float x,y; //定义Circle类的坐标 protected Scanner scan=new Scanner(System.in); //设一个SCanner对象scan,指定输入方式是从键盘读入 public Point(){ x=0;y=0; } //无参构造 public Point(float x,float y){ this.x=x; this.y=y; } //有参构造 public void setx(){ x=scan.nextFloat(); }//从键盘读入坐标x public void sety() y=scan.nextFloat(); }//从键盘读入坐标y public float getx(){ return this.x; }//得到当前对象的x public float gety(){ return this.y; }//得到当前对象的y } 2. 设计一个表示二维平面上的圆的类Circle,它继承自Point类。类Circle包含表示圆半径的protected类型的成员变量r,以及获取和设置r的值的public类型的方法:getr()、setr(),计算圆面积的方法area()。此外,Circle类的构造方法要有多种形式 class Circle extends Point{ protected float r; //定义出半径r public Circle(){ super(); //调用Point类的无参构造 r=0; } //无参构造 public Circle(float x,float y,float r){ super(x,y); //调用Point类的有参构造 this.r=r; }//有参构造 public void setr(){ r=scan.nextFloat(); } public float area(){ final float PI=(float)3.14; return(PI*r*r); }//返回此圆 的面积的一个函数 public static void main(String[]args){ } } 3. 编写一个java应用程序,以不同形式建立若干个Circle类的对象,输出它们的中心点 public class Test{ public static void main(String []args ){ Circle circle1,circle2; System.out.println("circle1********************"); circle1=new Circle(1,2,3); //circle1 采用传参的方式构造 System.out.println("circle1: point:("+circle1.x+","+circle1.y+") r="+circle1.r);//输出中心点和半径 System.out.println("circle1: area:"+circle1.area()); //输出面积 System.out.println("circle1********************"); circle2=new Circle(); System.out.println("circle2********************"); System.out.println("please input the (x,y) r"); circle2.setx(); //circle2采用从键盘的方式构造 circle2.sety(); circle2.setr(); System.out.println("circle2: point:("+circle2.x+","+circle2.y+") r="+circle2.r);//输出中心点和半径 System.out.println("circle2: area:"+circle1.area());//输出面积 System.out.println("circle2********************"); } } 4. 给定一个正整数数组,按照冒泡排序算法进行排序 import java.util.Scanner; public class Sort{ private int []data;//定义一个数组 private Scanner scan;//一个阅读类对象 Sort(){ data=null; scan=new Scanner(System.in); //初始化对象,让其输入方式是从键盘读入 } public void readdata(){//从键盘读入数组 int n; System.out.println("please input the size of the data:"); n= scan.nextInt();//读入一个整数(数组长度)赋给n data=new int[n];//data给data赋空间 for(int i=0;i<n;i++){ data[i]=scan.nextInt();//读入数组中的所有的数 } } public void outputdata(){//输出一个数 组 for(int i=0;i<data.length;i++){ System.out.print(data[i]+" ");//输出每个元素 } System.out.println();//输出一个回车 } public void sort(){ //升序排列 int i,j,r; for(i=0;i<data.length-1;i++){ for(j=0;j<data.length-1;j++){ if(data[j]>data[j+1]){//相邻的两个数比较,把大的放在后面,每一轮下来最大的都是在最后 r=data[j]; data[j]=data[j+1]; data[j+1]=r; } } } } public static void main(String []args){ Sort sortdata=new Sort();//创建一个这样的对象 sortdata.readdata();//读入一个数组 sortdata.sort();//进行排序 sortdata.outputdata();//输出数组 } } 5. 编写一个Java程序,将某一整数范围内所有素数打印出来。要求用图形界面实现 import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.swing.event.*; import java.util.*; import java.io.*; public class File1 extends JFrame{ //继承窗口容器 private JLabel labela; //设标签对象 private JLabel labelb; private JTextField texta; //设文本输入框对象 private JTextField textb; private JButton ok; //设一个按扭对象 private Container content; //设一个面板容器对象 private int low,high; //low-下限 high-上限 private Scanner scan; //阅读类 private JTextArea text;//结果显示区域的文本区对象 public File1(){ //构造函数 this.setSize(300,450); //设置窗口大小 this.setTitle("素数"); //设置标题 this.setVisible(true); //可见 this.setResizable(false);//不可改大小 Dimension screen=Toolkit.getDefaultToolkit().getScreenSize(); //读取屏幕大小尺寸 Dimension mySize=this.getSize(); //读取窗口大小尺寸 setLocation((screen.width-mySize.width)/2,(screen.height-mySize.height)/2); content=this.getContentPane(); //把面板容器加入到窗口中 content.setLayout(null); //无布局模式 labela=new JLabel("input low:"); //为标签开辟空间 labelb=new JLabel("input high:"); content.add(labela); //向面板中加入标签 content.add(labelb); texta=new JTextField("0",50); //为文本输入框开辟空间 textb=new JTextField("0",50); content.add(texta); //向面板容器中加入文本框对象 content.add(textb); text=new JTextArea(); //开辟一片文本显示区域的空间 content.add(text); //加入到面板中 text.setBounds(0, 150, screen.width, screen.height/3); ok=new JButton("ok"); content.add(ok); labela.setBounds(5,5,80,20); //设置各个对象在窗口中的位 置(x,y,width,heigth); labelb.setBounds(5,50,80,20); texta.setBounds(80,5,100,20); textb.setBounds(80,50,100,20); ok.setBounds(225,40,50,50); ok.addActionListener(new clicked());//对按扭进行事件监听 } public void sendtotext(int low,int high) throws IOException {//把所有的素数挑出来输出到文本显示区的函数 String str=new String("between "); str=str+Integer.toString(low); str=str+" and "; str=str+Integer.toString(high); str=str+": "; //让str中存入“between low and high: ” int i,j,flag=0; if(low<2)low=2; for(i=low;i<high;i++){ for(j=2;j<i;j++){ if(i%j==0)break; } if(j!=i)continue; else {str=str+Integer.toString(i);str=str+" ";} flag=1; }//选出所有素数,写入到str中 if(flag==0){ //若没有素数则存入没有素数 str="sorry,not exsits"; } text.setText(""); text.append(str); //在文本显示区中输入str结果 text.setCaretPosition(0);//让文本区的焦点一开始在文本开头儿 } public class clicked implements ActionListener{//监听类 @Override public void actionPerformed(ActionEvent e) {//若触发了事件则执行的函数,也就是说在按下按扭之后要执行的函数 low=Integer.parseInt(texta.getText());//把下限转换为整型 high=Integer.parseInt(textb.getText()); try { sendtotext(low,high); //把结果写入到文本显示区 } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } } } public static void main(String[]args){ File1 file=new File1();//新建一个File1对象,这样 就会弹出图形化窗口 } } 6.没有第6题 7. 编写一个程序,找出整数数组中的最小元素和最大元素,并统计最大元素和最小元素的个数 import java.util.Scanner; public class Count{ private int []data;//定义数组对象 private int max_count;//最大值的个数 private int min_count;//最小值 的个数 private Scanner scan;//定义一个阅读类的对象 Count(){//构造函数 赋初值 data=null; max_count=0; min_count=0; scan=new Scanner(System.in); } public void readdata(){ int n; System.out.print("please input the size of the data: "); n=scan.nextInt(); //读入数组长度存入n中 data=new int[n];//为数组开辟空间,这个一定 不要忘 for(int i=0;i<n;i++){ data[i]=scan.nextInt();//读入数组中的每一个元素 } } public void count(){//统计数组中的最大值和最小值的个数 int max,min; max=data[0]; min=data[0]; //一开始假设最大值和最小值都是第一个元素 for(int i=0;i<data.length;i++){ //遍历一遍 if(max<data[i]){//如果max不是最大的,那max存入比他大的,并将个数置成1 max=data[i]; max_count=1; } else {//若max 是目前最大的,如果有和他一样大的,max_count自增 if(max==data[i])max_count++; } if(min>data[i]){//最小值同理于最大值方法 min=data[i]; min_count=1; } else{ if(min==data[i])min_count++; } } } public void output(){//输出结果 System.out.println("the max_count: "+max_count+" "+"the min_count: "+min_count); } public static void main(String []args){ Count co=new Count();//新建一个Count对象 co.readdata();//读入数组 co.count();//统计个数 co.output();//输出结果 } } 8. 编写一个程序,列出某个目录及其子目录下的所有文件的名称和他们的属性 import java.io.*; import java.util.Scanner; public class Catalog { private String path; //文件路径 private File dir; //一个文件类对象 private Scanner scan; //阅读类对象 public Catalog(){ //构造函数,初始化数据 path=null; dir=null; scan=new Scanner(System.in); } public void open(String path){ //让dir指向路径所指的文件 dir=new File(path); } public void input(){ //读入路径到path System.out.println("Please input the path:"); path=scan.nextLine(); open(path);//调用open函数(上面) } public void listfiles(File dir,int level) {//展开所有子目录,level是指当前的目录是第几层的子目录 int i=0; File []files=dir.listFiles(); //将当前目录dir下的所有文件存入到一个文件数组中files for(i=0;i<files.length;i++){ //遍历这个文件数组 for(int j=0;j<level;j++){//按照level的值输出指定的空格,表现出目录之间的层次关系 System.out.print(" "); } System.out.print(files[i].getName()+":"); //输出文件名称 if(files[i].isFile())System.out.println("a File"); //输出文件是否是目录属性还有很多,如大小等,自己去弄吧哈 else System.out.println("a directory"); if(files[i].isDirectory()){ listfiles(files[i],level+1); //若该文件是一个目录的话 ,递归调用此函数,将它的子目录展开 } } } public void showca(){ //展示目录 if(!dir.exists()){System.out.println("sorry,not exists!");}//若一开始指定路径的文件不存在的话 else{//若存在则展开所有子目录 listfiles(dir,0);//(函数在上面) } } public static void main(String []args){ Catalog ca=new Catalog();//建立一个对象 ca.input();//输入根 目录 的路径 ca.showca();//展开根 目录下的所有子目录 } } 第四题.读程序题 1. m = 10 2. 9 7 5 3 1 3. 黄牧 000001 4. 02- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 答题 编程 答案
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【丰****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【丰****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文