next, nextLine en java

next, nextLine en java - Java - Programmation

Marsh Posté le 04-04-2017 à 21:05:54    

Bonjour,
j'ai un petit programme :
 

Citation :


import javax.swing.*;
import java.util.*;
class MaFenetre extends JFrame
 { public MaFenetre()
  { setTitle("Ma premiere fenetre" );
  setBounds( 50, 100, 300, 150);
  }
 }
 public class Premfen2
 {public static void main(String args[])
  {JFrame fen = new MaFenetre();
  fen.setVisible(true);
  Scanner sc = new Scanner(System.in);
  while(true)
   
   {
   System.out.print("nouvelle largeur :" );
   int larg =sc.nextInt();
   System.out.print("nouvelle hauteur :" );
   int haut = sc.nextInt();
   System.out.print(" Nouveau titre : (vide pour finir) " );
   String tit = sc.next();
   if(tit.length() == 0) break ;
   fen.setSize(larg, haut);
   fen.setTitle(tit);
   //fen.setVisible(true);
   }
  }
 }
 


si j'utliise

Citation :

next()

comme dans le programme ci-dessus et que je donne une phrase avec des espace pour le titre de ma fenêtre comme

Citation :

"ma deuxième fenêtre"

, il n'y a que le premier mot qui est pris ici ma fenêtre affiche

Citation :

"ma"

et si j'utilise [/quote]nextLine[/quote], le programme s'arrête.
J'utilise le terminal sur un imac
Si vous pouvez m'aider ça serait super,
merci d'avance

Reply

Marsh Posté le 04-04-2017 à 21:05:54   

Reply

Marsh Posté le 04-04-2017 à 22:53:34    

Je pense que tu as ce problème: http://stackoverflow.com/a/13102066
 
Mais plus simple, tu peux utiliser un autre délimiteur

Code :
  1. Scanner sc = new Scanner(System.in);
  2. sc.useDelimiter("\n" );


Et sc.next() devrait fonctionner comme voulu.


---------------
click clack clunka thunk
Reply

Marsh Posté le 05-04-2017 à 11:37:51    

Merci, j'ai utilisé la première solution (ajouter un autre appel à nextLint()) en amont. Mais comme mon anglais informatique est laborieux, je ne comprend pas très bien le principe.
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed