Java-toCharArray()方法

时间:2016-11-06 17:20:40

标签: java

Scanner in= new Scanner(System.in);
int len=in.nextInt();
String s=in.next();
char[] ch=s.toCharArray();
System.out.println(len);
System.out.println(ch.length);

我通过提供输入

运行此代码段
400004
//and a string of length 400004

输出

400004
8190

我知道当我们使用toCharArray()时它会返回一个与String相同长度的char数组。但在这里它是不同的。 我无法理解这是多么可能。 请帮帮我。

2 个答案:

答案 0 :(得分:0)

您肯定会复制并粘贴包含换行符或其他字符的字符串,这会使next方法返回Scanner。因此,只有部分字符串被复制到s

答案 1 :(得分:0)

我尝试了这段代码,由于命令提示符缓冲区的限制,在String变量中只输入了长度= 8190字符串。

您可以尝试从文本文件中获取输入,它可以正常工作。

请参阅我的代码,以供参考。

  Scanner in = new Scanner(System.in);        
    int n=0;
    String number=null;  
    BufferedReader br = null;
    FileReader fr = null;
    try {

        br = new BufferedReader(new FileReader("txt file path"));

        String len= br.readLine();
        n=Integer.parseInt(len);
        number = br.readLine();
       }
 catch (IOException e) {
        e.printStackTrace();
     }