CodeGym
Aktion
Lernen
Kurse
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan
Community
Nutzer
Forum
Chat
Artikel
Erfolgsgeschichten
Aktivität
Bewertungen
Abonnements
Helles Design
Frage
  • Bewertungen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Alle Fragen
CodeGym/Hilfe bei Java-Aufgaben/My result is right, but the validation says its wrong
hidden #10618197
Level 16
  • 01.10.20
  • 718Aufrufe
  • 8Kommentare

My result is right, but the validation says its wrong

Frage zur Aufgabe Mit Datumsangaben arbeiten
Java Syntax,  Level 8,  Lektion 11
Gelöst


1. Implementiere die Methode istUngeradesDatum(String datum), so dass sie true zurückgibt, wenn die Anzahl der Tage seit Jahresbeginn ungerade ist; ansonsten muss sie false zurückgeben.
2. String datum wird in folgendem Format übergeben: FEBRUARY 1 2013
Vergiss nicht, den ersten Tag des Jahres zu berücksichtigen.

Beispiel:
JANUARY 1 2000 = true
JANUARY 2 2020 = false

Anforderungen:
  • Das Programm muss Text auf dem Bildschirm ausgeben.
  • Die Solution-Klasse muss zwei Methoden besitzen.
  • Die Methode istUngeradesDatum() muss true zurückgeben, wenn die Anzahl der Tage seit Jahresbeginn ungerade ist, und ansonsten false.
  • Die main()-Methode muss die Methode istUngeradesDatum() aufrufen.
package de.codegym.task.task08.task0827; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; /* Mit Datumsangaben arbeiten */ public class Solution { public static void main(String[] args) { System.out.println(istUngeradesDatum("MAY 1 2013")); System.out.println(istUngeradesDatum("January 1 2013")); System.out.println(istUngeradesDatum("January 2 2013")); } public static boolean istUngeradesDatum(String date) { DateFormat df = new SimpleDateFormat("MMMMM d yyyy"); Date nY = new Date("JANUARY 0 2013"); Date now = new Date(date); int sil = (int) (nY.getTime() / 3600000 / 24); int act = (int) (now.getTime() / 3600000 / 24); int days = act - sil; if(days %2 != 0) { return true; } else { return false; } } }
0
Kommentare (8)
  • Beliebt
  • Neu
  • Alt
Sie müssen angemeldet sein um einen Kommentar zu hinterlassen
hidden #10618197
Level 16
2 Oktober 2020, 22:40
Misiu yes, I changed "2013" in Calendar cal1 to variable "year" And this was the Solution. I couldn't read that from the conditions
0
hidden #10618197
Level 16
2 Oktober 2020, 22:33
public class Solution { public static void main(String[] args) { System.out.println(istUngeradesDatum("December 31 2012")); System.out.println(istUngeradesDatum("January 1 2013")); System.out.println(istUngeradesDatum("January 2 2013")); System.out.println(istUngeradesDatum("January 3 2013")); System.out.println(istUngeradesDatum("January 4 2013")); } public static boolean istUngeradesDatum(String date) { DateFormat df = new SimpleDateFormat("MMMMM d yyyy"); Date x = new Date(date); int year = x.getYear() + 1900; int months = x.getMonth(); int day = x.getDate(); Calendar cal1 = new GregorianCalendar(2013, Calendar.JANUARY, 1); Calendar cal2 = new GregorianCalendar(year, months, day); int syl = (int) (cal1.getTimeInMillis() / 3600000 / 24); int now = (int) (cal2.getTimeInMillis() / 3600000 / 24); int days = now - syl; if(days %2 == 0) { return true; } else { return false; } } }
0
Misiu
Level 41 , Gdansk, Poland
2 Oktober 2020, 23:05
Why cal1 has 2013 year? cal1 and cal2 should have the same year (the year entered from keyboard).
0
hidden #10618197
Level 16
2 Oktober 2020, 22:32


0
hidden #10618197
Level 16
2 Oktober 2020, 22:32
Here my new code, but its always wrong though it works


0
hidden #10618197
Level 16
1 Oktober 2020, 22:55
You mean I need a GregorianCalendar?
0
Misiu
Level 41 , Gdansk, Poland
1 Oktober 2020, 23:25Lösung
nY must be the same year as entered from keyboard. But not only 2013.
+2
Misiu
Level 41 , Gdansk, Poland
1 Oktober 2020, 22:36
Your code works only for 2013 year.
0
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe bei Aufgaben
  • Preise
  • Java-Syntax
Community
  • Nutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsgeschichten
  • Aktivität
  • Partnerprogramm
Unternehmen
  • Über uns
  • Kontakte
  • Bewertungen
  • Presse
  • CodeGym for EDU
  • FAQ
  • Support
CodeGymCodeGym ist ein Online-Kurs zum Erlernen der Java-Programmierung von Grund auf. Dieser Kurs ist eine perfekte Möglichkeit, Java als Anfänger zu meistern. Er enthält über 1200 Aufgaben mit sofortiger Überprüfung und einen wesentlichen Umfang an Java-Grundlagentheorie. Um Ihren Lernerfolg zu unterstützen, haben wir eine Reihe motivierender Funktionen implementiert: Quizze, Programmierprojekte, Inhalte zum effizienten Lernen und Karriereinformationen für Java-Entwickler.
Folgen Sie uns
Interface-Sprache
English
Deutsch
Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym
MastercardVisa
"Programmierer werden gemacht, nicht geboren" © 2026 CodeGym