>

어떻게 두 날짜의 유효성을 검사해야하지만 어느 방법이 가장 좋은지 모르겠습니다. 메인 클래스에서 생성자에 의해 NBPParserEngine 에 전달되는 객체를 만들었습니다. .

package pl.parser.nbp;
import pl.parser.nbp.calculations.RateCalculations;
import pl.parser.nbp.validation.ConditionChecker;
import pl.parser.nbp.validation.ConditionCheckerService;
import pl.parser.nbp.historysystem.HistorySystem;
import pl.parser.nbp.historysystem.HistorySystemService;
import pl.parser.nbp.view.NbpParserView;
import java.time.LocalDate;
public class MainClass {
    public static void main(String[] args) {
        NbpParserView nbpParserView = new NbpParserView();
        DataFetcher dataFetcher = new DataFetcher();
        HistorySystem historySystem = new HistorySystemService();
        RateCalculations rateCalculations = new RateCalculations();
        ConditionChecker conditionChecker = new ConditionCheckerService();
        NBPParserEngine nbpParserEngine = new NBPParserEngine(conditionChecker, dataFetcher, rateCalculations,
                historySystem, nbpParserView);

        String currency = args[0];
        LocalDate startDate = LocalDate.parse(args[1]);
        LocalDate endDate = LocalDate.parse(args[2]);
        nbpParserEngine.executeNbpParserEngine(startDate, endDate, currency);
    }
}

이 두 날짜가 좋은지 확인해야합니다. 그렇지 않으면 DateTimeParseException  던졌습니다. while 로 메인에서 확인해야합니까?  루프와 스캐너 또는 어떤 방법입니까?

  • 답변 # 1

    예를 들어 try-catch 문을 사용하십시오 :

       LocalDate startDate = null;
        try {
            startDate = LocalDate.parse(args[1]);
        } catch (DateTimeParseException dtpe) {
            System.err.println("Start date \"" + args[1] + "\" is not a valid date.");
            System.exit(-1);
        }
    
    

    종료일과 비슷하게하십시오.

    와이즈 비즈 검색  자세한 내용은 비슷합니다.

    그렇습니다. 프로그램이 대화 형인 경우 명령 줄에서 날짜를 읽는 대신 스캐너를 사용하여 표준 입력을 읽고 유효한 날짜가 입력 될 때까지 반복합니다. 다시 한 번 검색하면 검색을 구성하는 데 필요한 빌딩 블록으로 연결됩니다.

    java exception handling

  • 이전 php - woocommerce storefront theme 홈페이지에서 페이지 제목 제거
  • 다음 facebook - 앱 검토 성공 후 FB 라이브 API 실패