题目

编写一个包含静态局部变量(static)的函数,用于统计并打印该函数在程序运行期间被累积调用的次数。

输入格式:一行输入一个正整数 k,表示需要连续调用该函数的次数。

输出格式:每次调用输出当前累计的调用次数,分行输出。

数据范围与约定:1 ≤ k ≤ 100。

思路与算法

1. static 局部变量生命周期
普通局部变量在函数退出时自动销毁;而 static 修饰的局部变量存储在静态数据区,生命周期贯穿程序始终,只在第一次执行时初始化一次。

2. 状态保持特性
函数多次调用之间,static 变量会保留上一次的值,因此非常适合用于内部计数器或状态保持。

完整程序

import java.util.Scanner;

public class Main {
    // 类静态成员变量模拟 C 语言中的 static 局部/全局静态计数器
    private static int callCount = 0;

    public static void trigger() {
        callCount++;
        System.out.println(callCount);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int k = sc.nextInt();
        for (int i = 0; i < k; i++) {
            trigger();
        }
    }
}

运行示例

输入:

3

输出:

1
2
3