Probleme dans syntaxe

Résolu
ou97 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
ou97 Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -
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 16760 Date d'inscription   Statut Modérateur Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention  
 
est-se que tu me dire mon problème et merci infiniment
0
KX Messages postés 16760 Date d'inscription   Statut Modérateur Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention  
 
merci beaucaup
0