java scanner 字符,Java Scanner类读取字符串

I got the following code:

int nnames;

String names[];

System.out.print("How many names are you going to save: ");

Scanner in = new Scanner(System.in);

nnames = in.nextInt();

names = new String[nnames];

for (int i = 0; i < names.length; i++){

System.out.print("Type a name: ");

names[i] = in.next();

}

System.out.println(names[0]);

When I run this code, the scanner will only pick up the first name and not the last name. And it will sometimes skip a line when trying to enter a name, it will show up as if I had left the name blank and skip to the next name. I don't know what's causing this.

I hope someone can help me!

EDIT: I have tried in.nextLine(); it fixes the complete names but it still keeps a line, here is an example of the output:

How many names are you going to save: 3

Type a name: Type a name: John Doe

Type a name: John Lennon

解决方案

Instead of:

in.next();

Use:

in.nextLine();

nextLine() reads the characters until it finds a new line character '\n'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值