簡體   English   中英

JAVA字符輸入

[英]JAVA char input

我的代碼在獲取第一個值后沒有將輸入輸入到char變量中。

import java.io.*;
import java.lang.Character;
public class Test
{
    public static void main(String args[])throws IOException
    {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));                                                                                          
        char s;
        for(int i=0;i<3;i++)
        {
            System.out.print("->");
            s=(char)br.read();
            System.out.print(s);
        }
    }
}

我得到這個輸出

->a
->>

我不會這樣

->a
a
->b
b
->c
c

根據Java Docs: 這里

read()函數一次讀取一個字符。

提供的輸入:a,然后按Enter。

br.read()在迭代中讀取以下字符:前三個迭代中a-> \\ r-> \\ n。 如果循環超過3個,它將再次提示用戶輸入。

您可以通過以下兩種方式解決問題:

  1. 使用read()函數:在這種情況下,輸入必須像'abcd'一樣,而不是'a',然后是'b',然后是'c'然后是'd'。

    public static void main(String args[])throws IOException
           {
               BufferedReader br=new BufferedReader(new InputStreamReader(System.in));                                                                                          
               char s;
               for(int i=0;i<3;i++)
               {
                   System.out.print("->");
                   s=(char)br.read();
                   System.out.print(s);
               }
           }
  1. 使用readLine()函數:輸入將是所提到的方式。
public static void main(String args[])throws IOException
            {
                BufferedReader br=new BufferedReader(new InputStreamReader(System.in));                                                                                          
                String s;
                for(int i=0;i<3;i++)
                {
                    System.out.print("->");
                    s=br.readLine();
                    System.out.print(s);
                }
            }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM