Java字符串长度计算程序问题:无法获取完整字符串求解决
解决Java输入字符串无法获取完整内容的问题
嘿,我明白你现在遇到的困扰啦——用next()方法只能拿到空格前的部分,所以输入带空格的字符串时,就没法获取完整内容,长度计算自然也不对啦。
问题原因
Scanner的next()方法是以**空白字符(空格、回车、制表符等)**作为分隔符的,它只会读取到第一个空白符之前的内容。比如你输入Hello Java,next()只会返回Hello,剩下的Java会留在输入缓冲区里,自然就没法得到完整的字符串啦。
解决方案
把in.next()换成in.nextLine()就可以啦!nextLine()方法会读取整行内容,直到遇到换行符(也就是你按下回车的时候),这样不管输入里有没有空格,都能完整获取到整个字符串。
修改后的代码如下:
import java.util.Scanner; public class Length { public static void main (String [] args) { Scanner in = new Scanner (System.in); String cad = in.nextLine(); // 这里换成nextLine() System.out.println(cad); System.out.println("The length is:" + cad.length()); } }
小提示
测试的时候可以试试输入带空格的内容,比如I love Java,这时候程序会输出完整的字符串,并且计算出正确的长度11哦~
另外顺便提一句,类名lengt建议改成Length,符合Java的大驼峰命名规范,这样代码更规范易读😉
内容的提问来源于stack exchange,提问作者User22
相关产品推荐
相关产品推荐

