面接の3つのテスト問題


1.タイトル:101-200の間に何個の素数があるかを判断し、全ての素数を出力する.
素数を判断する方法:1つの数でそれぞれ2からsqrt(この数)を除去し、整除できれば素数ではなく、逆に素数であることを示す.
package interviewWjw;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;

public class Test1 {

	/**1.  :  101-200        ,       。
	 *        :        2 sqrt(   ),
	 *       ,         ,     。
	 */
	public static void main(String[] args) {
	//            :	
		Set<Integer> PrimeNum = getPrimeNum();
	//          :	
		for (Iterator iterator = PrimeNum.iterator(); iterator.hasNext();) {
			Integer integer = (Integer) iterator.next();
			
			System.out.println(integer);
		}
		System.out.println("     :"+PrimeNum.size());
		
	}

	private static Set<Integer> getPrimeNum() {
		//    :
		Set<Integer> list = new TreeSet<Integer>();
		//        :
		boolean b = false;
		for(int i = 101;i<=200;i+=2){
			
			for(int j=2;j<Math.sqrt(i);j++){
				// i j  ,       :    
				if(i%j==0){
					b = false;
					break;
				}else{
					b = true;
				}
			}
			if(b==true) list.add(i);
		}
		
		return list;
	}
}

2.FileInputStreamクラスを適用し、アプリケーションを作成し、ディスクからJavaプログラムを読み込み、ソースコードを画面に表示します.(読み込まれたファイルパスは、E:/myjava/Hello.java)
package interviewWjw;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.PrintWriter;

public class Test2 {

	/**
	 * 2.  FileInputStream ,      ,        Java  ,
	 *              。(         :E:/myjava/Hello.java)
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		
		File file = new File("e:\\file.txt");
		
		BufferedInputStream bfi = new BufferedInputStream(new FileInputStream(file));
		
		PrintWriter out = new PrintWriter(System.out);
		
		int num = 0;
		while((num=bfi.read())!=-1){
				out.print((char)num);
		}
		
		bfi.close();
		out.close();
			
	}

}

3.List list = new ArrayList(); この汎用IntegerのArrayListにStringタイプのオブジェクトを格納します.
package interviewWjw;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
/**
 * 3.List<Integer> list = new ArrayList<Integer>();
 *        Integer ArrayList     String     。
 */
public class Test3 {
	public static void main(String[] args) throws Exception {
		
		String str = "asb";
		
		List<Integer> list = new ArrayList<Integer>();
		//  java     :
		//     list     :
		Method[] methods = list.getClass().getMethods();
		System.out.println("list    "+methods.length+"   。");
			//  :
		System.out.println("-------------------");
			for (int i = 0; i < methods.length; i++) {
				System.out.println(methods[i]);
			}
		System.out.println("-------------------");
		
		//1,  add    :
		Method add = list.getClass().getDeclaredMethod("add", Object.class);
		//2,    :
		//invoke(Object obj, Object... args):                 Method          。
		add.invoke(list, str);
		
		//3,  list
		for (int i = 0; i <list.size(); i++) {
			System.out.println("  list    :"+list.get(i));
		}
	}
}