Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.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 这个Junit测试有效吗?_Java_Junit - Fatal编程技术网

Java 这个Junit测试有效吗?

Java 这个Junit测试有效吗?,java,junit,Java,Junit,任务是将数组中的元素从大于等于int i的索引开始向右移动一步。抱歉,通常这对谷歌来说很容易,但我有一个Junit测试,我需要满足这个条件 它应该满足JUnittest的要求: @Test public void testShiftElements() { String[] a = { "a", "b", "c", "d", "e" }; String[] b = a.clone(); int i = 1; Arrays.shiftElements(a, i);

任务是将数组中的元素从大于等于int i的索引开始向右移动一步。抱歉,通常这对谷歌来说很容易,但我有一个Junit测试,我需要满足这个条件

它应该满足JUnittest的要求:

@Test
public void testShiftElements() {
    String[] a = { "a", "b", "c", "d", "e" };
    String[] b = a.clone();
    int i = 1;
    Arrays.shiftElements(a, i);
    for (int j = 0; j < i; j++) {
        assertEquals(b[j], a[j]);
    }
    for (int j = i; j < a.length - 1; j++) {
        assertEquals(b[j], a[j + 1]);
    }
}
@测试
公共void testShiftElements(){
字符串[]a={“a”、“b”、“c”、“d”、“e”};
字符串[]b=a.clone();
int i=1;
移位元素(a,i);
对于(int j=0;j
JUnitist是否有效,因为测试似乎需要。 “a”应等于“b”,“b”应等于“c”。这是不可能的。 这是我的代码,它会移动

public static String[] shiftElements(String a[], int i) {

    String[] b = new String[a.length + i];

    for (int j = 0; j < a.length; j++) {
        b[j] = a[j];
    }

    for (int d = i; d < b.length - 1; d++) {
        for (int c = i; c < b.length - 1; c++) {
            String temp = b[c + 1];
            b[c + 1] = b[c];
            b[c] = temp;
        }
    }
    return b;
}
公共静态字符串[]移位元素(字符串a[],int i){
字符串[]b=新字符串[a.length+i];
对于(int j=0;j
测试是正确的,必须这样做。只是没有回报,只是空虚

public static void shiftElements(String[] a, int i) {
    for (int j = a.length -1; j > i; j--) {
        if (j >= i) {
            a[j] = a[j - i];
        }

    }

}
或者像这样,如果我不想删除最后一个字符串

public static void shiftElements(String a[], int i) {
    for (int d = i; d < a.length - 1; d++) {
        for (int c = i; c < a.length - 1; c++) {
            String temp = a[c + 1];
            a[c + 1] = a[c];
            a[c] = temp;
        }
    }
}
publicstaticvoidshiftelements(字符串a[],inti){
for(int d=i;d
是的,这毫无意义。我想应该在循环之间进行转换。忽略,误读代码好的,谢谢。似乎我并没有做错,这个Junit测试似乎写错了。测试是正确的