答案:D
答案:C
HashMap能够保证其中元素的顺序 这个是错误的,只有treeMap才能保证数据的顺序
答案: D
解析:
FileInputStream 用于读取诸如图像数据之类的原始字节流。如:FileInputStream fis=new FileInputStream(new File("D:\\123.txt"));//新建一个FileInputStream对象
FileReader 从InputStreamReader类继承而来。该类按字符读取流中数据。
FileWriter 从OutputStreamReader类继承而来。该类按字符向流中写入数据。
File 代表磁盘中实际存在的文件和目录。
答案:B
volatile的两个特点:
1.保证读取的可见性 2.禁止指令重排
violate不能保证原子性,也就不能保证线程的安全
答案:B
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。
原则如下:
一.方法名一定要相同。
二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
1.如果参数个数不同,就不管它的参数类型了!
2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同。
三.方法的返回类型、修饰符可以相同,也可不同。
找组成一个偶数最接近的两个素数
任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,
本题目要求输出组成指定偶数的两个素数差值最小的素数对。
本题含有多组样例输入。
输入
20
输出
7
13
解题思路:先把给定的数字除以二,两个素数一定在这两部分中,判定这两部分里最大的素数之和为给定数字的就可以了;
import java.util.Scanner;
public class Primepair {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int num = scanner.nextInt();
int prime = solution(num);
System.out.println(prime);
System.out.println(num - prime);
}
}
private static int solution(int num) {
int n = num/2;
for (int i = n;n>1;i--){
while (isPair(i)&&isPair(num-i)){
return i;
}
}
return 0;
}
private static Boolean isPair(int n ) {
for (int i = 2;i<n/2;i++){
if (n%i==0){
return false;
}
}
return true;
}
}
有两个32位整数n和m,请编写算法将m的二进制数位插入到n的二进制的第j到第i位,其中二进制的位数从低位数到高位且以0开始。
给定两个数int n和int m,同时给定int j和int i,意义如题所述,请返回操作后的数,保证n的第j到第i位均为零,且m的二进制位数小于等于i-j+1。
测试样例:
1024,19,2,6
返回:1100
解析:返回的为操作后的十进制的数字,将m n转换为二进制的数,对m进行移位与n进行按位或,操作;
import java.util.*;
public class BinInsert {
public int binInsert(int n, int m, int j, int i) {
// write code here
// m左移j位
m <<= j;
return n | m;
}
}