Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

GodOfGaming avatar GodOfGaming 1 Точки

Programing Basics with Java - 1000 Days After Birth

 Здравейте, направих задачката така, и в eclipse си работи, но judge-a пищи 0/100 и не разбирам какъв е проблема

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public class ThousandDaysAfterBirth {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yyyy");
		String inputDate = scanner.nextLine();
		
		try {
			Date date = formatter.parse(inputDate);
			Calendar calendar = Calendar.getInstance();
			calendar.setTime(date);
			calendar.add(Calendar.DATE, 1000);

			System.out.println(formatter.format(calendar.getTime()));
		} catch (ParseException e) {
			System.out.println("Parse Exception");
		}
	}

}

вади runtime error-и, но еклипса няма проблем с кода и си работи в него, та не знам какво се случва:

Тагове:
0
Programming Basics with Java 27/12/2019 20:47:32
inkarnasion avatar inkarnasion 278 Точки
Best Answer

Здравей, така както гледам проблема ти е заради  Calendar.getInstance() , предполагам че джъдж го забранява от security issue защото е част от security......( getInstance() method of java.security.Provider class is used to return a Signature object that implements the specified signature algorithm. This method traverses the list of registered security Providers, starting with the most preferred Provider. ), и честно казано тая задача не мисля че се изискваше чак такъв advance начин за решаване, да не говорим за try -catch, защо не пробваш по просто решение? Аз си изрових моето от преди,минава си със 100 в джъдж.

 

  String birthDay = scanner.nextLine();

        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("dd-MM-yyyy");
        LocalDate after1000d = LocalDate.parse(birthDay, dateTimeFormatter).plusDays(999);

        System.out.println(dateTimeFormatter.format(after1000d));
0
31/12/2019 09:38:07
GodOfGaming avatar GodOfGaming 1 Точки

Мерси много, доста по-малък код и минава през джъджа.

и честно казано тая задача не мисля че се изискваше чак такъв advance начин за решаване, да не говорим за try -catch, защо не пробваш по просто решение?

Това което ме докара до там беше изписаното в урока под задачата:

Насоки и подсказки

  • Потърсете информация за типовете Date, Calendar и SimpleDateFormat в Java и по-конкретно разгледайте методите Calendar.setTime(date), Calendar.add(countDays) и SimpleDateFormat.format(date). С тяхна помощ може да решите задачата, без да е необходимо да изчислявате дни, месеци и високосни години.

Точно като ровичках из нета споменатите типове и методи от това което успях да намеря се получи мойто решение, и try-catch-а беше задължителен иначе гърмеше още при formatter.parse(inputDate) за ParseException...

Сега получих 100/100, най-сетне мога да продължа нататък :)

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.