【问题标题】:return an array from a function in java android从java android中的函数返回一个数组
【发布时间】:2014-06-10 04:17:44
【问题描述】:

如何从一个类中返回一个数组。我正在尝试这样做,但它显示错误

public String gettobill(String bill) {
    // TODO Auto-generated method stub
    String col[]= new String[] { KEY_EBID, KEY_EMONTH, KEY_EBREAD, KEY_EBAMOUNT };
    Cursor l=ourDatabase.query(DATABASE_TABLE1, col, KEY_EBID + "='" + bill + "'", null, null, null, null);

    String[] eresult;
    int peid=l.getColumnIndex(KEY_EBID);
    int pemonth=l.getColumnIndex(KEY_EMONTH);
    int peread=l.getColumnIndex(KEY_EBREAD);
    int pamount=l.getColumnIndex(KEY_EBAMOUNT);

    for (l.moveToFirst(); !l.isAfterLast(); l.moveToNext()){
        eresult[0]= l.getString(peid);
        eresult[1]=l.getString(pemonth);
        eresult[2]=l.getString(peread);
        eresult[4]=l.getString(pamount);
    }
    return eresult;

}

【问题讨论】:

  • 查看您的方法签名。你告诉编译器你想返回一个字符串,然后你返回一个字符串数组。
  • 你也从来没有初始化你的eresult数组。
  • public **String** 应该是你的第一条线索...
  • 如何解决这个问题..谁能给我代码
  • @ronal007 您需要了解它为什么不起作用。否则你会一直在这里提问。阅读有关方法的基本教程。

标签: java android arrays return


【解决方案1】:

就像在 cmets 中一样,通过教程并检查您的错误消息,它通常会告诉您哪里出了问题

public String[] gettobill(String bill) {
        // TODO Auto-generated method stub
        String col[]= new String[] { KEY_EBID, KEY_EMONTH, KEY_EBREAD, KEY_EBAMOUNT };
        Cursor l=ourDatabase.query(DATABASE_TABLE1, col, KEY_EBID + "='" + bill + "'", null, null, null, null);

    String[] eresult = new String[5];//initialize your array before you can populate it otherwise eresult will be null and throw an exception
    int peid=l.getColumnIndex(KEY_EBID);
    int pemonth=l.getColumnIndex(KEY_EMONTH);
    int peread=l.getColumnIndex(KEY_EBREAD);
    int pamount=l.getColumnIndex(KEY_EBAMOUNT);

    for (l.moveToFirst(); !l.isAfterLast(); l.moveToNext()){
        eresult[0]= l.getString(peid);
        eresult[1]=l.getString(pemonth);
        eresult[2]=l.getString(peread);
        eresult[3]=l.getString(pamount);
    }
    return eresult;

}

【讨论】:

    【解决方案2】:

    改变

    public String gettobill(String bill)
    

    public String[] gettobill(String bill)
    

    【讨论】:

      猜你喜欢
      • 2023-02-26
      • 2011-06-23
      • 2015-12-24
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 2014-09-16
      相关资源
      最近更新 更多