如何将数组A中的每个项都引用到initialValue Java

如何将数组A中的每个项都引用到initialValue Java,java,Java,这是我的代码的开始,询问如何使它在运行之后,数组A中的每一项都成为我创建的initialValue。这是一个学校作业,教授告诉我们不能用任何数组函数,所以没有arrays.func 谢谢 你不需要那种方法 就打电话 public static void initialize(int A[], int initialValue) { ; } 顺便说一句,你的头衔有错。您的数组是一个基元数组,因此它不会包含对initialValue的引用,它会多次包含该int值。这可能是另一种解决方案 Array

这是我的代码的开始,询问如何使它在运行之后,数组A中的每一项都成为我创建的initialValue。这是一个学校作业,教授告诉我们不能用任何数组函数,所以没有arrays.func


谢谢

你不需要那种方法

就打电话

public static void initialize(int A[], int initialValue) { ; }

顺便说一句,你的头衔有错。您的数组是一个基元数组,因此它不会包含对
initialValue
的引用,它会多次包含该
int
值。

这可能是另一种解决方案

Arrays.fill(A,initialValue);
/*
*初始化阵列的较小部分并使用System.arraycopy
*调用以扩展二进制方式填充数组的其余部分
*/
公共静态void initialize(int A[],int initialValue){
int len=A.长度;
如果(len>0){
A[0]=初始值;
}
对于(int i=1;i
输出: 1. 1. 1. 1.
1

简单的一行:
for(int i=0,l=a.length;i
因为初始化一个较小的数组并使用System.arraycopy对我来说似乎是个坏主意:它似乎使简单的things@fantaghirocco,但与array.fill相比,这种方法在大型数组的情况下要快得多,OP被要求使用他现有的方法y进行编码,我已经给出了答案,另外,你能给我提供更多的解释,为什么你觉得这是一个坏主意?相比于(inti=0;i@fantaghirocco,谢谢您的澄清,没问题:)。
/*
 * initialize a smaller piece of the array and use the System.arraycopy 
 * call to fill in the rest of the array in an expanding binary fashion
 */
public static void initialize(int A[], int initialValue) { 

    int len = A.length;

    if (len > 0){
        A[0] = initialValue;
    }

    for (int i = 1; i < len; i += i) {
       System.arraycopy(A, 0, A, i, ((len - i) < i) ? (len - i) : i);
    }

}

public static void main ( String [] args ) {
    int A[] = new int[5];
    initialize(A,1);
    for (int i : A) {
        System.out.println(A[i]);
    } 
}