Probleme dans syntaxe

Résolu/Fermé
ou97 Messages postés 9 Date d'inscription jeudi 20 octobre 2016 Statut Membre Dernière intervention 6 février 2017 - Modifié par KX le 20/10/2016 à 22:10
ou97 Messages postés 9 Date d'inscription jeudi 20 octobre 2016 Statut Membre Dernière intervention 6 février 2017 - 21 oct. 2016 à 15:42
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 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
20 oct. 2016 à 22:13
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 jeudi 20 octobre 2016 Statut Membre Dernière intervention 6 février 2017
Modifié par ou97 le 21/10/2016 à 00:04
est-se que tu me dire mon problème et merci infiniment
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
21 oct. 2016 à 07:46
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 jeudi 20 octobre 2016 Statut Membre Dernière intervention 6 février 2017
21 oct. 2016 à 15:42
merci beaucaup
0