如何修复错误:/AccountDemo.java:53:error:missing return statement}^1错误
我得到一个错误,如下所示:如何修复错误:/AccountDemo.java:53:error:missing return statement}^1错误,java,arrays,Java,Arrays,我得到一个错误,如下所示: /AccountDemo.java:53: error: missing return statement } ^ 1 error 我什么都试过了。我如何解决这个问题 类别帐户 { 私有整数; 公共整数getNumber { 返回此.number; } 公共无效集合编号打印编号1 { 数字=数字1; } } 公共类AccountDemo{ 公共静态无效字符串[]args{ 账户[]objArray=新账户[5]; objArray[0]。设置编号7; obj
/AccountDemo.java:53: error: missing return statement } ^ 1 error
我什么都试过了。我如何解决这个问题
类别帐户
{
私有整数;
公共整数getNumber
{
返回此.number;
}
公共无效集合编号打印编号1
{
数字=数字1;
}
}
公共类AccountDemo{
公共静态无效字符串[]args{
账户[]objArray=新账户[5];
objArray[0]。设置编号7;
objArray[1]。设置编号3;
objArray[2].设置编号5;
objArray[3]。设置编号4;
objArray[4]。设置编号9;
int accountres=searchAccountByNumberobjArray,63;
首次搜索后的System.out.printlnOutput:+accountres;
int accountres1=searchAccountByNumberobjArray,4;
第二次搜索后System.out.printlnOutput:+accountres1;
}
公共静态int searchAccountByNumberAccount[]对象数组,int s
{
int i=0;
对于i=0;i我通过给它分配一个变量而不是直接返回它来解决这个问题,看起来好像它起作用了
class Account {
private int number;
public int getNumber() {
return this.number;
}
public void setNumber(int number1) {
number = number1; }
}public class AccountDemo {
public static void main(String[] args) {
Account[] objArray = new Account[5];
objArray[0].setNumber(7);
objArray[1].setNumber(3);
objArray[2].setNumber(5);
objArray[3].setNumber(4);
objArray[4].setNumber(9);
int accountres = searchAccountByNumber(objArray, 63);
System.out.println("Output after first search: " + accountres);
int accountres1 = searchAccountByNumber(objArray, 4);
System.out.println("Output after second search: " + accountres1);
}
public static int searchAccountByNumber(Account[] objArray, int s) {
int finalreturn = 0;
int i = 0;
for (i = 0; i < 5; i++) {
if (objArray[i].getNumber() == s) {
finalreturn = i;
} else {
finalreturn = -1;
}
}
return finalreturn;
}
}
祝你好运!我通过给它分配一个变量而不是直接返回它来解决这个问题,看起来好像它能工作
class Account {
private int number;
public int getNumber() {
return this.number;
}
public void setNumber(int number1) {
number = number1; }
}public class AccountDemo {
public static void main(String[] args) {
Account[] objArray = new Account[5];
objArray[0].setNumber(7);
objArray[1].setNumber(3);
objArray[2].setNumber(5);
objArray[3].setNumber(4);
objArray[4].setNumber(9);
int accountres = searchAccountByNumber(objArray, 63);
System.out.println("Output after first search: " + accountres);
int accountres1 = searchAccountByNumber(objArray, 4);
System.out.println("Output after second search: " + accountres1);
}
public static int searchAccountByNumber(Account[] objArray, int s) {
int finalreturn = 0;
int i = 0;
for (i = 0; i < 5; i++) {
if (objArray[i].getNumber() == s) {
finalreturn = i;
} else {
finalreturn = -1;
}
}
return finalreturn;
}
}
好运!!< P>不要用C和C++标记java代码!如果for循环没有输入,会发生什么?编译器不知道它总是会被输入。你需要在所有可能的分支中返回。对我来说,整个for循环看起来有点无意义。一旦进入,它就永远不会到达下一个迭代。其他的应该很可能被删除和TH。E返回- 1;应该在函数的末尾的循环之外。否则,返回1,除非数组中的第一个元素匹配,这似乎有点无意义——你不需要循环。不要用C和C++标记java代码!如果for循环没有被输入,会发生什么?编译器不知道它总是会被输入。您需要在所有可能的分支中返回。在我看来,整个for循环看起来有点毫无意义。一旦输入,它将永远不会到达下一次迭代。else可能应该被删除,并且返回-1;应该在函数末尾的循环之外。否则,除非数组中的第一个元素匹配,否则返回-1,这似乎有点poiuntless-不需要循环!逻辑仍然错误。如果在除最后一个元素之外的任何位置都找到s,则返回-1。当我执行上述代码时,在AccountDemo.maincountdemo.j的线程main java.lang.NullPointerException中仍会出现以下错误异常ava:18@surya1616那是因为新帐户[5];创建一个包含五个元素的数组,所有元素都初始化为null。您需要使用新Account创建Account对象。可以手动创建,也可以在循环中创建。逻辑仍然错误。如果在除最后一个元素之外的任何位置都找到了s,则返回-1。执行上述代码时,仍会出现以下错误AccountDemo.mainAccountDemo.java处的主线程java.lang.NullPointerException中出现异常:18@surya1616这是因为new Account[5];创建了一个包含五个元素的数组,所有元素都初始化为null。您需要使用new Account创建Account对象。可以手动创建,也可以在循环中创建。