자바 면접 필기시험 문제 집계 (속속 보충)
1. 정렬 과 거품 정렬 선택
/**
*
* @param arr
* @return
*/
public static int[] ChooseSort(int[] arr){
for(int i=0;iint min=i;
for(int j=i+1;jif(arr[min]>arr[j]){
min=j;
}
}
int temp=arr[min];
arr[min]=arr[i];
arr[i]=temp;
}
return arr;
}
/**
*
* @param arr
* @return
*/
public static int[] BubbleSort(int[] arr){
for(int i=0;i1;i++){
for(int j=0;j1-i;j++){
if(arr[j]>arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
return arr;
}
2. 난수 10000 개 중 최대 1000 개 를 찾 아 코드 를 쓴다.
public static void main(String[] args) {
int[] arr=RandomCommon();
for(int i=0;i<1000;i++){
for(int j=0;j1;j++){
if(arr[j]1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<1000;i++){
System.out.print(arr[i]+",");
}
}
/**
* 1w
* @return
*/
public static int[] RandomCommon(){
int max=100000; //
int min=1; //
int n=10000; //
int[] result=new int[n]; // 10000
int count=0;
while(countint num=(int) (Math.random()*(max-min)+min);
boolean flag=true;
for(int i=0;iif(result[i]==num){
flag=false;
break;
}
}
if(flag){
result[count]=num;
count++;
}
}
return result;
}
3. 두 짝수 의 소수 (1 과 그 자체 에 의 해 정 제 될 수 있 는 수) 의 합 을 구한다.
public static void main(String[] args) {
System.out.println(PrimeSum(68)+PrimeSum(98));
}
public static int PrimeSum(int a){
int sum=0;
// ,
List prime=new ArrayList();
for(int i=2;i<=Math.sqrt(a);i++){
// , 1 , c , , , a,b. sqrt(c) , sqrt(c) 。
while(true){
if(a%i==0){
a/=i;
prime.add(i);//
}else{
break; //if while
}
}
}
if(a!=1){
prime.add(a); // a!=1
}
//set set.add()
Set set=new HashSet();
for (int i = 0; i < prime.size(); i++) {
if(set.add(prime.get(i))){
sum+=prime.get(i);
}
}
return sum;
}
4. 0 - 1000 의 수 를 구하 고 제곱 근 을 구하 고 작은 숫자 0.00001 을 유지 하 며 jdk 에 있 는 도구 류 를 빌 릴 수 없습니다.
public static void main(String[] args) {
int n=555; //
double x =1;
double temp =1;
double result=0;
do{
temp = x; //
x = 0.5*(x + n/x); //
result=x-temp;
result=result <= 0.0D ? 0.0D - result : result; //Math.abs result
}while(result>0.00001); // 5
System.out.println(String.format("%.5f", x)); // 5
}
5. 두 개의 숫자 A, B 가 있 습 니 다. 그들 은 모두 500 자리 의 숫자 를 가지 고 있 습 니 다. BigDecimal 로 연산 할 수 없 으 면 A + B 의 결 과 를 어떻게 규정 합 니까?
public static void main(String[] args) {
String a="123345567789";
String b="987765543321";
System.out.println(a.charAt(11));//charAt 0 11
int c=0;
LinkedList value=new LinkedList();
boolean isNeedCarry=false;
for(int i=a.length()-1;i>=0;i--){
boolean isAdded=false; // 1
c=Integer.parseInt(String.valueOf(a.charAt(i)))+Integer.parseInt(String.valueOf(b.charAt(i)));
if(isNeedCarry){ // true 1, 1 true
isAdded=true;
value.addFirst(String.valueOf(c+1).substring(1)); // : c 9, 1 10, 0, linkedlist
c+=1;
}
isNeedCarry=isAddCarry(c); // c
if(isNeedCarry){ // linkedList
if(!isAdded){
value.addFirst(String.valueOf(c).substring(1));
}
}else{ // , , LinkedList
value.addFirst(String.valueOf(c));
}
if(isNeedCarry&&i==0){
// , 12 13
value.addFirst(1);
}
}
for(int i=0;i<value.size();i++){
System.out.print(value.get(i));
}
}
public static boolean isAddCarry(int i){
boolean flag=false;
if(i>=10){
flag=true;
}
return flag;
}
6. 폴 더 에 있 는 모든 파일 삭제
public static void main(String[] args) {
DelAllFile("D:/downloads/ipsw");
}
/**
*
* @param path
* @return
*/
public static boolean DelAllFile(String path){
boolean flag=false;
File file=new File(path);
if(!file.exists()){
return flag;
}
if(!file.isDirectory()){
// path true
return flag;
}
String[] templist=file.list();//
File temp=null;
for(int i=0;iif(path.endsWith(File.separator)){//File.separator , '/'
//path '/' ,temp path
temp=new File(path+templist[i]);
}else{
//path '/' +'/'+ ,temp path
temp=new File(path+File.separator+templist[i]);
}
if(temp.isFile()){ //temp
temp.delete();
}
if(temp.isDirectory()){ //temp
DelAllFile(temp.getPath()); //
temp.delete(); //
flag=true;
}
}
return flag;
}
7. 서열 화 와 반 서열 화
public static void main(String[] args) throws Exception {
test1();
test2();
}
/**
*
* @throws Exception
*/
public static void test1() throws Exception{
OutputStream op=new FileOutputStream("D:/downloads"+File.separator+"a.txt");
ObjectOutputStream oop=new ObjectOutputStream(op);
oop.writeObject(new Person("zhangsan", 12));
oop.close();
}
/**
*
* @throws Exception
*/
public static void test2() throws Exception{
InputStream in=new FileInputStream("D:/downloads"+File.separator+"a.txt");
ObjectInputStream ois=new ObjectInputStream(in);
byte[] buffer=new byte[10];
int len=-1;
Person p=(Person) ois.readObject();
System.out.println(p);
ois.close();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.