java - 通过调用不同的方法增加原始局部变量
问题描述
我正在用 Java 解决一个大学项目,我们不能(或不建议......)使用全局变量。如果我们可以使用它会更容易。问题是,我在每次调用该方法时都必须递增的原始变量(充当计数器的整数)遇到问题。
例如:
public static void main... {
int rows = 0;
int[][] array = new int[24][2];
}
public static int readFile... (int rows, ...) {
...
...
...
rows++; (say here rows = 20);
return rows;
}
public static int addTeam... (int rows, ...) {
(method without for/while)
...
...
...
rows++;
return rows;
}
还有更多的方法。现在我使用一个开关,如果我按下 1,则调用第一个方法,依此类推。我想按 2 三次,以便第二个方法被调用 4 次,整数行因此递增到 23。
使用全局变量这很容易,但是没有它们我该怎么做呢?无论我调用第二种方法多少次,原始(整数)“行”都不会改变(我认为这是因为它是原始的,所以它不会像数组一样改变,这不是原始的) .
我不能使用列表或对象(甚至 this 关键字)之类的东西,因为这是对编程的介绍。
解决方案
可能的选项是每次调用方法后使用 switch 并分配行值:
int rows = 0;
...
case 1:
rows = method1(rows, _);
break;
case 2:
rows = method2(rows, _);
break;
//so on
推荐阅读
- python - 从独立的散景服务器加载模板
- django - 使用事件存储和 ORM 进行事件溯源
- reporting-services - SSRS - 合并特定列的单元格
- c# - 如何从列表中将视图中选择的值的 IEnumerable 返回到控制器
- html - 在调整浏览器窗口/分辨率时保持元素位置
- javascript - 更新数据属性不适用于 vuejs 中的按钮单击
- azure-devops - 带有通配符的 Azure Devops 分支过滤器不起作用
- vagrant - 如何从 Vagrantfile 写入配置文件
- speech-recognition - 为 Malinké 语言创建语音识别系统
- node.js - 获取应用程序中运行的所有函数的执行持续时间