几道比较基础的Java面试题
2009-10-26 10:45
441 查看
相当基础,但是还是蛮不错的。
一、创建一个静态方法,给它传入一个对象,请循环的打印出该对象所在类的类名和所实现的方法名(华为笔试最后一道编程)
二、假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等
三、给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842
四、给你一组字符串让你把它倒叙输出
五、给你一组字符如{1,3,4,7,2,1,1,5,2},让你输出里面出现次数最多且数值最大的一个,出现几次
我的解答:
一、创建一个静态方法,给它传入一个对象,请循环的打印出该对象所在类的类名和所实现的方法名(华为笔试最后一道编程)
二、假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等
三、给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842
四、给你一组字符串让你把它倒叙输出
五、给你一组字符如{1,3,4,7,2,1,1,5,2},让你输出里面出现次数最多且数值最大的一个,出现几次
我的解答:
package com.easyProblem; import java.lang.reflect.Method; import java.util.Arrays; /* * 一、创建一个静态方法,给它传入一个对象,请循环的打印出该对象所在类的类名和所实现的方法名(华为笔试最后一道编程) 二、假设字符串类似这样的aba和aab就相等,现在随便给你二组字符串,请编程比较他们看是否相等 三、给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842 四、给你一组字符串让你把它倒叙输出 五、给你一组字符如{1,3,4,7,2,1,1,5,2},让你输出里面出现次数最多且数值最大的一个,出现几次 */ public class FiveEasyProblem { public static void main(String[] args){ System.out.println("<--------------第一题----------------->"); showInfo("aaa"); System.out.println("<--------------第二题----------------->"); System.out.println("The result is: " + strEqual("334455667788","876543345678")); System.out.println("<--------------第三题----------------->"); System.out.println(findNum("w234hiho072")); System.out.println("<--------------第四题----------------->"); System.out.println(reverseString("ADdSFer34r67")); System.out.println("<--------------第五题----------------->"); System.out.println(findBigAndMost(new int[]{1,3,4,7,2,1,1,5,5,5,2})); } private static void showInfo(Object obj){ Class<?> cls = obj.getClass(); System.out.println("The object belongs to the class: "+cls.getName()); Method[] md = cls.getMethods(); for(int i=0; i<md.length; i++){ System.out.println("The class has method: "+ md[i].getName()); } } private static boolean strEqual(String a, String b){ if(a.length() != b.length() ) return false; char[] ca = a.toCharArray(); char[] cb = b.toCharArray(); Arrays.sort(ca); Arrays.sort(cb); for(int i=0; i<ca.length; i++){ if(ca[i] != cb[i]) return false; } return true; } private static String findNum(String str){ return str.replaceAll("[^0-9]", ""); } private static String reverseString(String str){ StringBuffer sb = new StringBuffer(str); return sb.reverse().toString(); } private static String findBigAndMost(int[] a){ int[] tmp = a.clone(); Arrays.sort(tmp); int n = -1; int num = 0; int lst = -1; int max = 0; for(int i=0; i<tmp.length; i++){ if(tmp[i]> n){ if(num >= max){ max = num; lst = n; } n = tmp[i]; num = 1; } else num++; } return "The num is: "+ lst +" And the times is: "+max; } }
相关文章推荐
- 几道比较基础的Java面试题 .
- java基础_比较深的面试题
- 比较基础常用的java面试题(2)
- 比较基础常用的java面试题(4)
- 比较基础常用的java面试题(1)
- 经典的Java基础面试题集锦
- JAVA企业面试题精选 Web基础 21-30
- java面试题基础3
- java基础知识记录--String类 (摘自张孝祥整理java面试题)
- 【转】Java基础:equals与"=="操作符的比较
- ASP.NET基础教程-C#与JAVA的比较
- Java基础面试题总结
- Java基础知识强化之集合框架笔记29:使用LinkedList实现栈数据结构的集合代码(面试题)
- Java基础面试题
- 面试题(二)—Java基础(下)
- JAVA面试题基础部分(三)
- 2017常见的50道java基础面试题整理(附答案)
- ifeve.com :java并发面试题(一)基础
- 【JAVA面试题系列一】面试题总汇--JAVA基础部分
- Java面试题大全(Java基础八)