Probleme dans syntaxe

Résolu
excusez-moi je nouveau dans java,mon probleme est quand je saisis le cin (le variable dans le programme) il l'accepte mais quand je saisis le nom il escive est entre une chaine null
voici le programme:
import java.util.*;

public class etudiant {
 Scanner sc=new Scanner(System.in);
 private int cin;
 private String nom;
 public int getcin(){return this.cin;}
 public String getnom(){return this.nom;}
 public void setcin(int cin){this.cin=cin;}
 public void setnom(String nom){this.nom=nom;}
 public etudiant(int cin,String nom){this.cin=cin;this.nom=nom;}
 public etudiant(){
  
  System.out.println("saisir cin");
  this.cin=sc.nextInt();
  System.out.println("saisir nom");
  this.nom=sc.nextLine();
 }
 public static void main(String[] args) {
  etudiant e=new etudiant();
  System.out.println(" cin  "+e.cin);
  System.out.println(" nom  "+e.nom);

 }

}

1 réponse

  1. Modérateur
    Bonjour,

    sc.nextInt()
    ne fais pas exactement ce que tu penses, je t'invites plutôt à utiliser
    Integer.parseInt(sc.nextLine())
    à la place, ça corrigera le problème.
    1. est-se que tu me dire mon problème et merci infiniment
    2. Modérateur
      Le problème c'est que quand tu utilises le clavier, tu saisis un entier ET tu appuies sur la touche Entrée. Le nextInt() lis l'entier mais pas le saut de ligne.
      Donc c'est le nextLine() suivant qui lis ce saut de ligne que tu as déjà entré, avant même que tu n'ais saisi quoi que ce soit.
    3. merci beaucaup