0
点赞
收藏
分享

微信扫一扫

要求写一个method方法实现:打印出 a=100, b=200


分享一个有趣的 Java 题

import java.io.PrintStream;

// 要求写一个method方法实现:打印出 a=100, b=200
public class methodTest {
    public static void main(String[] args) {
        int a = 10;
        int b = 10;
        method(a, b);
        System.out.println("a=" + a);
        System.out.println("b=" + b);
    }

    // 方法一:提前退出
//    public static void method(int a, int b) {
//        a = 100;
//        b = 200;
//        System.out.println("a=" + a);
//        System.out.println("b=" + b);
//        System.exit(0); // 退出程序
//    }

    //方法二:重写输出流
    public static void method(int a, int b) {
        PrintStream ps = new PrintStream(System.out){
            @Override
            public void println(String x) {
                if ("a=10".equals(x)) {
                    x = "a=100";
                } else if ("b=10".equals(x)) {
                    x = "b=200";
                }
                super.println(x);
            }
        };
        System.setOut(ps); // 重新分配标准输出流
    }
}

举报

相关推荐

0 条评论