Changer static boolean
J'ai une mission pour l'école pour en faire un programme qui en résulte soit vrai ou faux. C'est sur si une année est une année bissextile ou non. Le problème que j'ai en ce moment est que je suis en utilisant un public static boolean au lieu d'un public boolean.
C'est mon code:
public class Assignment {
static boolean isLeapYear;
public static void main(String[] args)
{
int year = 2000;
isLeapYear(year);
}
public static boolean isLeapYear(int year) {
if (((year/100)%4 == 0 && year%4 ==0) || (year % 400 == 0))
isLeapYear = true;
else
isLeapYear = false;
System.out.println(isLeapYear);
return isLeapYear;
}
}
L'int de l'année 2000 pour le moment, mais les règles sont les suivantes:
Une année bissextile est une année qui peut être divisé par 4, sauf si l'année est le début d'un nouveau siècle (1700, 1800, 1900.....). Donc, même si vous pouvez diviser 1900 par 4 vous ne pouvez pas diviser par 400 de sorte qu'il est faux.
Donc encore une fois la question: Que dois-je faire, je suis en mesure d'utiliser un public boolean au lieu d'un public static boolean?
OriginalL'auteur TH3Mitch | 2012-11-20
Vous devez vous connecter pour publier un commentaire.
Vous devez créer une instance de votre classe pour appeler cette méthode à partir de votre méthode principale, si vous voulez faire de votre méthode non-statique. Et puis vous pouvez faire votre
isLeapYear
variable non-statique: -Mais, justement, vous n'avez pas besoin de stocker le résultat dans une variable booléenne. Si vous voulez retourner une valeur booléenne d'une expression, alors vous pouvez simplement retourner cette expression.
Donc, il suffit d'avoir ce code dans votre méthode fonctionne également très bien, et c'est plus lisible, et de laisser cette méthode statique: -
Et votre appel: -
What do I need to do so i'm able to use a public boolean instead of a public static boolean?
. Veuillez lire la question avant de downvoting? Et je ne pense pas que cette réponse vraiment besoin d'un downvote.Je pense que c'est une bonne réponse, donc j'ai jusqu'a voté.
Merci @BaileyS. 🙂
OriginalL'auteur Rohit Jain
Vous n'avez pas besoin de stocker ce résultat n'importe où.
Utilisation:
non-static
méthode au lieu destatic method
.OriginalL'auteur matt-dot-net
Méthodes statiques ne peuvent accéder à des variables statiques, seules les méthodes d'instance peut accéder à des méthodes d'instance, vous pouvez déduire si vous pensez orientée Objet.
Juste au cas où vous devez stocker le Booléen isLeapYear
OriginalL'auteur ssk
Votre affectation dire qu'il doit être stocké dans une classe ou une variable d'instance? Si non, il n'est pas nécessaire pour
public boolean isLeapYear
oupublic static boolean isLeapYear
, il suffit de retourner le résultat de la calcul et de le stocker dans une variable locale comme ceci:dans
main
méthode:OriginalL'auteur jlordo