2016-04-04 8 views
0

Java için yeni bir kullanıcıyım ve birisi bu kod parçacığına bakıp bana yardım ederse çok minnettar olurdum. asıldı adamaJava temel kod snippet'i

hoş geldiniz:

@SuppressWarnings("unused") 
public static void main(String[] args) throws IOException { 

    File fin = new File("wordList"); 
    FileInputStream fis = new FileInputStream(fin); 
    BufferedReader br = new BufferedReader(new nputStreamReader(fis)); 
    List<String> wordList = new ArrayList<>(); 
    List<Character> guessedCharacters = new ArrayList<>(); 
    char guessedCharacter; 

    String line = ""; 
    while ((line = br.readLine()) != null) { 
     wordList.add(line); 
    } 
    br.close(); 

    System.out.println("Welcome to hanged man."); 
    System.out.println(); 

    for (int i = 0; i < wordList.size(); i++) { 

     System.out.print("Guess a letter: "); 
     guessedCharacter = (char) System.in.read(); 
     System.out.println('\n'); 

    } 

Ben şu çıktıyı almak Yukarıdaki kod parçacığını çalıştırdığınızda.

Niyetim istemi var "mektup" Guess etmektir

sadece bir kez ilk harfini girin sonra görünür:

bir mektup Tahmin:

bir mektup Tahmin d:

bir mektup Tahmin .

"wordList.size()" yerine for döngüsünü üçten büyük bir tamsayı ile değiştirirseniz, aynı sonucu alırım.

Birinden haber almayı umuyorum. Şimdiden teşekkür ederim. Marcos

+1

örnek _wordList_ dosyası gönderilmesi için lütfen "sadece eğlence için" işleri karmaşık istemedikçe ve beklenen çıktı. – Berger

+0

Ne yapmak istediğiniz belli değil. Kullanıcının wordlist'inizdeki tüm kelimeleri tahmin etmesini ister misiniz? Kodunuzda tahmin edilenCharacter'ı kontrol eden hiçbir şey yok. Herhangi bir kelimeyi tahmin etmek için veya bir kelimeyi tahmin etmek için sadece bir kez "Bir mektup tahmin et" ibaresini görüntülemek ister misiniz? –

cevap

0

System.read.in() ile 'd' ve '\ n' değerlerini okuyorsunuz. (here bakınız) Tarayıcı sınıfını kullanmaya çalışın

1

Ne (egzersiz önemsiz görünüyor ve muhtemelen sadece herhangi GUI olmadan klavye girişlerini okumak için en kolay yolu istediğiniz gibi değil, muhtemelen) Scanner sınıfını kullanarak ya olduğu aradığınız veya büyük olasılıkla, bu:

String answer = System.console().readLine("Guess a letter : "); 

(tuş vuruşlarını okumak için System.read() kullanmayın veya :)

+0

Merhaba. Küçük sorunu tarayıcıyı kullanarak çözdüm. Ben sadece neden System.in – user2143292

+0

yöntem read() kullanılarak işe yaramadı merak ediyorum, her durumda, Java için yapılan son eklemelere sadık kalacağım. Soruma cevap verdiğiniz için teşekkür ederim. – user2143292