我是 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/