Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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 - Fatal编程技术网

Java 将两个阵列组合在一起?

Java 将两个阵列组合在一起?,java,arrays,Java,Arrays,我正在写这个程序,我想我已经写了所有的东西,但是它会弹出“.class”,我不知道为什么。请帮帮我。谢谢 import java.util.*; public class JoinArrays { public static void main(String[] args) { int[] x = { 5, 4, 3, 2, 1}; int[] y = { 8, 7, 6}; int[] z; int i;

我正在写这个程序,我想我已经写了所有的东西,但是它会弹出“.class”,我不知道为什么。请帮帮我。谢谢

import java.util.*;

public class JoinArrays
{
    public static void main(String[] args)
    {
        int[] x = { 5, 4, 3, 2, 1};
        int[] y = { 8, 7, 6};
        int[] z;
        int   i;

        System.out.println("Original arrays:");
        display(x);
        display(y);

        z = joinArrays(x, y);

        System.out.println("Result of join(x,y).");
        display(z);
   }

   private static void display( int[] x )
   {
       int i;

       System.out.print("Array: ");
       for(i=0; i < x.length; i++)
       {
           if( i < x.length-1 )
                System.out.printf("%3d, ", x[i]);
           else
                System.out.printf("%3d\n", x[i]);
       }
    }

    public static int[] joinArrays(int[] x, int[] y)
    {
        int i;
        return int x[i] + int y[i];
    }

}
import java.util.*;
公共类数组
{
公共静态void main(字符串[]args)
{
int[]x={5,4,3,2,1};
int[]y={8,7,6};
int[]z;
int i;
System.out.println(“原始数组:”);
显示器(x);
显示(y);
z=阵列(x,y);
System.out.println(“连接(x,y)的结果”);
显示器(z);
}
专用静态无效显示(int[]x)
{
int i;
系统输出打印(“数组:”);
对于(i=0;i
这就是你想要的。请参阅@StephenC的答案,了解您的实现不起作用的原因


这就是你想要的。请参阅@StephenC的答案,了解实现不起作用的原因。

问题在于您的
joinArrays
方法没有意义

  • intx[i]+inty[i]作为表达式不表示完整
    x[i]+y[i]
    在语法上是有效的

  • 变量
    i
    未初始化,因此不允许
    x[i]+y[i]

  • 即使
    x[i]+y[i]
    被允许,它实际上是在添加两个整数。。。给出一个整数

  • 基本上,你找错地方了。Java没有用于连接或连接数组的运算符(或任何其他形式的语法)。您需要创建一个足够大的新数组,以容纳
    x
    y
    的元素,并将
    x
    y
    的元素复制到新数组中;有关示例,请参见@dicarlo2的答案



    我建议您最好阅读Java教程或教科书,而不是通过猜测语法来学习Java…

    问题是您的
    joinArrays
    方法没有意义

  • intx[i]+inty[i]作为表达式不表示完整
    x[i]+y[i]
    在语法上是有效的

  • 变量
    i
    未初始化,因此不允许
    x[i]+y[i]

  • 即使
    x[i]+y[i]
    被允许,它实际上是在添加两个整数。。。给出一个整数

  • 基本上,你找错地方了。Java没有用于连接或连接数组的运算符(或任何其他形式的语法)。您需要创建一个足够大的新数组,以容纳
    x
    y
    的元素,并将
    x
    y
    的元素复制到新数组中;有关示例,请参见@dicarlo2的答案


    我建议您最好阅读Java教程或教科书,而不是通过猜测语法来学习Java…

    试试以下方法:

    package **YOUR PACKAGE NAME**;
    
    import java.util.*;
    
    public class **YOUR CLASS NAME** { public static void main(String[] args)
    
    {
    
        int[] x = { 5, 4, 3, 2, 1};
        int[] y = { 8, 7, 6};
        int[] z;
    
        System.out.println("Original arrays:");
        display(x);
        display(y);
    
        z = joinArrays(x, y);
    
        System.out.println("Result of join(x,y).");
        display(z);
    }
    
    private static void display( int[] x )
    {
       System.out.print("Array: ");
       for(int i=0; i < x.length; i++)
       {
           if( i < x.length-1 )
                System.out.printf("%3d, ", x[i]);
           else
                System.out.printf("%3d\n", x[i]);
       }
    }
    
    public static int[] joinArrays(int[] x, int[] y)
    {
        int [] combination;
        if(x.length < y.length)
            combination = new int[x.length];
        else
            combination = new int[y.length];
        for(int i = 0; i < x.length && i < y.length; i++)
            combination[i] = x[i] + y[i];
        return combination;
    }
    }
    
    包**您的包名**;
    导入java.util.*;
    公共类**您的类名**{public static void main(字符串[]args)
    {
    int[]x={5,4,3,2,1};
    int[]y={8,7,6};
    int[]z;
    System.out.println(“原始数组:”);
    显示器(x);
    显示(y);
    z=阵列(x,y);
    System.out.println(“连接(x,y)的结果”);
    显示器(z);
    }
    专用静态无效显示(int[]x)
    {
    系统输出打印(“数组:”);
    对于(int i=0;i
    试试这个:

    package **YOUR PACKAGE NAME**;
    
    import java.util.*;
    
    public class **YOUR CLASS NAME** { public static void main(String[] args)
    
    {
    
        int[] x = { 5, 4, 3, 2, 1};
        int[] y = { 8, 7, 6};
        int[] z;
    
        System.out.println("Original arrays:");
        display(x);
        display(y);
    
        z = joinArrays(x, y);
    
        System.out.println("Result of join(x,y).");
        display(z);
    }
    
    private static void display( int[] x )
    {
       System.out.print("Array: ");
       for(int i=0; i < x.length; i++)
       {
           if( i < x.length-1 )
                System.out.printf("%3d, ", x[i]);
           else
                System.out.printf("%3d\n", x[i]);
       }
    }
    
    public static int[] joinArrays(int[] x, int[] y)
    {
        int [] combination;
        if(x.length < y.length)
            combination = new int[x.length];
        else
            combination = new int[y.length];
        for(int i = 0; i < x.length && i < y.length; i++)
            combination[i] = x[i] + y[i];
        return combination;
    }
    }
    
    包**您的包名**;
    导入java.util.*;
    公共类**您的类名**{public static void main(字符串[]args)
    {
    int[]x={5,4,3,2,1};
    int[]y={8,7,6};
    int[]z;
    System.out.println(“原始数组:”);
    显示器(x);
    显示(y);
    z=阵列(x,y);
    System.out.println(“连接(x,y)的结果”);
    显示器(z);
    }
    专用静态无效显示(int[]x)
    {
    系统输出打印(“数组:”);
    对于(int i=0;i
    根据建议,查看Apache Commons

    看看Apache Commons中的建议