Java에서 문제가 있습니다. I이자바의지도 값에서 정수 값을 나눕니다.
ID OBJ
3 40
6 25
7 120
같은 Map <ID, OBJ> mapState
하고 (예를 들어) 정수 값 score=125
있다. mapState's OBJ
에서 점수를 뺀 다음 ID=3
이 OBJ
> 점수 인 경우 125
을 mapState
값에서 바로 빼십시오. 여기서 ID=3
입니다. 그러나 ID=3
에 OBJ < 125
이 있으면 다음 값을 검사합니다. 이제 ID=3
및 ID=6
에 대해 두 개의 값인 40+25
이 있습니다. 또 다시 ID3's value + ID6's value>score
(40+25>125)
이 맞는지 확인한 다음 사실이면 빼서 나머지지도를 반환합니다. 그렇지 않으면 다음 값을 확인하십시오.
예를 들어 최종지도는이 질문에 대한 자세한 설명이 필요한 경우 알려줘이 경우
ID OBJ
3 0
6 0
7 60
에,해야 돌아왔다.
편집 : 여기에 코드 problem--
Set set = map.keySet();
Iterator it= set.iterator();
int score= 125;
if(it.hasNext()){
Object id=it.next();
int val=(Integer) map.get(id);
int finalval;
if(val>score)
{
System.out.println("I");
finalval= val-score;
map.put(id, finalval);
}
else
{
System.out.println("II");
val=(Integer) map.get(id);
id=it.next();
val+=(Integer) map.get(id);
System.out.println(id);
if(val>score)
{
System.out.println("III");
finalval=val-score;
map.put(id, finalval);
}
else
{
System.out.println("IV");
id=it.next();
val+=(Integer) map.get(id);
System.out.println(id);
if(val>score)
{
System.out.println("V");
finalval=val-score;
map.put(id, finalval);
}
}
}
System.out.println(map);
시도해 볼 수 있습니까? –
어디에 문제가 있습니까? 방금 필요한 algorythm을 설명했습니다! 일부 임시 변수를 추가하여 빼는 ID 집합을 기억하십시오. – Piro
일부 사람들은 도움을 청하면 투표를 즐기기 만합니다. – AzAh