作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这个问题在这里已经有了答案:
Using variables outside of an if-statement
(2 个回答)
4年前关闭。
我目前正在学习 Java,作为其中的一部分,我正在尝试制作一个随机数生成器。
该项目仍处于早期阶段,但是当我制作错误检查器组件时,我遇到了一些问题,我一直想知道为什么它不能以这种方式工作。
以下是错误检查器,它接收 numberAmount(用户请求的随机数数量)和 randomDigit(随机数的最大位数)。
我想让它在金额或数字太高时进行标记,这可能会导致应用程序崩溃。
以下是代码。
public static boolean errorCheck(int numberAmount, int numberDigit){
//int checkAmount = 0;
//int checkDigits = 0;
if (numberAmount > 15){
System.out.println("We can't generate that many numbers!");
int checkAmount = 1;
} else if (numberAmount < 0){
System.out.println("We can't generate negative amount of numbers!");
int checkAmount = 1;
} else if (numberAmount == 0) {
System.out.println("Zero numbers requested");
int checkAmount = 1;
} else {
int checkAmount = 0;
}
if (numberDigit > 15){
System.out.println("We can't generate that many numbers!");
int checkDigit = 1;
} else if (numberDigit < 0){
System.out.println("We can't generate negative amount of numbers!");
int checkDigit = 1;
} else if (numberDigit == 0) {
System.out.println("Zero numbers requested");
int checkDigit = 1;
} else {
int checkDigit = 0;
}
if (checkAmount == 1 || checkDigit == 1){
return true;
} else {
return false;
}
}
int checkAmount = 0;
和
int checkDigits = 0;
,
last if
由于没有可引用的变量而导致的语句错误。但是,如果我确实将其包含在第一个和第二个
if
中的所有检查变量声明我得到预先存在的局部变量的错误。
if
中定义或覆盖变量陈述。
最佳答案
I still don't really understand why I can't define or override variables inside if statement.
if
中定义它们。语句的受控 block ,但任何变量定义都会在封闭范围的末尾消失。
int checkAmount = 0;
if (numberAmount > 15){
System.out.println("We can't generate that many numbers!");
checkAmount = 1;
} else // ...
关于java - 在 IF 语句中定义变量 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45252039/
我是一名优秀的程序员,十分优秀!