遇到的问题:
由于需要先用nextInt()从控制台读入数字,然后用nextLine()读入若干字符串。发现第一个读入的字符串总是空的。
 
分析问题:
 
 nextInt() 接收一个整型字符,nextline()读入一行文本,会读入"\n"字符,但"\n"并不会成为返回的字符
 串值的一部分
 
 
 
 加入如下代码
 
int n = ScannerObjext.nextInt()
String s1 = ScannerObjext.nextLine();
String s2 = ScannerObjext.nextLine();
 假设输入:
 
42
and don't you
forget it
 在这种情况下,n的值为42,s1设置为空白字符,s2设置为and don't you
 因为nextInt()读入42,但并没有读入"\n",因此S1调用42所在行的剩余部分
 
 
解决办法:
1、用Integer.parseInt(sc.nextLine());读入一整行。
2、在nextInt()之后,再nextLine()读入一行。
 
                    
                     
                    
                 
                    
                
 
         
 
                
            
        
 浙公网安备 33010602011771号
浙公网安备 33010602011771号