项目场景:
刷题时遇到一道字符串根据字典排序的题,题目不难,思路很清晰,用String类型的数组接收一下,再用Arrays.sort方法直接排序后输出即可
问题描述
题目首先需要输入字符串的个数,后面的每一行就是一个字符串了,
我刚开始用的 int a=in.System.nextInt();接收一个int类型的值,代表个数,
后面在for循环中用StringBuilder strs接收字符串
for(int i=0;i<a;i++){
strs[i]=in.nextLine();
}
看上去没上问题,但是实际输出的时候就出问题了,字符串数组的第一个值永远为换行符;
原因分析:
这是因为in.System.nextInt() 不能接收换行符,导致后面的in.nextLine()接收了,所有第一个数组的值就为换行了
解决方案:
只要把 int a=in.System.nextInt() 改为int a=Integet.valueOf(in.System.nextLine())
就行了