初学者的关于equals 和scanner的问题

雪墓 2018-03-31 10:04:33
import java.util.*;
public class aaa
{
public static void main(String[] args)
{
int x,y;
String z;
Scanner in=new Scanner(System.in);
x=in.nextInt();
y=in.nextInt();
z=in.nextLine();
if(x==12)
{
if(z.equals("midnight"))
{
x=0;
System.out.printf("%02d:%02d\n",x,y);
}
else
{
System.out.printf("%02d:%02d\n",x,y);
}
}
else if(x>=1&&x<=11)
{
if(!z.equals("am"))
{
System.out.printf("%02d:%02d\n",x,y);
}
else
{
x+=12;
System.out.printf("%02d:%02d\n",x,y);
}
}
}
}
请大神看看我这个代码
比如输入12 12 midnight
成立的是else里的条件
midnight前面有一个空格,equals怎么比都比不对
求怎么把输入的时候的空格去掉
是我的scanner输入方法错了吗
...全文
330 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
前端我废了 2018-04-02
  • 打赏
  • 举报
回复
引用 3 楼 Cyj1414589221的回复:
因为nextLine()会读取这一整行的数据
在z=in.nextLine()再加一句in.nextLine()
前端我废了 2018-04-02
  • 打赏
  • 举报
回复
因为nextLine()会读取这一整行的数据
火影忍者001 2018-04-01
  • 打赏
  • 举报
回复
在你获取字符串之前添加s.next()试下,可以试着添加多个尝试,其实是获取到前面的空格导致的
rabbitbug 2018-03-31
  • 打赏
  • 举报
回复
那你试试 z=in.nextLine().trim() ;

50,639

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧