2009-12-02 4 views
0

J'ai juste besoin d'aide avec ce programme. L'utilisateur doit entrer l'ID, mot de passe, le nombre de tentatives maximum & le nombre d'utilisations maximales. Et ils doivent aller dans un constructeur ... Quelqu'un pourrait-il m'aider à les transmettre dans le constructeur? J'utilise Java. Merci!Comment transmettre des variables entrées par l'utilisateur dans un constructeur?

import java.util.Scanner; 
public class LoginPw{ 


public static void main(String[] args){ 
    // TODO Auto-generated method stub 
    Scanner reader = new Scanner(System.in); 
    System.out.println("Enter in your id and password"); 
    int idnum = reader.nextInt(); 
    int password = reader.nextInt(); 
    System.out.println("Enter in the max number of tries"); 
    int maxtries = reader.nextInt(); 
    System.out.println("Enter in the number of max uses"); 
    int maxuses = reader.nextInt(); 
    PwLogin pwl = new PwLogin(idnum,password,maxtries,maxuses); 

}} 
class PwLogin{ 

    public PwLogin(int id, int pw){ 
    //assumes max num of tries is infinite. denote by value of 0. 
    this(id,pw,0,0); //call the 4-argument constructor w/ maxTries & maxUses defaulted as zero(infinite) 
    } 
    public PwLogin(int id, int pw, int tries){ 
    //assumes max number of uses is infinite. denote by value of 0. 
    this(id, pw, tries,0); //Call the 4-argument constructor with maxUses defaulted as zero (infinite) 
    } 
    public PwLogin(int id, int pw, int tries, int uses){ 
    // Now set the 4 class variables from the passed-in arguments 
    this.idnum =id; 
    this.password = pw; 
    this.maxtries=tries; 
    this.maxuses=uses; 

    } 

} 
+2

Votre code est déjà en train de faire ce que vous avez demandé. Pouvez-vous expliquer le problème que vous rencontrez? –

+0

oh le publicPwLogin (int id, int pw, essais int, utilisations int) { ne fonctionne pas pour le "this.idnum = id;" ou et je ne sais pas comment y remédier ou pourquoi c'est faux ... – Violet

+0

En dehors des champs manquants 'idnum',' password', etc, il semble ok:/ –

Répondre

2

Vous devez déclarer des variables membres en Java:

class PwLogin{ 

    private int idnum; 
    private int password; 
    private int maxtries; 
    private int maxuses; 

    public PwLogin(int id, int pw){ 
     etc... 
+0

Donc, ce serait les numéros entrés par l'utilisateur? Comme ceux que j'ai lu dans ma main? ont-ils la même valeur que ceux que l'utilisateur a inscrits dans main? – Violet

+1

Initialement, ils sont mis à zéro, mais après les avoir définis avec la ligne 'this.idnum = id;' alors ils sont réglés à la même valeur que vous avez entrée. –

+0

Merci merci pour votre aide! =] – Violet

Questions connexes