CodeGym
CodeGym University
Lernen
Kurs
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan für einen Tritt in den Hintern
Community
Benutzer
Forum
Chat
Artikel
Erfolgsstorys
Aktivität
Rezensionen
Abonnements
Helles Design
Frage
  • Rezensionen
  • Über uns
Start
Jetzt lernen
Jetzt lernen
  • Alle Fragen
Richi
Level 16
Heilbronn
  • 01.10.2020
  • 216Aufrufe
  • 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
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Richi
Level 16 , Heilbronn, Deutschland
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
Richi
Level 16 , Heilbronn, Deutschland
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
Richi
Level 16 , Heilbronn, Deutschland
2 Oktober 2020, 22:32


0
Richi
Level 16 , Heilbronn, Deutschland
2 Oktober 2020, 22:32
Here my new code, but its always wrong though it works


0
Richi
Level 16 , Heilbronn, Deutschland
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 zu Aufgaben
  • Preise
  • Spieleprojekte
  • Java Syntax
Community
  • Benutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsstorys
  • Aktivität
  • Affiliate Program
Unternehmen
  • Über uns
  • Kontakt
  • Rezensionen
  • Medien
  • CodeGym im Bildungsbereich
  • FAQ
  • Support
CodeGym CodeGym ist ein Java-Tutorial zum Lernen von Java von Grund auf. Dieser Kurs ist perfekt dafür geeignet, Java von Beginn an zu meistern. Er enthält über 1200 Aufgaben mit Sofortüberprüfung und grundlegende Theorie zu den Java-Grundlagen. Damit auch du bei deinem Kurs erfolgreich bist, haben wir eine ganze Reihe motivierender Inhalte: Quizfragen, Programmierprojekte, Inhalte zu effizientem Lernen und zum Berufseinstieg als Java-Entwickler.
Folgen
Sprache der Oberfläche
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
MastercardVisa
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.