2009-12-02 28 views
1

Im utilisé aussi en utilisant principalement et que vous voulez scanner aussi essayer d'utiliser un lecteur tampon: Heres ce que j'ai jusqu'à présentComment entrer une chaîne à partir d'un lecteur tamponné?

import java.util.*; 
import java.io.*; 
public class IceCreamCone 
{ 
// variables 
String flavour; 
int numScoops; 
Scanner flavourIceCream = new Scanner(System.in); 

// constructor 
public IceCreamCone() 
{ 

} 
// methods 
public String getFlavour() throws IOexception 
{ 
    try{ 

    BufferedReader keyboardInput; 
    keyboardInput = new BufferedReader(new InputStreamReader(System.in)); 
    System.out.println(" please enter your flavour ice cream"); 
    flavour = keyboardInput.readLine(); 
    return keyboardInput.readLine(); 
    } 
    catch (IOexception e) 
    { 
     e.printStackTrace(); 
    } 
} 

im assez sûr d'obtenir un entier que vous pouvez dire

Integer.parseInt(keyboardInput.readLine()); 

mais ce dois-je faire si je veux une chaîne

+1

pourquoi était-ce downvoted? –

Répondre

5

keyboardInput.readLine() retourne déjà une chaîne de sorte que vous devez simplement faire:

return keyboardInput.readLine(); 

(mise à jour)

Le procédé readLine déclenche une IOException. Vous soit jeter l'exception:

public String getFlavour() throws IOException { 
    ... 
} 

ou vous le gérer dans votre méthode.

public static String getFlavour() { 
    BufferedReader keyboardInput = null; 
    try { 
     keyboardInput = new BufferedReader(new InputStreamReader(System.in)); 
     System.out.println(" please enter your flavour ice cream"); 
     // in this case, you don't need to declare this extra variable 
     // String flavour = keyboardInput.readLine(); 
     // return flavour; 
     return keyboardInput.readLine(); 
    } catch (IOException e) { 
     // handle this 
     e.printStackTrace(); 
    } 
    return null; 
} 
+0

Je reçois toujours une erreur de compilation de cette façon. Je ne comprends pas. vous me dites ne pas avoir trop de saveur définie comme la chaîne, juste une ligne qui va imprimer? – OVERTONE

+0

Quelle est l'erreur que vous obtenez? –

+0

non gérée exception io. J'ai changé le code aussi ce que vous m'avez donné ci-dessus. – OVERTONE