为了账号安全,请及时绑定邮箱和手机立即绑定

如何解决输入中“nextLine()”的问题

如何解决输入中“nextLine()”的问题

慕哥9229398 2023-06-21 15:02:46
我能理解为什么nextLine()不起作用。如果我改变nextLine()我next()的输入不会接受所有短语 case 7:        System.out.println("Press 1 to post on your wall \nPress 2 to post on a friend's wall");        int b=scan.nextInt();        if(b==1){            System.out.println("What do you want to post?");            String pm=scan.nextLine();            Message ms= new Message(loginUser.getUsername(),loginUser.getUsername() +" :"+ pm.toString());            message.add(ms);        }        if(b==2){            System.out.println("Whose wall do you want to post? (Write his/her username)");            String ph=scan.next();            for(int n = 0;  n< users.size(); n++)            {                if(!loginUser.getUsername().equals(ph)                         && users.get(n).getUsername().equals(ph)){                    System.out.println("What do you want to post?");                    String postIt=scan.nextLine();                    Message me= new Message( ph,ph +" : "+loginUser.getUsername() +" : " + postIt.toString() );                    message.add(me);                }            }        }         luna=false;        break;
查看完整描述

1 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

scan.nextLine()您需要在调用后添加一个调用scan.nextInt();,而不是使用其中的值:

int b=scan.nextInt();
scan.nextLine(); //Add this line

这是因为nextInt()不会消耗用于nextLine()确定行结束的行终止符,并且额外的调用nextLine()将正确地为您消耗它。

基本上,在你给它赋值之前2,例如,nextInt()将采用2,然后nextLine()将采用2THAT 行之后的所有内容,这将是什么。

next如果您将ornextInt与混合使用,则始终需要执行此操作nextLine


查看完整回答
反对 回复 2023-06-21
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信