有人能告诉我我的代码有什么问题吗?它给出了一个错误“ truefalse 无法解析为变量”问题是要求我返回值true,如果int数是偶数,则返回false,如果是奇数
public class number{
public static void main(String[] args){
boolean truefalse = isEven(245);
System.out.print(truefalse);
}
public static boolean isEven(int number) {
if(number%2 == 0){
boolean truefalse = true;
}
else{
boolean truefalse = false;
}
return truefalse;
}
}
答案 0 :(得分:2)
目前,您遇到的问题是在songAdapter.getItem(position);
块中声明int actualPostion=songsList.indexOf(songAdapter.getItem(position));
,因此truefalse
语句不知道它是什么(范围问题)。以下是一些修复:
您可以将if-else
课程简化为:
return
要保留布尔值,请执行此操作
isEven()
要保留布尔值,但最小化代码布尔逻辑,请执行以下操作:
public static boolean isEven(int number) {
if(number%2 == 0){
return true;
}
else{
return false;
}
}
你可以简化你的功能最多就是这样:
public static boolean isEven(int number) {
boolean truefalse;
if(number%2 == 0){
truefalse = true;
}
else{
truefalse = false;
}
return truefalse;
}
这也会有相同的结果。
答案 1 :(得分:0)
在if-else块之外声明boolean truefalse;
。它在if-else块中有truefalse变量,if-else之外没有范围。所以返回的变量无法解析。
public static boolean isEven(int number) {
boolean truefalse;
if(number%2 == 0){
truefalse = true;
}
else{
truefalse = false;
}
return truefalse;
}
简单isEven
可以是:
public static boolean isEven(int number) {
return (number%2 == 0);
}
答案 2 :(得分:0)
在外面声明它if else阻止
boolean truefalse = isEven(245);
System.out.print(truefalse);
}
public static boolean isEven(int number) {
boolean truefalse =false;
if(number%2 == 0){
truefalse = true;
}
return truefalse;
}
答案 3 :(得分:0)
用以下内容替换您的代码。
public class number{
public static void main(String[] args){
boolean truefalse = isEven(245);
System.out.print(truefalse);
}
public static boolean isEven(int number) {
boolean truefalse = false;
if(number%2 == 0){
truefalse = true;
}
return truefalse;
}
}
答案 4 :(得分:0)
可能更具可读性
public static boolean isEven(int number){
return number%2 == 0? true: false;
}
答案 5 :(得分:0)
您应该阅读java variable scope
您的isEven
方法中发生的事情是您在truefalse
if
和{}
else
内声明{}
变量,但在外面那些括号,return
是,这个变量不存在。
所以,正如许多答案所提到的,你应该在正确的范围内声明变量,例如:
public static boolean isEven(int number) {
boolean truefalse;
if(number%2 == 0){
truefalse = true;
}
else{
truefalse = false;
}
return truefalse;
}