A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

删库跑路321

初级黑马

  • 黑马币:23

  • 帖子:7

  • 精华:0

© 删库跑路321 初级黑马   /  2019-3-8 18:51  /  773 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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,刚试出来,发现老师前几秒才说出答案,心态爆炸...
老师说这个就是面试题,还有好几种方法,除非写对了,否则不写比写了都好,看来还是要
努力打好基础,避免踩坑!!!

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马