面接の3つのテスト問題
1.タイトル:101-200の間に何個の素数があるかを判断し、全ての素数を出力する.
素数を判断する方法:1つの数でそれぞれ2からsqrt(この数)を除去し、整除できれば素数ではなく、逆に素数であることを示す.
2.FileInputStreamクラスを適用し、アプリケーションを作成し、ディスクからJavaプログラムを読み込み、ソースコードを画面に表示します.(読み込まれたファイルパスは、E:/myjava/Hello.java)
3.List list = new ArrayList(); この汎用IntegerのArrayListにStringタイプのオブジェクトを格納します.
素数を判断する方法: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
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));
}
}
}