Probleme dans syntaxe

Résolu
ou97 Messages postés 9 Statut Membre -  
ou97 Messages postés 9 Statut Membre -
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

KX Messages postés 19031 Statut Modérateur 3 020
 
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.
0
ou97 Messages postés 9 Statut Membre
 
est-se que tu me dire mon problème et merci infiniment
0
KX Messages postés 19031 Statut Modérateur 3 020
 
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.
0
ou97 Messages postés 9 Statut Membre
 
merci beaucaup
0