题目
编写一个包含静态局部变量(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