2015-10-30 1 views

Répondre

-1

Mise à zéro Scanner La saisie à la fin du code fonctionne à chaque fois, car le scanner attend que l'utilisateur appuie sur ENTRÉE. Honte Java n'a pas de commande d'attente ou de pause intégrée pour les applications de la console.

EDIT: Si vous voulez construire Scanner, vous le faites comme ceci:

Scanner scanner = new Scanner(System.in); 
scanner.nextLine(); 

System.in est le paramètre qui indique le scanner qui flux d'entrée à utiliser.

+0

Quelle chaîne a été ajoutée dans le constructeur Scanner? – mikigal

+0

J'ai le code: Scanner pause = new Scanner (""); pause.nextLine(); Mais j'ai crash Exception dans le fil "principal" java.util.NoSuchElementException: Aucune ligne trouvée – mikigal

+0

Merci cela fonctionne: D – mikigal

0

Il y a plusieurs façons d'y parvenir.

  • Vous pouvez demander à l'utilisateur pour l'entrée à la fin de votre méthode main.

  • Vous pouvez créer et démarrer un fil de discussion. Les threads Deamon sont automatiquement fermés lorsque votre méthode principale se termine. Cependant, les threads non-Deamon garderont votre application en vie jusqu'à ce qu'ils soient terminés. Vous pouvez également appeler le wait sur un objet.

Je ne suis pas sûr cependant, pourquoi vous voudriez garder une application vivante, si elle ne fait plus rien.

L'utilisation d'un fil non deamon:

// example of an application that never closes. 
public static void main(String[] args) { 
    new Thread(new Runnable() { 
     @Override 
     public synchronized void run() { 
      for(;;) 
       try { 
        wait(); 
       } catch (InterruptedException e) { 
       } 
     } 
    }).run(); 
} 

Appel d'attente sur un objet:

public static void main(String[] args)throws Exception { 
    Object o = new Object(); 
    synchronized (o) { 
     o.wait(); 
    } 
} 
1

readLine() attend jusqu'à ce que vous appuyez sur une touche:

public static void main (String[] args) throws IOException 
{ 
    BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); 
    in.readLine(); 
} 
1

La sim moyen de plest j'ai trouvé:

Scanner scanner = new Scanner(System.in); 
scanner.nextLine();