Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要帮助理解Java中的列表吗 公共类工作表{ 私有数组列表数据; 私有字符串标题; 公共工作表(字符串标题){ 数据=新的ArrayList(); this.title=标题; } 公共ArrayList getData(){ 返回数据; } 公共字符串getTitle(){ 返回标题; } 公共双get(int行,int列){ for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ 返回dataEntry.getValue(); } } 返回null; } 公共无效集(int行、int列、双val){ 布尔值isNew=true; for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ dataEntry.setValue(val); isNew=false; } } 如果(是新的){ DataEntry newData=新的DataEntry(行、列、值); data.add(newData); } } public int indexOf(int行,int列){ int结果=-1; for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ } } 返回结果;//待完成 } }_Java - Fatal编程技术网

需要帮助理解Java中的列表吗 公共类工作表{ 私有数组列表数据; 私有字符串标题; 公共工作表(字符串标题){ 数据=新的ArrayList(); this.title=标题; } 公共ArrayList getData(){ 返回数据; } 公共字符串getTitle(){ 返回标题; } 公共双get(int行,int列){ for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ 返回dataEntry.getValue(); } } 返回null; } 公共无效集(int行、int列、双val){ 布尔值isNew=true; for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ dataEntry.setValue(val); isNew=false; } } 如果(是新的){ DataEntry newData=新的DataEntry(行、列、值); data.add(newData); } } public int indexOf(int行,int列){ int结果=-1; for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ } } 返回结果;//待完成 } }

需要帮助理解Java中的列表吗 公共类工作表{ 私有数组列表数据; 私有字符串标题; 公共工作表(字符串标题){ 数据=新的ArrayList(); this.title=标题; } 公共ArrayList getData(){ 返回数据; } 公共字符串getTitle(){ 返回标题; } 公共双get(int行,int列){ for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ 返回dataEntry.getValue(); } } 返回null; } 公共无效集(int行、int列、双val){ 布尔值isNew=true; for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ dataEntry.setValue(val); isNew=false; } } 如果(是新的){ DataEntry newData=新的DataEntry(行、列、值); data.add(newData); } } public int indexOf(int行,int列){ int结果=-1; for(数据输入:数据){ if((dataEntry.getColumn()==列)&&(dataEntry.getRow()==行)){ } } 返回结果;//待完成 } },java,Java,我在即将到来的考试中得到了这段代码作为练习,我非常不擅长学习编码中的新概念。如果有人能够理解代码并提供函数indexOf的正确答案 我理解用户创建的函数是如何工作的,我只是想不出在这个主体中填充什么 indexOf的描述说,它应该使用给定的行和列返回列表数据中DataEntry对象的索引,否则如果找不到这样的DataEntry对象,则返回-1。为了理解indexOf方法,您需要了解列表是什么;它表示按定义顺序排列的项目序列。因此,您知道列表中的项目以及它们的顺序 例如:您在列表中有“a”、“b”

我在即将到来的考试中得到了这段代码作为练习,我非常不擅长学习编码中的新概念。如果有人能够理解代码并提供函数indexOf的正确答案

我理解用户创建的函数是如何工作的,我只是想不出在这个主体中填充什么


indexOf的描述说,它应该使用给定的行和列返回列表数据中DataEntry对象的索引,否则如果找不到这样的DataEntry对象,则返回-1。

为了理解
indexOf
方法,您需要了解列表是什么;它表示按定义顺序排列的项目序列。因此,您知道列表中的项目以及它们的顺序

例如:您在列表中有“a”、“b”、“c”项,那么您就知道该列表有三个项,“a”是第一项,“b”是第二项,“c”是第三项。例如,如果您想知道“b”的位置,则需要扫描或迭代列表,同时进行计数。当您找到“b”时,您必须停止计数并返回当前计数。这是
indexOf
的结果

请注意:当您计数时,从0开始-这意味着如果第一个元素匹配,则
indexOf
的结果为0,如果第二个元素匹配,则结果为1。如果没有找到任何内容,通常返回-1

这种逻辑的一种可能实现方式是:

public class Worksheet {
    private ArrayList<DataEntry> data;
    private String title;

    public Worksheet(String title) {
        data = new ArrayList<DataEntry>();
        this.title = title;
    }

    public ArrayList<DataEntry> getData() {
        return data;
    }

    public String getTitle() {
        return title;
    }

    public Double get(int row, int column) {
        for (DataEntry dataEntry : data) {
            if ((dataEntry.getColumn() == column) && (dataEntry.getRow() == row)) {
                return dataEntry.getValue();
            }
        }
        return null;
    }

    public void set(int row, int column, double val) {
        boolean isNew = true;
        for (DataEntry dataEntry : data) {
            if ((dataEntry.getColumn() == column) && (dataEntry.getRow() == row)) {
                dataEntry.setValue(val);
                isNew = false;
            }
        }
        if (isNew) {
            DataEntry newData = new DataEntry(row, column, val);
            data.add(newData);
        }
    }

    public int indexOf(int row, int column) {   
        int result = -1;
        for (DataEntry dataEntry : data) {
            if ((dataEntry.getColumn() == column) && (dataEntry.getRow() == row)) {


            }
        }
        return result; //to be completed
    }
}

你似乎觉得,如果你让别人教你很多书和教程中解释过的东西,那么某种编码学校也是如此。对不起,这是你的误解。我们会提供清晰、具体的问题。我们不能代替你坐下来学习。这不是免费的家教服务。@GhostCat:我同意你的看法。但我发现,即使是最基本的问题,也总是有一些有趣的东西。对我来说,这类问题的积极挑战是:如何以最清晰、正确、简洁和富有启发性的方式解释这一非常基本的主题,从而为社会增加价值。在这种特定情况下,我认为有机会这样做。我知道您必须使用计数器(例如计数器++),但我不知道如何传递列表中的值。以
开头的表达式for(DataEntry DataEntry:data){
和以
关闭的表达式用于传递,即迭代或扫描列表。
public static int indexOf(int row, int column) {
    int result = -1;
    for (DataEntry dataEntry : data) { // expression used for iteration, or scanning, or pass through the list
        result++; // expression used to increment the counter
        if ((dataEntry.getColumn() == column) && (dataEntry.getRow() == row)) {
            return result; // returns the count if found
        }
    }
    return -1; // returns -1 meaning: the message 'not found'
}