您的位置:首页 > 职场人生

几道比较基础的Java面试题

2009-10-26 10:45 441 查看
相当基础,但是还是蛮不错的。

一、创建一个静态方法,给它传入一个对象,请循环的打印出该对象所在类的类名和所实现的方法名(华为笔试最后一道编程)
二、假设字符串类似这样的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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: