码迷,mamicode.com
首页 > 其他好文 > 详细

Scanner 的next()输入只接收第一个

时间:2020-01-08 18:55:59      阅读:100      评论:0      收藏:0      [点我收藏+]

标签:asc   遇到   main   tab键   slf4j   spl   demo   使用   imp   


说明:
next()

next()一定要读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键、Tab键或Enter键等结束符,next()方法会自动将其去掉,只有在输入有效字符之后,next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符。比如,在控制台输入“ gjm gjm ”时,一次next()读入进来的仅仅是"gjm"。它不能得到带空格的字符串的!

nextLine()

nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符。比如,在控制台输入“ gjm gjm ”时,一次nextLine()读入进来的结果是" gjm gjm "。它是可以得到带空格的字符串的!

```javascript
// An highlighted block
package com.zt.posts.common.util;

import lombok.extern.slf4j.Slf4j;

import java.util.Scanner;
@Slf4j
public class ScannerDemo {

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);
String in = sc.next();
// String in = "Hello World Ni";
System.out.println(in);
System.out.println(in.equals("Hello World Ni"));
log.info(in);
String [] str = in.split(" ");
System.out.println(str.length);
for (String s: str) {
System.out.print(s+"\t");
}
String [] str1 = new String[str.length];
for (int i =0 ; i <str.length; i++) {
str1[i] = str[str.length-i-1];
}
int m = 1;
/*for (String s: str1) {
System.out.print(s);
m=0;
System.out.print("\t"+s);
}*/
}
}

```

解决: 使用nextLine()来读取

Scanner 的next()输入只接收第一个

标签:asc   遇到   main   tab键   slf4j   spl   demo   使用   imp   

原文地址:https://www.cnblogs.com/xwd2366846227/p/12168137.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!