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

用scanner.next()读取屏幕输入的字符串时总是出问题。

System.out.println("***输入命令:1-按照名称查找图书;2-按照序号查找图书");
        Scanner input=new Scanner(System.in);
        int seekType=input.nextInt();
        
        if(seekType==1){
        	//用图书名寻找图书
        	System.out.println("输入图书名称:");
        	//******就下面这儿总是出问题。
        	String j=input.next(); //将输入的图书名称存到j变量里。
        	for(int i=0;i<books.length;i++){	
        		if(j.equals(books[i].getBookName())){
        			System.out.println("book:"+books[i].getBookName());
        			return;
        		}
        	}
    		throw new NoExistException("有参构造:图书不存在");
        }

上面的函数中,我先选1,再输入“高数”这个字符串,总是错误。我调试时发现:是因为每次在屏幕上输入“高数”,但变量 j 里面存的总是"gaoshugao高数“或者“gaosh高数”这种字符串,而且每次都不一样。

是因为scanner.next这个函数的问题吗?(在第一季里讲过这个函数scanner.nextInt是用来输入整数,而scanner.next是用来输入字符串的)。

正在回答

1 回答

应该不会啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第三季
  • 参与学习       409790    人
  • 解答问题       4340    个

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

进入课程

用scanner.next()读取屏幕输入的字符串时总是出问题。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信