si l'instruction avec des entiers

Je suis nouveau à Java. Je suis à la recherche d'un peu d'aide avec les devoirs. J'ai l'habitude de poster le code complet je faisais qu'à l'origine, mais je ne pense pas que cela va m'aider à apprendre.

J'ai un programme de travail avec les classes. J'ai une classe qui permettra de valider une sélection et une classe qui a mes setters et getters et une classe que le professeur codé avec les IO pour le programme (c'est une entrée de livre)

J'ai une déclaration en ma principale comme ce que dit

//create new scanner
Scanner ip = new Scanner(System.in);

System.out.println();
int menuNumber = Validator.getInt(ip, "Enter menu number: ", 1, 3);

if (menuNumber = 1)
{
    //print address book    
}

else if (menuNumber = 2)
{
    //get input from user
}
else 
{
    Exit
}

Si vous regardez mon instruction si if (menuNumber = 1) - je obtenir une ligne rouge qui me dit que je ne peut pas convertir un int boolean. Je pensais que la réponse était if (menuNumber.equals(1)) mais qui m'a aussi donné une erreur similaire.

Je ne suis pas 100% sur de ce que je peux faire pour régler le problème, alors je voulais vous demander de l'aide. Dois-je convertir mon entrée à une chaîne de caractères? Droit maintenant, mon validateur ressemble à quelque chose comme:

if (int < 1)
print "Error entry must be 1, 2 or 3)
else if (int > 3) 
print "error entry must 1, 2, or 3)
else 
print "invalid entry"

Si je convertir mon principal d'une chaîne de caractères au lieu d'un int habitude j'ai du changer les choses ainsi?

Merci encore de m'aider, je n'ai pas été diong ce grand et je veux obtenir une bonne partie de la cession assommé.

= ayants droit valeurs à des variables. == tests pour l'égalité. Et ce n'est pas spécifique à Java ...
Je ne comprends pas pourquoi quelqu'un a voté cette question vers le bas. Il est bien écrit et le problème est évident en le regardant. J'ai voté +1 pour le ramener à 0.
le problème est évident en regardant". Exactement. Remarque la raison numéro un pour un downvote est de l'effort de recherche. Ce n'est tout simplement pas une question qui doit être posée ici, et il ne serait pas bénéfique à toute personne, dans l'avenir, au moins, il avait ouvert un débutant en programmation livre et de lire le chapitre 1.
Je ne peux pas d'accord. C'est typique des débutants erreur et je l'ai même vu de tels bugs dans le noyau linux, une fois. En C, vous auriez même pas obtenir toute sorte d'avertissement, il serait tout simplement faire un changement et si contrairement à zéro si la clause serait vrai. Il a clairement investi très peu de temps à vous poser la question et de l'écrire bonne mise en page et facile à comprendre. Qui ne devrait pas être puni. Downvoting devraient être réservés à des "cas extrêmes" à mon humble avis
StackOverflow est plein de brillants esprits. Malheureusement, cela signifie que, parfois, ils voient ce genre de questions qui sont triviales, mais extrêmement frustrant pour un débutant...surtout cette erreur commune, comme il peut (en C-ish langues la plupart du temps) de se cacher, par la résolution de la cession à quelque chose d'acceptable. De Plus, vous avez formé la question, tagged as des devoirs, a montré de travail et n'a pas demandé les gens à le faire pour vous; ne vous en faites pas, vous obtiendrez un upvote de moi. Il y a beaucoup plus de questions stupides flottant autour. Ne laissez personne vous décourager!

OriginalL'auteur Jeremy B | 2012-02-28