Java 使用数组(或其他方式)获取数据

Java 使用数组(或其他方式)获取数据,java,android,arrays,Java,Android,Arrays,我有一个方法,它从数据库应答表-getAnswerId()中获取应答id(每个应答都是特定的) 但我想改变它。我在问题数据库中创建了answer0、answer1、answer2列,并希望将0,1,2作为answerId。如何为getAnswerId()识别它 不久 列名称:answer0、answer1、answer2 将“0,1,2”作为“answerId”,并将其放入“getAnswerId()” 然后我想像这样使用它: public int getAnswerId(){ 编辑: sqlh

我有一个方法,它从数据库应答表-getAnswerId()中获取应答id(每个应答都是特定的)

但我想改变它。我在问题数据库中创建了answer0、answer1、answer2列,并希望将0,1,2作为answerId。如何为getAnswerId()识别它

不久

列名称:answer0、answer1、answer2

将“0,1,2”作为“answerId”,并将其放入“getAnswerId()”

然后我想像这样使用它:

public int getAnswerId(){

编辑:

sqlhelper:

final String query = "SELECT " +
            "answer._id, answerlang.AnswerText, answer.Correct, " +
            "answersquestions.QuestionID" +
            " FROM answersquestions" +
            " INNER JOIN answerlang" +
            " ON answersquestions.AnswerID = answerlang.AnswerID" +
            " INNER JOIN answer" +
            " ON answerlang.AnswerID = answer._id" +
            " WHERE answersquestions.QuestionID IN ( " +
            allQuestionIds +
            " )  ORDER BY answersquestions.QuestionID ";
    this.cursor = this.db.rawQuery(query, null);

    if (this.cursor.moveToFirst()) {
        do {
            for (final Question q : questions) {
                if (q.getQuestionId() == this.cursor.getInt(3)) {
                    q.addAnswer(new Answer(this.cursor.getInt(0),
                            this.cursor.getString(1),
                            (this.cursor.getInt(2) == 1 ? true : false)));
                }
            }
        } while (this.cursor.moveToNext());
    }
    this.cursor.close();
this.cursor.getInt(0)接受答案。_id(_id来自答案表)

我更改了数据库结构,并将answer0、answer1、answer2添加到answerlang表中。 所以我需要一张表中每个答案的id。 我认为采取问题ID0(或1,2)(来自回答0,1,2) 因此,answerID=QuestionID+0将是每个答案的特殊选项

问题是intervalQuestionID+0如何定位,而不是this.cursor.getString(0)

//////\ \\

我的问题概述:

 use **this.sample.getInt()** instead of this.cursor.getInt(0)
for example:
    
    this.sample.getInt() : will have interval 10,11,12 for question 1 (QuestionID=1, answer0=0 so answer0 id = 10, answer1 id = 11, answer2 id = 12  as spesific id )
    
     will have interval 20,21,22 for question 2 (QuestionID=2, answer0=0 so answer0 id = 20 ...... as spesific id )
你可能不得不使用

Integer.parseInt(answerFromDB.substring(8));
"answerid0".substring(8) = 0
"answerid1".substring(8) = 1

etc

假设当questionId=1和answerFromDB=“answer1”时,您可以首先将问题id传递给方法,然后将questionId和answerID中的整数联系到一个新字符串中,并将其解析为整数,这样在这种情况下,结果将是11。 如果questionId=1且answerFromDB=“answer2”则answerid将12

public int getAnswerId( String questionId) {
//here questionId=0 or 1 or 2 etc in string format 
String newAnswerId=questionId+answerFromDB.substring(8) 
 return Integer.parseInt(newAnswerId);
    }

我可以建议你把问题组织得更好吗?我不太确定你在问什么。你想获取列的值吗?请清楚地问一个问题,这样我们可以帮助你..编辑的问题。我希望它更清楚now@santral不客气。如果有帮助,那么接受它作为答案,或者投票支持。
public int getAnswerId( String questionId) {
//here questionId=0 or 1 or 2 etc in string format 
String newAnswerId=questionId+answerFromDB.substring(8) 
 return Integer.parseInt(newAnswerId);
    }