J'écris un programme dans lequel un utilisateur peut entrer la date et la laisser imprimer. ASWELL Le programme a une date donnée pour calculer la différence d'année avec une deuxième entrée. Mon problème actuel est que lorsque j'appelle la méthode de calcul, tout semble fonctionner bien, mais malheureusement, la sortie est toujours 0.
Voici mon code: P>
Enter todays date! 12 12 2019 12.12.2019 Press <0>, if you want to know passed years between two dates. 0 Enter a second date: 12 12 1990 0
3 Réponses :
Passer le par exemple.
GetYeardiff peut être modifié à p> méthode principale peut être modifié à p> diffr.year code> et dates.year code> pointe vers la même valeur. xmas code> objet à getyeardiff code> et faire différence = dates.year - xmas.year; code> p>
probablement je fais quelque chose de mal, mais quand j'essaie de passer l'objet de Noël dans la méthode, je reçois l'erreur: Noël ne peut pas être résolu à une variable
Malheureusement, la sortie reste 0
Veuillez consulter la réponse d'Anas Ablan, vous devez refracter votre code.
Sa standard Java pour avoir des champs utilisant des lettres majuscules. De plus, votre constructeur pour vous J'ai modifié votre code comme suit: p> Tout d'abord votre Puis j'ai créé une méthode pour demander l'entrée de date p> qui simplifie alors votre dates code> ne fait rien avec les arguments passés. Au lieu de cela, ils sont attribués à partir de scanner. C'est aussi contre la convention. Le scanner doit être en dehors de demander une entrée, puis vous construisez la classe en fonction de l'entrée de l'utilisateur. Les dates code> peuvent être Simplifié à: p> GetYeardiff Code> et Assgring Code> Fonctions: P> public static void main(String[] args) {
System.out.println("Enter todays date!");
Dates xmas = getDates();
asString(xmas);
getYeardiff(xmas);
scan.close();
}
Je pense que le problème est avec l'ensemble de la structure de code, vous utilisez des variables statiques, puis vous les traitez sous forme de variables d'instinct, essayez de redéfinir votre classe après la journée, le mois, les variables d'année définies comme des variables normales non statiques Statique Static Static. Seulement être utilisé lorsque vous souhaitez avoir une valeur fixe à utiliser au niveau de la classe, et même si vous pouvez séparer votre classe de dates de la classe principale pour rendre les choses plus faciles et plus claires pour vous-même. P >
Utilisez
java.time code >...Prenez soin des conventions de nommage Java. Les noms variables doivent commencer par le caractère minuscule.
Vous ne devriez pas demander des valeurs dans le constructeur de votre classe. Vos arguments de constructeur ne sont attribués nulle part
S'il vous plaît ne vandalisez pas votre question.