java - java中两个数组的总和

标签 java arrays

我是 Java 编程的新手。我这里有一个作业告诉我求两个数组的和。真的很简单,但我很难弄清楚所有的语法。这是我正在谈论的问题 Here is the question that I am talking about下面是我已经设法走了多远。

主类

package arraysum;
import java.util.Scanner;

public class ArraySum extends ArrayTwo{


    public static void main(String[] args) {

        Scanner input = new Scanner(System.in);

        int result[] = new int[10];


    }
}

子类一

 package arraysum;

import java.util.Scanner;

public class ArrayOne{
    int arr1[] = new int[10];
      Scanner input = new Scanner(System.in);

    public ArrayOne(){
      System.out.println("Enter the elements of the 1st array");
        for(int x=0;x<10;x++)
        {
            System.out.println("Enter an element");
            arr1[x]=input.nextInt();
        }
    }
}

子类二

    package arraysum;

public class ArrayTwo extends ArrayOne{
    int arr2[] = new int[10];

    public ArrayTwo(){
    System.out.println("Enter the elements of the 2nd array");
        for(int y=0;y<10;y++){
            System.out.println("Enter an element");
            arr2[y]=input.nextInt();
        }
    }
}

如有任何帮助,我们将不胜感激。

最佳答案

你的加法和减法应该是这样的

public class ArrayMath {
    public static int[] sum(int [] arrOne,int [] arrTwo) {
        if(arrOne.length!=arrTwo.length) {// check if length is same
            return null;
        }
        int[] returnArray = new int[arrOne.length];
        for(int i=0;i<arrOne.length;i++) { // adding with same index
            returnArray[i]=arrOne[i]+arrTwo[i];
        }
        return returnArray;
    }

    public static int[] subtract(int [] arrOne,int [] arrTwo) {
        if(arrOne.length!=arrTwo.length) { // checking length is same
            return null;
        }
        int[] returnArray = new int[arrOne.length];
        for(int i=0;i<arrOne.length;i++) { // subtracting with same index
            returnArray[i]=arrOne[i]-arrTwo[i];
        }
        return returnArray;
    }
}

你的主要应该是这样的:

public class ArraySum {
   public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      System.out.println("Enter the size of the arrays : ");
      int size = input.nextInt();
      int arrayOne[] = new int[size];
      int arrayTwo[] = new int[size];
      for(int i=0;i<size;i++){
         System.out.println("Enter the "+i+"th elements of the 1st array");
         arrayOne[i]=input.nextInt();
         System.out.println("Enter the "+i+"th elements of the 2st array");
         arrayTwo[i]=input.nextInt();
      }

      // Now you can call the methods
      int[] additionArray=ArrayMath.sum(arrayOne,arrayTwo);
      int[] subtractionArray=ArrayMath.subtract(arrayOne, arrayTwo);

      if(additionArray==null){
         System.out.println("Both array are not of same size hence cannot add");
      } else {
         System.out.println("Addition of array is");
         Arrays.sort(additionArray);
         for(int i=0; i<additionArray.length;i++){
            System.out.println(additionArray[i]+" ");
         }
      }
      if(subtractionArray==null){
         System.out.println("Both array are not of same size hence cannot subtract");
      } else {
         System.out.println("Subtraction of array is");
         Arrays.sort(subtractionArray);
         for(int i=0; i<subtractionArray.length;i++){
            System.out.println(subtractionArray[i]+" ");
         }
      }

   }
}

另一种方法是。 ArrayMath 类

public class ArrayMath {
    private int[] array;

    public ArrayMath(int[] arr){
        this.array=arr;
    }

    public int[] sum(int [] arr) {
        if(array.length!=arr.length){
            return null;
        }
        int[] returnArray = new int[array.length];
        for(int i=0;i<array.length;i++) {
            returnArray[i]=array[i]+arr[i];
        }
        return returnArray;
    }

    public int[] subtract(int [] arr) {
        if(array.length!=arr.length){
            return null;
        }
        int[] returnArray = new int[array.length];
        for(int i=0;i<array.length;i++) {
            returnArray[i]=array[i]-arr[i];
        }
        return returnArray;
    }
}

主类:

public class ArraySum {
   public static void main(String[] args) {
      Scanner input = new Scanner(System.in);
      System.out.println("Enter the size of the arrays : ");
      int size = input.nextInt();
      int arrayOne[] = new int[size];
      int arrayTwo[] = new int[size];
      for(int i=0;i<size;i++){
         System.out.println("Enter the "+i+"th elements of the 1st array");
         arrayOne[i]=input.nextInt();
         System.out.println("Enter the "+i+"th elements of the 2st array");
         arrayTwo[i]=input.nextInt();
      }

      ArrayMath arrayMath = new ArrayMath(arrayOne);
      // Now you can call the methods
      int[] additionArray=arrayMath.sum(arrayTwo);
      int[] subtractionArray=arrayMath.subtract(arrayTwo);

      if(additionArray==null){
         System.out.println("Both array are not of same size hence cannot add");
      } else {
         System.out.println("Addition of array is");
         Arrays.sort(additionArray);
         for(int i=0; i<additionArray.length;i++){
            System.out.println(additionArray[i]+" ");
         }
      }
      if(subtractionArray==null){
         System.out.println("Both array are not of same size hence cannot subtract");
      } else {
         System.out.println("Subtraction of array is");
         Arrays.sort(subtractionArray);
         for(int i=0; i<subtractionArray.length;i++){
            System.out.println(subtractionArray[i]+" ");
         }
      }

   }
}

关于java - java中两个数组的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28986673/

相关文章:

Javascript更改数组元素的位置

c - 使用 malloc 为上下文分配堆栈时的分段,而不是使用本地数组时的分段

javascript - 如何在 Javascript 中将对象检索到数组中?

java - 在 Windows 中设置默认堆大小

java - JSF、JPA 应用程序中的 SQL 查询错误

java - 如何在 java 中从 float 转换为 bigDecimal?

java - 二进制计算器分配

java - 如何显示变量的值? - 安卓

android - 使用 strings.xml 中的文本和值填充 ListView

java - 什么是NumberFormatException,我该如何解决?