繁体   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