调用另一个数组时减小数组值

时间:2014-12-21 16:32:10

标签: java arrays algorithm

尝试制作HIT(x)。当Hit调用它时,将数组的元素(大于x)减少一个然后打印数组。和x也是一个包含一些元素的数组。例如。 AR[7 4 5 3]x= [4 2 5]然后输出为[5 3 4 2]。我正在尝试但没有得到相关的输出。我的代码只有在获取数组元素后才会终止。

import java.util.Scanner;
public class Kom1 {
    static int[] array;
    public void hit(int x) {
        for (int i = 0; i < array.length; i++) {

            if (array[i] > x) {
                array[i] --;
            }
        }
        printArray();
    }
    public void printArray() {
        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }
    public static void main(String args[]) {
        Scanner scanner = new Scanner(System.in);
        int maxElements = scanner.nextInt();
        array = new int[maxElements];
        for (int i = 0; i < maxElements; i++) {
            array[i] = scanner.nextInt();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

你的算法应该是这样的

for(int i=0;i<x.length;i++){
        for(int j=0;j<array.length;j++){

           if(array[j]>x[i]){
              array[j]--;
           }

        }    
    }

你错过的东西

  • x是一个元素数组。但您使用的是单个整数值
  • 您尚未定义或获取x
  • 您的主要方法没有处理的调用方法