Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.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 尝试按特定顺序将一维数组放入二维数组_Java_Arrays_Syntax - Fatal编程技术网

Java 尝试按特定顺序将一维数组放入二维数组

Java 尝试按特定顺序将一维数组放入二维数组,java,arrays,syntax,Java,Arrays,Syntax,我需要写一个函数来接收一维数组 例如:[2,5,3] 我需要创建以下2D数组: [2,-5,-3][2,5,-3][2,-5,3] 我的代码是: for (int i=0; i<vars.length; i++){ for (int j=0; j<vars.length; j++) tempVars[j] = vars[j]*(-1); tempVars[i] = tempVars[i]*(-1);

我需要写一个函数来接收一维数组 例如:[2,5,3] 我需要创建以下2D数组: [2,-5,-3][2,5,-3][2,-5,3]

我的代码是:

    for (int i=0; i<vars.length; i++){

        for (int j=0; j<vars.length; j++)
            tempVars[j] = vars[j]*(-1);

        tempVars[i] = tempVars[i]*(-1);
        solution[i] = tempVars;
        
    }

    return solution ;
} 
for(inti=0;i
importjava.util.*;
导入java.lang.*;
导入java.io.*;
表意文字
{
公共静态void main(字符串[]args)引发java.lang.Exception
{
int n=4;
int a[]=新的int[n];
a[0]=2;
a[1]=5;
a[2]=3;
a[3]=6;
int a1[][]=过程(a);

对于(int i=0;i@OH GOD spider是对的。
tempVars
数组被多次添加到
solutions
,因此
solutions
中填充了对同一数组的3个引用

使用:

for(inti=0;i
var数据=[2,3,5];
var计数器=data.length;
var finalArr=[];
对于(变量i=0;i
从外观上看,您只创建了一个数组
tempVars
,您可以在循环中覆盖该数组,并多次将其添加到
解决方案
数组中。您需要为每个可能的结果创建一个数组,而不是一次又一次地使用相同的数组。您可以使用
数组。toString(a1[i]);
获取包含数组值的字符串,而不是使用(int j=0;j)的

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


class Ideone
{
    public static void main (String[] args) throws java.lang.Exception
    {
    int n=4;
    int a[]=new int[n];
    a[0]=2;
    a[1]=5;
    a[2]=3;
    a[3]=6;

    int a1[][]=process(a);

    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n;j++)
            System.out.print(a1[i][j]+" ");
        System.out.println();   
    }

    }


    public static int[][] process(int[] a)
    {
        int x=a.length;
        int a1[][]=new int[x][x];
        int i=0;

        for(int b=0;b<x;b++)
        {
            for(int c=0;c<x;c++)
            {
                if(c==i)
                    a1[b][c]=a[c];
                else
                    a1[b][c]=-1*a[c];
            }
            i++;
        }

        return a1;

    }
}
    for (int i=0; i<vars.length; i++){
        for (int j=0; j<vars.length; j++) {
            tempVars[j] = vars[j]*(-1);
        }


        tempVars[i] = tempVars[i]*(-1);
        solution[i] = tempVars.clone();

    }
    var data = [2,3,5];
    var counter = data.length;
    var finalArr=[];
    for (var i = 0; i < counter; i++) {
      var tmpArr = [];
      for (var j = 0; j < data.length; j++) {
          if(i==j){
            tmpArr.push(-data[j]);
          }
          else{
          tmpArr.push(data[j]);
          }
       }
       finalArr.push(tmpArr);
    }
    console.log(finalArr)