黑马程序员技术交流社区

标题: Scanner的小问题(大家来找茬); [打印本页]

作者: jw在路途    时间: 2014-8-11 21:18
标题: Scanner的小问题(大家来找茬);
本帖最后由 jw在路途 于 2014-8-12 11:40 编辑

package cn.itcast_02;
import java.util.Scanner;
/* 这是今天的练习:
* Scanner的小问题(大家来找茬):
*               请指出哪一种有问题???说明原因,我不是很理解。谢谢帮助!
*
*/
public class ScannerDemo {
        public static void main(String[] args) {
                Scanner sc = new Scanner(System.in);
//1
             // int -- int
                // int x = sc.nextInt();
                // int y = sc.nextInt();
//2
                // String --String
                // String x = sc.nextLine();
                // String y = sc.nextLine();
//3
                // String -- int
                // String x = sc.nextLine();
                // int y = sc.nextInt();
        
          //4
                // int--String
                //int x = sc.nextInt();
                //String y = sc.nextLine();
                System.out.println(x);
                System.out.println(y);
        }
}


作者: paozhuanyinyu    时间: 2014-8-11 21:38
请完整描叙出问题,还有程序有什么报错没?
作者: 左脑想你    时间: 2014-8-11 21:55
int到string的时候你打了回车!而nextint()是不读去换行符的,等程序运行到nextline的时候直接就读取了上个nextint()方法的换行符导致next程序直接读取结束但是没有读取到结果
作者: 姜佳文    时间: 2014-8-11 21:57
楼上正解,要么重新定义一个扫描仪对象,要么都是字符串,然后要什么转成什么。
作者: 冷锋也温柔    时间: 2014-8-11 22:20
第4种啊, int类型赋值后要给String赋值时 回车换行 注意:回车换行时有个转义字符\n 它被赋给了String类型,就会导致给int赋完值,然后回车输出答案的
作者: jw在路途    时间: 2014-8-12 11:40
嗯,楼上同学的回答理解了,谢谢
作者: 酋长第一    时间: 2014-8-12 12:28
nextLine(); 读取了/r/t
作者: F@C    时间: 2014-8-12 12:57
进来学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2