gpt4 book ai didi

java - 如何在另一个 block 中使用属于一个 block 的最终变量?

转载 作者:行者123 更新时间:2023-12-01 18:12:06 24 4
gpt4 key购买 nike

final int a, b;

if (condition1) {
a = get(dynamicValues);
b = get(dynamicValues);
}

if (condition2) {
int c = b + a;
display(c);
}

在这种类型的代码中,编译器要求初始化 a 和 b,在满足条件 1 之前我无法执行此操作。由于小时和分钟的值不断变化,因此 a 和 b 必须是最终的。上面编写的代码非常通用,只是为了让您了解我的问题。

更新:这里的问题是 condition2condition1else 条件之一。所以也不能使用else语句。动态值这里是像“小时和分钟”这样总是变化的值。当满足条件1时,a和b都以小时和分钟初始化,条件2肯定会在条件1之后的某个时间点发生。所以需要计算condition2和condition1的时间差。

最佳答案

如果条件1为假,a和b保持未初始化。这就是编译器提示的原因。添加else分支即可正确编译

if(condition1)
{
a=cal.get(Calendar.HOUR);
b=cal.get(Calendar.MINUTE);
} else {
a = 0;
b = 0;
}

关于java - 如何在另一个 block 中使用属于一个 block 的最终变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32212636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com