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