数组测试结果出不来怎么改



public class DanamicArray9_数组{

    private int size;
    private int capacity;
    private int[] arr = new int[capacity];
    
    
    public void addlast(int element) {
        arr[size]=element;
        size++;
    }
    
    public void add(int index,int element) {
    if(index>=0&&index<size){
        System.arraycopy(arr, index, arr, index+1, size-index);
        arr[size]=element;
        size++;
        }
    }
    }
import org.junit.Test;

public class DanamicArray9_数组测试 {
    
    @Test
    public void test1() {
        DanamicArray9_数组 DanamicArray9  = new     DanamicArray9_数组();
        DanamicArray9.addlast(1);
        DanamicArray9.addlast(2);
        DanamicArray9.addlast(3);
        DanamicArray9.addlast(4);
        DanamicArray9.addlast(5);
        
        for(int i=0;i<5;i++) {
            DanamicArray9.get(i);
        }
    }

}

有帮助的话 采纳一下

img


改成这样

System.out.println(DanamicArray9.get(i));

引用GPT作答:
从你提供的代码来看,DanamicArray9_数组类中缺少实现方法get,因此测试中调用DanamicArray9.get(i)会报错。

可以尝试在 DanamicArray9_数组 类中添加一个名为 get 的方法,用于获取指定索引位置的元素。以下是一个可能的实现示例:

public int get(int index) {
    if (index >= 0 && index < size) {
        return arr[index];
    } else {
        throw new IndexOutOfBoundsException("Invalid index");
    }
}

将该方法添加到 DanamicArray9_数组 类中后,再运行测试,就可以获取数组中的元素。

此外,你还需要在 DanamicArray9_数组测试 类中导入 DanamicArray9_数组 类,以确保能够调用该类中的方法。在代码开头添加以下导入语句:

import static org.junit.Assert.assertEquals;

希望这些修改能够解决你的问题。如果还有其他问题,请随时追问。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7623218
  • 这篇博客你也可以参考下:发送请求得不到返回值问题
  • 除此之外, 这篇博客: 进程是如何调度的?中的 优先级反置 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 优先级反置是一种现象,发生在基于优先级的调度算法中,即高优先级进程等待低优先级进程的现象。主要原因是资源的占用现象,低优先级占用资源,等待资源使用结束后才能释放资源,需要相同资源的高优先级进程就需要等待。

    下面介绍两个解决方法。

    1. 优先级继承(Priority Inheritance):简单说就是升高占用资源的低优先级进程的优先级,升高成等待资源的高优先级进程。
    2. 优先级天花板协议(priority ceiling protocol):占用资源进程的优先级和所有可能申请该资源的进程的最高优先级相同。
  • 您还可以看一下 刘伶华老师的软件测试经典面试题剖析课程中的 你还有什么问题想问?小节, 巩固相关知识点