本文主要是介绍面试3道测试题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.题目:判断101-200之间有多少个素数,并输出所有素数。判断素数的方法:用一个数分别去除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<Integer> list = new ArrayList<Integer>(); 在这个泛型为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,遍历listfor (int i = 0; i <list.size(); i++) {System.out.println("输出list中的内容:"+list.get(i));}}
}
这篇关于面试3道测试题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!