读书人

今日面试的上机题帮忙看看

发布时间: 2013-06-26 14:29:32 作者: rapoo

今天面试的上机题,帮忙看看



//题的大概结构就这样。哪位高手能实现啊。。
public class A {
/**
* 用来初始化电影
* 存储结构:电影ID 电影名字 演员(多个)
* @param s
*/
public A(String[] s ){

}
//根据电影id 查找电影名
public String getNane(int id){

return null;
}
//根据演员名查找电影名。演员要全在电影里面
public int[] getAll (String[] s){//String[] 记不清楚是数组还是字符串了。
return null;

}
}


[解决办法]



package test;

import java.util.ArrayList;
import java.util.List;

public class Test2 {

private String[] s;


public Test2(String[] s){
this.s = s;
}

public String getName(int id){
for(String str:s){
String[] ss = str.split(" ");
if(Integer.parseInt(ss[0])==id){
return ss[1];
}
}
return null;
}

//根据演员名查询电影ID
public int[] getAll (String[] names){//String[] 记不清楚是数组还是字符串了。 return null; }
List<Integer> ids = new ArrayList<Integer>();
for(String str:s){
boolean b = true;
for(String name:names){
if(!str.contains(name)){
b=false;
}
}
if(b){
ids.add(Integer.getInteger(str.split(" ")[0]));
}
}
//Object[] o = ids.toArray();
int[] id = new int[ids.size()];
for(int i = 0;i<id.length;i++){
id[i] = ids.get(i);
}

return id;
}
}


[解决办法]
上面的有点问题 ,修改了一下 。下面代码测试OK了




package test;

import java.util.ArrayList;
import java.util.List;

public class Test2 {

private String[] s;


public Test2(String[] s){
this.s = s;
}

public String getName(int id){
for(String str:s){
String[] ss = str.split(" ");
if(Integer.parseInt(ss[0])==id){
return ss[1];
}
}
return null;
}

//根据演员名查询电影ID
public int[] getAll (String[] names){//String[] 记不清楚是数组还是字符串了。 return null; }
List<Integer> ids = new ArrayList<Integer>();
for(String str:s){
boolean b = true;
for(String name:names){
if(str.indexOf(name)==-1){
b=false;
}
}


if(b){
ids.add(Integer.parseInt((str.split(" ")[0])));
}
}
int[] id = new int[ids.size()];
for(int i = 0;i<id.length;i++){
id[i] = ids.get(i);
}

return id;
}




public static void main(String[] args){
String[] s = {
"1 大话西游 周星星 吴孟达 无名",
"2 人在途 王宝强 徐铮 无名"
};
Test2 t = new Test2(s);
//根据ID获取名字
String name = t.getName(2);
System.out.println(name);
String[] names = {"无名1"};

int[] ids = t.getAll(names);
System.out.println(ids);
}
}


读书人网 >J2SE开发

热点推荐