`
Luob.
  • 浏览: 1592179 次
  • 来自: 上海
社区版块
存档分类
最新评论

java之1--10天练习

    博客分类:
  • Java
阅读更多
1--10天练习
/**
 * 10天总结练习
 * 注意:按java规范书写程序代码,如果你认为程序有错误,请指出,并说明程序错误原因
 */

//1.写出程序结果 
class Demo{
	public static void func(){
		try{
			throw new Exception();
		}finally{
			System.out.println("B");
		}
	}
	
	public static void mian(String[] args){
		try {
			func();
			System.out.println("A");
		} catch (Exception e) {
			System.out.println("C");
		}
		System.out.println("D");
	}
    //结果: 编译失败!  func()抛出一个编译异常, 没有 catch 和 throws 
    //如果 func()上面有声明编译时异常  ,结果是?  B  C  D 
}

//2.写出程序结果
class Test{
	Test(){
		System.out.println("Test");
	}
}
class Demo1 extends Test{
	Demo1(){
		//super
		System.out.println("Demo");
	}
	public static void main(String[] args){
		new Demo1();   // Test Demo
		new Test();    //Test
	}
}

//3.写出程序的结果
interface A{}
class B implements A{
	public String func(){
		return "func";
	}
}
class Test1{
	public static void main(String[] args){
		A a=new B();
		System.out.println(a.func());
	}
	//结果: 编译失败. 多态中   接口A没有定义func()
}

//4.写出程序结果
class Fu{
	boolean show(char a){
		System.out.println(a);
		return true;
	}
}
class Zi extends Fu{
	public static void main(String[] args){
		int i=1;
		Fu f=new Zi();
		Zi z=new Zi();
		for(f.show('A');f.show('B') && (i++<2);f.show('c')){
			z.show('D');
		}
		System.out.println(i);
	}
	boolean show(char a){
		System.out.println(a);
		return false;  // 结果:  A  B  1
		//return true; // 结果 :  A  B  D  C  B  3 
	}
}
//5.写出程序结果
interface C{}
class D implements C{
	public String test(){
		return "yes";
	}
}
class Test2{
	static C get(){
		return new D();
	}
	public static void main(String [] args){
		C  c=get();
		System.out.println(c.test());
	}
	//结果:编译失败: 多态中 接口 C对象中没有test()方法.
}

//6.写出程序结果 
class  Super{
	int i=0;
	public Super(String a){
		System.out.println("A");
		this.i=1;
	}
	public Super(){
		System.out.println("B");
		i+=2;
	}
}
class Child extends Super{
	public Child(String a){
		System.out.println("C");
		i=5;
	}
	public static void main(String[] args){
		int i=4;
		Super s=new Child("A");
		System.out.println(s.i);
	}
	//结果 : B  C  5
}

//7.补充代码
interface Inter{
	void show(int a,int b);
	void func();
}
class Test4{
	public static void main(String[] args){
		//补充代码, 要求使用 匿名内部类调用两个函数
		Inter i=new Inter(){
			public void show(int a,int b){
				
			}
			public void func(){
				
			}
		};
		i.show(4, 5);
		i.func();
	}
	
}

//8.写出程序结果
class TD{
	int y=6;
	class Inner{
		static int y=3;
		void show(){
			System.out.println(y);
		}
	}
}
class TC{
	public static void main(String [] args){
		TD.Inner ti=new TD().new Inner();
		ti.show();
	}
	//结果:编译失败,非静态内部类中个不可以定义静态成员
	//内部内中如果定义静态成员,该内部类必须被静态修饰.
}

//9.选择题,写出错误答案的原因,用单行注释的方式
class Test5{
	int show(int a,int b){return 0;}
} /**
     下面那些函数可以存在于Test5子类中
     A:public int show(int a,int b){return 0;}   //可以,是重写父类的方法
     B:private int show(int a,int b){return 0;}  //不可以:子类的权限范围必须大于等于父类
     C:private int show(int a,long b){return 0;} //可以:在子类中构成重载
     D:public short show(int a,int b){return 0;} //不可以,以为该类函数不可以和给定函数出现在同一类中,或者父子类中.
     E:static int show(int a,int b){return 0;}   //不可以,静态只能覆盖静态
     
  */
  
//10.写出this关键字的含义,final有哪些特点?
/**
 * this:代表本类对象,哪个对象调用this所在函数,this就代表那个对象.
 * 
 * final:
 *   1.修饰类,变量(成员变量,静态变量,局部变量) 函数.
 *   2.修饰的类不可以被继承
 *   3.修饰的函数不可以被覆盖
 *   4.修饰的变量是一个常量只能赋值一次.
 *   5.内部类只能访问 局部变量中的fianl修饰的变量
 */

//11.写出程序的结果
class Fu1{
	int num=4;
	void show(){
		System.out.println("Show Fu");
	}
}
class Zi1 extends Fu1{
	int num=5;
	void show(){
		System.out.println("Show Zi");
	}
}
class Test6{
	public static void main(String[] args){
		Fu1 f=new Zi1();
		Zi1 z=new Zi1();
		System.out.println(f.num);
		System.out.println(z.num);
		f.show();
		z.show();
	}
	//4  5  Show Zi Show Zi
}

//12.补充代码
interface E{
	void show();
}
interface F{
	void add(int a,int b);
}
class AA implements E,F{
	
	//补充代码
	private int a,b;
	//private int sum;
	public void add(int a,int b){
		this.a=a;
		this.b=b;
		//sum=a+b;
	}
	public void show(){
		System.out.println(a+b);	
		//System.out.println(sum);  //两种方法都可以
	}
}
class Test7{
	public static void main(String [] args){
		AA a=new AA();
		a.add(4,2);
	    a.show();  //通过该函数答应 以上两个数的和.
	}
}

//13.写出程序结果
class Test8{
	public static void main(String[] args){
		try{
			showExce();
			System.out.println("A");
		}catch(Exception e){
			System.out.println("B");
		}finally{
			System.out.println("C");
		}
		System.out.println("D");
	}
	
	public static void showExce()throws Exception{
		throw new Exception();
	}
	
	//结果:  B C  D
}
//14.写出程序结果
class  Super1{
	int i=0;
	public Super1(String s){
		i=1;
	}
}
class Demo2 extends Super1{
	public Demo2(String s){
		i=2;
	}
	public static void main(String [] args){
		Demo2 d=new Demo2("yes");
		System.out.println(d.i);
	}
	//结果 :编译失败 ,因为父类中缺少空参数的构造函数Super1(){}, 或者子类中 通过super明确调用父类中有参数的构造方法.
	
}


//15.写出程序的记过
class Super2{
	public int get(){return 4;}
}
class Demo3 extends Super2{
	public long get(){return 5;}
	public static void main(String[] args){
		Super2 s=new Demo3();
		System.out.println(s.get());
		
	}
	//结果:编译失败,因为子父类中的get()方法没有覆盖,但是子类调用的时候不能明确返回值的类型.
}

//16.写出程序的结果
class Demo4{
	public static void main(String[] args){
		try{
			throw new  Exception();
			System.out.println("A");
		}catch(Exception e){
			System.out.println("B");
		}finally{
			System.out.println("C");
		}
		System.out.println("D");
	}
	//结果:编译失败, throw 和 return ,break contiue 单独存在时, 后面不能有其他的语句.
}

//17.判断下面的选项,错误的请说出原因
class Demo5{
	public void func(){
		//位置1
	}
	class Inner{}
	
	public static void main(String[] args){
		Demo5 d=new  Demo5();
		//位置2
	}
}
/**
 * A: 在位置1写  new  Inner();       //Ok  
 * B: 在位置2写  new  Inner();       //错误: 因为主函数是 static ,如果要访问 Inner 也必须是 static修饰
 * C: 在位置2写 new  d.Inner();     //错误: 转换下  new new Demo5().Inner();
 * D: 在位置2写 new  Demo.Inner();  //错误: 因为 Inner不是static的
 */

//18.写出程序的结果
class Exce0 extends Exception{}
class Exce1 extends Exce0{}

class Test9{
	public static void main(String[] args){
		try {
			throw new Exce1();
			
		} catch (Exception e) {
			System.out.println("Exception");
		}catch(Exce0 e){
			System.out.println("EXce0");
		}
	}
	//结果:编译失败, 多个 catch时候,父类的catch要放在下面.
}

//19.补充代码
interface Inter1{
	void func();
}
class Demo6{
	public static void main(String[] args){
		//补充代码 匿名内部类 实现 调用 show();
		new Demo6().show(new Inter1(){
			public void func(){
				System.out.println("调用了");
			}
		});
	}
	
	void show(Inter1 i){
		i.func();
	}
}

//20.写出程序的结果
class Test11{
	public static String output="";	
	public static void foo(int i){
		try {
			if(i==1)
				throw new Exception();
			output+="1";
		} catch (Exception e) {
			output+="2";
			return;
		}finally{
			output+="3";
		}
		output+="4";
	}
	
	public static void main(String[] args){
		foo(0);
		System.out.println(output);  //结果:  134
		foo(1);
		System.out.println(output);  //结果:  13423
	}
}
//21.建立一个 图形 类 写出  长方形 和圆形的面积 

//22.补足compare函数内的代码 ,,不许添加其他的函数.
class Circle{
	private static double pi=3.14;
	private double radius;
	public Circle(double r){
		radius=r;
	}
	
	public static double compare(Circle[] cir){
		//在这里  补充代码 
		int max=0;  //double max=cir[0].radius;
		for(int x=1;x<cir.length;x++){
			if(cir[x].radius>cir[max].radius)
				max=x;
		}
		return cir[max].radius;
	}
}
class TC1{
	public static void main(String[] args){
		Circle cir[]=new Circle[3];
		cir[0]=new Circle(1.0);
		cir[0]=new Circle(3.0);
		cir[0]=new Circle(4.0);
		System.out.println("最大的半径值是:"+Circle.compare(cir));
	}
	
}

//23.写出程序的结果
class Test12{
	private static int j=0;
	private static boolean methodB(int k){
		j+=k;
		return true;
	}
	public static void methodA(int i){
		boolean b;
		b=i<10 | methodB(4);
		b=i<10 || methodB(8);
	}
	
	public static void main(String[] args){
		methodA(0);
		System.out.println(j);
	}
	//结果:j=4, 因为  i<10 =true  methodB(8)不会执行. 
}

//24. 给员工建模   员工包含 3个属性 姓名,工号 以及工资 经理也是员工 .....


/**
 * 25.在一个类中辨析莪一个额方法 ,这个方法搜索一个字符数组中事发后存在某个字符,如果存在,则放回一个字符现在字符数组中第一出现的位置
 * 需要从0 开始  ,否则 返回 -1 ,要搜索的字符数组和字符串都可以用参数的形式传递给方法,如果传递的数组为null,应该抛瞅 IllegalArgumentException异常
 * 在类的main方法中以各种可能出现得到情况验证该方法编写是否正确. 
 */ 
class Test10{
	public int getIndex(char[] arr,char key){
		if(arr==null)
          throw new  IllegalArgumentException("参数不合法");
       
		for(int x=0;x<arr.length;x++){ //如果为null 就不能调用 length
			if(arr[x]==key)
              return x;
        }
		
        return -1;
	 }
}

//26.补足 compare  函数内的代码,不许添加其他函数
class Circle2{
	private double radius;
	public Circle2(double r){
		this.radius=r;
	}
	public Circle2 compare(Circle2 cir){
		//补足代码
		return this.radius>cir.radius ? this:cir;
	}
}

class Test13{
	public static void main(String[] args){
		Circle2 cir1=new Circle2(1.0);
		Circle2 cir2=new Circle2(2.0);
		Circle2 cir3;
		cir3=cir1.compare(cir2);
		if(cir2==cir1)
			System.out.println("圆1的半径比较大");
		else 
			System.out.println("圆2的半径比较大");
	}
}

0
1
分享到:
评论

相关推荐

    java小练习,Java练习小程序,Java必用

    - 斐波那契数列定义:F(n)=F(n-1)+F(n-2),其中F(1)=1, F(2)=1。 - 可以通过循环或递归的方式实现。 2. **素数判断**: - 编写一个程序,找出101到200之间的所有素数。 - 素数定义:只能被1和自身整除的大于1的...

    21天学会Java--教案

    第8-10天:数组和集合框架 数组是存储相同类型元素的固定大小的序列,而集合框架则是更灵活的数据结构,如ArrayList、LinkedList、HashSet、HashMap等。学习者将学习如何声明、初始化和操作数组,以及如何使用集合...

    java基础练习50题

    ### Java基础练习题知识点解析 #### 程序1:兔子繁殖问题 - **知识点**: - 数列计算:本题涉及一个典型的斐波那契数列问题,即每个月的兔子数量形成一个数列,从第三个月开始,每月的兔子总数等于前两个月兔子...

    java基础练习题

    **题目描述**: 用while循环,计算1~200之间所有3的倍数之和。 **知识点**: 通过循环遍历1到200的数字,判断是否为3的倍数,并累加。 ```java int sum = 0; for (int i = 1; i ; i++) { if (i % 3 == 0) { sum +=...

    java编程练习题

    ### Java编程练习题知识点解析 #### 知识点1:完数的概念及寻找方法 - **定义**:完数(Perfect Number),又称完美数、完备数,是指一个正整数等于其所有真因子(即除了自身以外的因子)之和。如6 = 1 + 2 + 3。 -...

    实用java小程序-java 日历

    在Java编程语言中,创建一个日历应用是一个常见的练习,它可以帮助我们深入理解日期和时间的处理。这个“实用java小程序-java 日历”项目旨在教你如何利用Java的标准库`java.time`包来创建一个功能丰富的日历应用。...

    黑马程序员-Java语言进阶-源码、教程笔记.zip

    day01_Object类、常用API day02_Collection、泛型 day03_List、Set、数据结构、Collections day04_Map,斗地主案例 day05_异常,线程 day06_线程、同步 day07_等待与唤醒案例、线程池、Lambda...Java基础小节练习题答案

    java毕向东源代码1-15天

    【描述】提到的"共25天"暗示了这是一个完整的教学计划,不仅限于15天的基础源代码,可能还包括了后10天的进阶内容,如面向对象编程的深入理解、异常处理、集合框架、多线程、I/O流、网络编程等Java核心特性。...

    50道JAVA基础编程练习题

    Java 基础编程练习题汇总 本资源提供了 50 道 Java 基础编程练习题,涵盖了 Java 编程的多个方面,包括数据类型、运算符、控制结构、函数、数组、字符串等。这些练习题可以帮助初学 Java 编程的开发者更好地理解 ...

    Java循环练习题

    Java循环练习题 本练习题涵盖了 Java 语言中循环结构的应用,包括 for 循环、while 循环和 do-while 循环等,旨在帮助程序员熟练掌握 Java 语言的循环结构,提高编程能力。 一、山上有一口缸可以装 50 升水,现在...

    java必做练习50题

    【程序1】涉及的知识点是斐波那契数列,这是一种经典的递归序列,每项数字是前两项数字的和...以上这些题目覆盖了基础的算法、逻辑控制、数学运算以及数据类型处理等多个Java编程的基础知识点,是很好的编程练习题目。

    java练习27天.rar

    这个名为"java练习27天.rar"的压缩包文件似乎提供了一个精心设计的学习路径,帮助用户在27天内快速提升Java编程技能。"Java-master"这个子文件名暗示了它可能包含一个完整的Java学习项目或者代码库,以大师级的标准...

    Java 循环语句练习题.docx

    "Java 循环语句练习题" 这个 Java 循环语句练习题文档旨在帮助初学者熟悉 Java 语言的循环语句,包括 for 循环、while 循环、do-while 循环等。通过练习题的解答,读者可以熟悉 Java 语言的基本语法和循环语句的...

    Java_Test:练习的java源代码-备份-查看-练习

    这个名为"Java_Test:练习的java源代码-备份-查看-练习"的压缩包文件,很显然,是为学习和实践Java编程而准备的一系列源代码。"系统开源"的标签表明这些代码可能是基于开源项目或者遵循开源许可证,鼓励学习者查阅、...

    21天学通java6 第五版 源代码(程序清单)(练习答案)

    《21天学通Java6 第五版》是一本经典的Java学习教材,旨在帮助初学者在短时间内掌握Java编程基础。本书提供了丰富的实例和详细的解释,让读者能够在21天的学习过程中逐步理解并熟练运用Java语言。书中包含了程序清单...

    适合于初学者的JAVA基础练习题

    对于初学者来说,Java编程的学习离不开实践操作,下面是一些基于Java的基础练习题,旨在帮助初学者巩固基础知识,提升编程技能。 1. **日期天数计算**:编写一个程序,根据用户输入的年、月、日,计算出这一天是...

    curso-de-Java-dia-1

    【标题】:“curso-de-Java-dia-1” 指的是一门关于Java编程的课程,第一天的学习内容。在编程领域,Java是一种广泛应用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司)于1995年发布。Java以其“一次...

    JAVA程序设计竞赛练习

    JAVA 程序设计竞赛练习 本资源摘要信息主要讲述了 JAVA 程序设计竞赛练习中的一些重要知识点,包括世纪末的星期、马虎的算式、连号区间数等。 一、世纪末的星期 世纪末的星期是一个有趣的问题。根据题目,1999 年...

Global site tag (gtag.js) - Google Analytics