큰 루프가 있는데 여기에는 내부의 모든 사람들에게 대량 텍스트 메시지를 모방하는 메소드가 있습니다. 주소록. 이 루프는 성공적으로 호출이 시작된 후 전송 된 응답을 포함하는 전자 메일을 검사합니다. 내 문제는 1 대 1 순으로 답장을 확인하고 다음 줄에있는 다른 답장이 수신 될 때까지 다른 답장을 확인하지 않는다는 것입니다.조건이 충족되지 않으면 for 루프의 다음 객체로 건너 뜁니다.
이 루프를 변경하여 모든 연락처가 회신하거나 응용 프로그램이 종료 될 때까지 루프의 모든 연락처를 확인하려면 어떻게해야합니까?
Map<String, Integer> replies = new HashMap<String, Integer>();
for (int j = 0; j < v.size(); j++){
replies.put(((Member)v.elementAt(j)).getPhoneNo(), j); //Save a reference to the phone number AND its index in "v".
}
String host = "pop.gmail.com";
String mailStoreType = "pop3";
String username = "********@gmail.com";
String password = "********";
String[] phoneToCheck = new String[v.size()];
int phoneCheck = phoneToCheck.length;
while(phoneCheck > 0){
MailReader.check(host, mailStoreType, username, password);
for(int i = 0; i < v.size(); i++) {
con = (Member) v.elementAt(i);
phoneToCheck[i] = con.getPhoneNo();
if (replies.containsKey(phoneToCheck)) {
newFrame.addNotify();
System.out.println("IT WORKED");
model.setValueAt(MailReader.getReply(phoneToCheck[i]),
replies.get(phoneToCheck[i]), 3);
model.fireTableDataChanged();
replies.remove(phoneToCheck);
phoneCheck --;
}
}
}
단지 MailReader.searchForPhone (con.getPhoneNo()) == 사실 내가 할 수있는 MailReader.searchForPhone (con.getPhoneNo()) –
로 대체 말하는 ':이 경우에는이 방법으로 코드를 수정해야 어떤 것이 바깥 고리의 사용인지 이해하지 못한다. 각 n 요소에 대해 n 번씩 주소록을 확인하는 이유는 무엇입니까? – Panciz
"내 문제는 1 대 1로 답장을 확인할 것이고, 다음 답장이 수신 될 때까지는 다른 답장을 확인하지 않을 것입니다."하나 이상의 메시지를 체크하고 싶다고 말하려고합니까? 우편물 상자에있는 시간에 parallell? – Panciz