2 차원 배열에있는 데이터가 Object
입니다. 중복 데이터를 결합한 알고리즘을 찾고 있지만 알고리즘은 중복 된 알고리즘을 잃어 버립니다.2dArray에서 중복 행을 결합하면서 모든 중복을 유지합니다.
ECE (201) 전기 및 컴퓨터 공학 I 2.6666666666666665
BIO (101) 생물학 I 2.0
CS (101) 컴퓨터 과학 I 3.5 : 또한, 내 데이터가, 상단에 모든 행을 유지, 그래서
AE (101) 항공 우주 공학 I 2.5
BE (101)의 생명 공학 I 2.0
,691 363,210CS 101 전산학 I 2.0
CS 102 전산학 II 3.0
100 인트로 의공학 3.6
ECE 200 인트로 전자 컴퓨터 공학과 3.5
BIO 100 인트로 생물 2.2
BECS101 컴퓨터 과학 I 3.75
AE 101 Aerospace Engin eering 나는 1.6666666666666667
(100) 소개의 생명 공학 1.2
BE하지만 null
들로 가득 차 있습니다. 나는 다음과 같은 알고리즘을 사용
for (int i = 0; i< finalData.length; i++)
{
if (finalData[i][1] != null)
{
String first = (String)finalData[i][1];
for (int j = i; j< finalData.length; j++)
{
if (finalData[j][1]!= null)
{
String second = (String)finalData[j][1];
if (first.equals(second))
{
double one = (double)finalData[i][6];
double two = (double)finalData[i][6];
finalData[i][7] = (one + two)/2;
System.out.println("found!\t" + first + "\t" + second + "\t" + finalData[i][7]);
}
}
}
}
}
을 내 데이터가된다 :
발견! ECE 201 ECE 201 2.6666666666666665
가 발견되었습니다! 바이오 101 바이오 101 2.0
가 발견되었습니다! CS 101 CS 101 3.5
가 발견되었습니다! CS 101 CS 101 3.5
가 발견되었습니다! CS 101 CS 101 3.5
가 발견되었습니다! AE 101 AE 101 2.5
발견! AE 101 AE 101 2.5
발견! BE 101 BE 101 2.0
이 발견되었습니다! CS 101 CS 101 2.0
가 발견되었습니다! CS 101 CS 101 2.0
가 발견되었습니다! CS 102 CS 102 3.0
가 발견되었습니다! BE 100 BE 100 3.6
발견! BE 100 BE 100 3.6
발견! ECE 200 ECE 200 3.5
가 발견되었습니다! 바이오 100 바이오 100 2.2
발견! CS 101 CS 101 3.75
발견! AE 101 AE 101 1.6666666666666667
가 발견되었습니다! BE 100 BE 100 1.2
// 찾았습니다! 그것이 올바른 출력인지 확인하기위한 것입니다.
이 알고리즘을 향상시켜 원하는 결과를 얻을 수 있습니까?
나는 당신이 무엇을하려고하는지 전혀 모른다. 정확한 것을 다시 설명하고 설명해 주시겠습니까? (그리고 입력 내용을 보여주는 * 간단한 테스트 케이스를 추가하고 프로그램에서 기대하는 출력이 무엇인지 확인하십시오) – amit
'Object [] []를 사용하는 대신 ', 클래스를 작성하고'YourClass []'를 사용할 수 없습니까? – jlordo