day12-0507
选择题
当用多个catch语句时,catch语句块在次序上有先后之分。从最前面的catch语句块依次先后进行异常类型匹配,这样如果父异常在子异常类之前,那么首先匹配的将是父异常类,子异常类将不会获得匹配的机会,也即子异常类型所在的catch语句块将是不可到达的语句。所以,一般将父类异常类即Exception老大放在catch语句块的最后一个。
粉红色是受检查型异常;蓝色是运行时异常
HashMap(集合)中值的存储是无序的,依靠键值来存取元素,一个键对应一个值,就是说通过键来找值,并且键值都可为空。
FileInputStream提供了对文件的字节读取;
FileReader提供了对文件的字符读取;
FileWriter提供了对文件的字符写入;
File提供了对文件的基本操作,包括对删除,文件路径等操作。
add()方法里面的修改值并不会起作用,而add(++a)会使a数值越界成-128,所以输出为-128 127
编程
二进制插入
public class BinInsert { public static void main(String[] args) { System.out.println(binInsert(1024,19,2,6)); } public static int binInsert(int n, int m, int j, int i) { String N=new String(Integer.toBinaryString(n)); String M=new String(Integer.toBinaryString(m)); String str=new String(); int a=(i-j+1)-M.length();//第i位到第j位的长度比M长多少 for (int k = 0; k < N.length()-i-1; k++) { str+=N.charAt(k); } if(a>0){ for (int k =N.length()-i-1; k <N.length()-i-1+a ; k++) { str+='0'; } } for (int k = 0; k < M.length(); k++) { str+=M.charAt(k); } for (int k =N.length()-j; k <N.length(); k++) { str+=N.charAt(k); } int num=Integer.parseInt(str,2); //最绝的方法,只要这两步 // m<<=j; // num=n/m; return num; } }
查找组成一个偶数最接近的两个素数
public class EvenAndPrimeNumber { public static void main(String []args){ Scanner sc=new Scanner(System.in); int n=sc.nextInt(); int[] arr=new int[2]; Even(n,arr); for(int i:arr){ System.out.print(i); } } public static void Even(int n,int[] arr){ for(int i=n/2;n>=0;i--){ if(isSu(i)&&isSu(n-i)){ arr[0]=i; arr[1]=n-i; break; } } } public static boolean isSu(int n){ for(int i=2;i<=Math.sqrt(n);i++){ if(n%i==0){ return false; } } return true; } }