黑马程序员技术交流社区

标题: 技术贴 [打印本页]

作者: 删库跑路321    时间: 2019-3-8 18:51
标题: 技术贴
public class Test {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        change(a,b);
        System.out.println("更改后");
        System.out.println("a = "+a);
        System.out.println("b = "+b);
    }
    //要求更改change方法里的内容,控制台中只打印出a = 20 ,b = 10
    public static void change(int a,int b){
        System.out.println("a = 20");
        System.out.println("b = 10");
        System.exit(0);
    }
}
说到这道老师出的这道题,简直是痛心疾首
大8分的题就差这几秒钟溜了.

要求是:
更改change方法里的内容,控制台中只打印出a = 20 ,b = 10
开始想了好久还是觉得做不到,因为基本数据类型的实参是形参改变实参不变的,但是一想老师既然会出这个题肯定
有答案的,就继续思考,突然想到应该只要在方法里定义两个打印a = 20 ,b = 10的语句,
然后再直接结束整个程序运行就可以了,想到就开始找方法,经过思考直接结束程序运行的语句应该
跟System有关,就去查了相关api,找到了exit方法,看到这个方法是有一个int类型参数列表的,
//该参数作为状态代码; 按照惯例,非零状态码表示异常终止。
开始在idea里尝试,然后试到传0,刚试出来,发现老师前几秒才说出答案,心态爆炸...
老师说这个就是面试题,还有好几种方法,除非写对了,否则不写比写了都好,看来还是要
努力打好基础,避免踩坑!!!





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