java面试题,求解

来源:百度知道 编辑:UC知道 时间:2024/05/11 18:08:47
根据以下表信息,用JAVA语言,写出获得相同员工名称(不考虑重名可能性)的算法(算法要好)
员工 工资
张三 2000
里斯 1500
王二 2800
Adams 4000
David 1000
Max 2500
peter 2000

假设数据存储在二维数组中的话。。。

public class JianChaChongFu {
public static void main(String[] args) {
String[][] dt={
{"张三","2000"},
{"里斯","1500"},
{"王二","2800"},
{"张三","2000"},
{"萨达","4000"},
{"张三","2000"},
{"王二","2800"}
}; //数据存在一个二维数组里
String ss="";
int a;
int b;
String oo="";
for(int i=0;i<dt.length;i++)
{
ss+=dt[i][0]; //把数组里面的姓名导入到一个string里面
}
for(int i=0;i<dt.length;i++)//遍历数组
{
a=ss.indexOf(dt[i][0]); //获得数组下标为i的元素在ss中第一次出现的位置
b=ss.lastIndexOf(dt[i][0]);//获得数组下标为i的元素在ss中最后一次出现的位置
if(a!=b) //如果出现位置不同,则有重复
{
if(oo.indexOf(dt[i][0])==-1)//把重复姓名放到oo中,如果已经放了,就不再多放
{
oo+=dt[i][0]