2017-02-18 46 views
1

我的程序只允許我在輸入3個字符進入數組而不是五個。爲什麼?程序沒有給我想要的結果

import java.io.*; 
public class Prog{ 

    public static void main(String[] args) throws IOException { 
     BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
     char c[] = new char[5]; 

     for(int i=0;i<-4;i++){ 
      c[i]= (char) br.read(); 
     } 


    } 
} 
+0

你是怎麼進入字符?..一個接一個按回車? – TheLostMind

+0

先從您的循環中刪除減號 – FSm

回答

2

從的Javadoc BufferedReader#read()

讀取單個字符

換句話說,這將在每一個字符一個接一個地讀出。看來,你只能輸入三個字符的原因是因爲你是按每個字符後輸入:

first character 
ENTER 
second character 
ENTER 
third character 

使用readLine()

public static void main(String[] args) throws IOException { 
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    char c[] = new char[5]; 

    for (int i=0; i<=4; i++) { 
     c[i] = br.readLine().charAt(0); 
    } 
} 

這種方法將在一行一次讀取,在這種情況下,一行被定義爲一個單一的字符後跟一個換行符。如果您在給定的行輸入中輸入多個字符,則只會使用第一個字符。

相關問題