手记概念——加深概念理解简单敲一敲

手记概念——加深概念理解简单敲一敲

#1 给定一个数组,返回数组第三大的数

import java.util.Arrays;
import java.util.Scanner;

	
public class ThirdMaxNum {
public static void main(String[] args) {
				int n=8;
		int array[]=new int[n];
		Scanner arr=new Scanner(System.in);
		System.out.println("请输入8个数字(用空格隔开):");//从键盘接受数组内容
		for(int i=0;i<array.length ;i++) {
			array[i]=arr.nextInt();
		}
			/* 利用冒泡排序对数组进行排序,当然也可以用快速排序等其他排序方法
			int temp;
			for(int a=0;a<array.length;a++) {
				for(int j=a+1;j<array.length ;j++) {
					if(array[a]<array[j])
					{
						temp=array[a];
						array[a]=array[j];
						array[j]=temp;
					}
				}
				
			}*/
		Arrays.sort(array);//也可用java提供的排序函数进行排序,但默认是升序
			System.out.println("数组中第三大的元素为:");
			System.out.println(array[5]);
			
			
}

	}

#2 顺时针90度旋转一个存储图像信息的二维数组


import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;

public class RotateMatrix {

	public static void main(String[] args) {

		Scanner Matrix1=new Scanner(System.in);
        int[][] arrays=new int[3][];  //用于存放输入的三行数据,每行数据都存入一个数组
       System.out .println("请输入三行三列的数组元素:");
        for(int i=0;i<arrays.length;i++){
            String str=Matrix1.nextLine();
            String[] strArray=str.split(",");
            for(int j=0;j<strArray.length;j++){
                arrays[i]=new int[strArray.length];
                arrays[i][j]=Integer.parseInt(strArray[j]);
                System.out.print(arrays[i][j]+",");
            
            
        }
			
     //旋转数组
    
 	       Object a;
			int len = Matrix1.length-1;
    		int[][] v = new int[3][3];//存放旋转后的新数组
    		int y = 0;//存放数组的二维数据的指针
    		for(int k = len;k >= 0;k--){
    			int[] b = a[k];
    			for(int n = 0; n < b.length;n++){
    				v[n][y]=b[n];
    			}
    			++y;
    		}
    	

#3 创建一个啮齿动物类 Rodent:老鼠 mouse,鼹鼠 gerbil, 大颊鼠hamster 这样的层次继承结构,在基类中提供对啮齿动物的通用方法,在子类中根据特定啮齿动物类型重载这些方法,以便执行不同的行为,创建一个Rodent 数组填充不同啮齿动物类型,然后调用相应子类方法


public abstract class Rodent {
		public abstract void name();
		public abstract void predator();
		public abstract void eat();
		public abstract void sound();
		public abstract void area();
		public void footnum() {
			System.out.println("四只脚");
		}

		public static void main(String[] args) {
			Rodent[] x1= {new Mouse(),new Gerbil(),new Hamster()};
			for(int i=0;i<x1.length;i++) {
				x1[i].name();
				x1[i].predator();
				x1[i].sound();
				x1[i].footnum();
				x1[i].eat();
				x1[i].area();
				System.out.println("######");
			}
		}
	}
		class Mouse extends Rodent{

		   public void name() {
				System.out.println("老鼠");
				
			}

			public void predator() {
				System.out.println("猫");
				
			}

			public void eat() {
				System.out.println("夜间偷吃粮食");
				
			}

			public void sound() {
				System.out.println("唧唧");
				
			}

			public void area() {
				System.out.println("全球各地");
				
			}
			
		}
		
		class Gerbil extends Rodent{

			   public void name() {
					System.out.println("鼹鼠");
					
				}

				public void predator() {
					System.out.println("狐狸");
					
				}

				public void eat() {
					System.out.println("昆虫等");
					
				}

				public void sound() {
					System.out.println("啪嗒");
					
				}

				public void area() {
					System.out.println("亚洲美洲等");
					
				}
				
			}

		class Hamster extends Rodent{

			   public void name() {
					System.out.println("大颊鼠");
					
				}

				public void predator() {
					System.out.println("猫头鹰");
					
				}

				public void eat() {
					System.out.println("水果坚果");
					
				}

				public void sound() {
					System.out.println("吱吱");
					
				}

				public void area() {
					System.out.println("叙利亚以色列等地");
					
				}
				
			}


#4 异常学习简单练习代码
*1 编写一个类,在main中try 里抛出一个exception对象,在catch 子句中捕获异常对象,并添加一个finally子句打印一条信息证明finally子句得到执行

import java.util.Scanner;

public class ExceptionTest {

	public static void main(String[] args) {
		System.out.println("请输入一个自然数:");
		Scanner sc =new Scanner(System.in );
		int a=sc.nextInt();
		try {
			if(a%2==0)
				throw new ExceptionOne();
			else
				System.out.println ("NotExistException");
		}catch(ExceptionOne errorone) {
			System.out.println ("ExceptionOne");
		}finally {
			System.out.println("In finally clause");
			if(a%5==0)
				return;
		}
	}

}

2 定义一个对象的引用并初始化为null,尝试用此引用调用方法,把这个调用放在try-catch子句里以捕获异常*


public class ExceptionTest02 {
	
class JavaLearn{
	private String 	way1 = "理论学习";
	private String 	way2 = "动手实践";
	
    void LearnMethods() {
		System.out.println("学习方法为:"+way1+way2);
	}	
}
	
public static void main(String[] args) {
	
	JavaLearn leran1=null;
	try {
		leran1.LearnMethods();	
	}catch(NullPointerException e) {
		System.out.println("出现空指针异常");
		
		}
	
        }

}

*3 建立一个三层的异常继承体系,创建他的一个方法A抛出异常体系的基类异常,用B继承A并重载方法抛出第二层异常,用C继承B重载该方法抛出第三层异常,在main 中创建一个C类对象,把它向上转型为A,然后调用这个方法

class MyException1 extends Exception
{
		private static final long serialVersionUID = 1L;
}

class MyException2 extends MyException1
{
		private static final long serialVersionUID = 1L;
}

class MyException3 extends MyException2
	{
		private static final long serialVersionUID = 1L;
	}

class A
{
	void work() throws MyException1
    {
	throw new MyException1();
	}
}

class B extends A
{
	void work(int i) throws MyException2
	{
	throw new MyException2();
	}
}

class C extends B
{
	void work(int i,String s) throws MyException3
	{
	throw new MyException3();
	}
}

public class ExceptionTest03 {
public static void main(String [] args)
	{
	C c = new C();
	A a = c;
	try{
	a.work();
	}catch(MyException1 e){
		System.out.println("捕获异常");
	}
  }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值