Java 如何打印数组中的一系列值?

Java 如何打印数组中的一系列值?,java,Java,我有一个整数数组,按升序排序。我希望能够调用我的方法,并按照该顺序将x返回到x+yth的值最高的元素。我似乎不知道逻辑应该如何寻找forinit;条件然而,增加/减少部分 import java.lang.*; import java.util.*; import java.io.*; public class test{ public static void printRangeOfInts(int x, int y) { int[] a = {1, 2, 3, 4,

我有一个整数数组,按升序排序。我希望能够调用我的方法,并按照该顺序将x返回到x+yth的值最高的元素。我似乎不知道逻辑应该如何寻找forinit;条件然而,增加/减少部分

import java.lang.*;
import java.util.*;
import java.io.*;

public class test{
    public static void printRangeOfInts(int x, int y) {
        int[] a = {1, 2, 3, 4, 5, 6, 7};
        for(int i = y-1; i >= x; --i){
            System.out.println("Value:" + a[i]);
        }
    }

    public static void main(String[] args){
        System.out.println("printRangeOfInts(2,3) should print:\nValue: 6\nValue: 5");
        System.out.println();
        System.out.println("Prints wrong:");
        printRangeOfInts(2,3);

        System.out.println();
        System.out.println("printRangeOfInts(1,7)should print:\nValue: 7\nValue: 6\nValue: 5\nValue: 4\nValue: 3\nValue: 2\nValue: 1");
        System.out.println();
        System.out.println("Prints wrong:");
        printRangeOfInts(1,7);
    }
}

这应该是正确的:

public static void printRangeOfInts(int x, int y) {
    int[] a = { 1, 2, 3, 4, 5, 6, 7 };
    for (int i = a.length - x; i >= a.length - y; i--) {
            System.out.println("Value:" + a[i]);
    }
}

为什么printRangeOfInts2,3应打印:值:6\n值:5@Saurav因为值6和5是数组中第二个和第三个最高值的元素。