从一种方法返回数组到另一种方法

问题描述:

这是我的程序,每次它都要求输入数组。 我想输入一个数组并在该数组上进行处理。 但是这个程序要求我再次输入数组。
来自名为“first”的方法我只想返回数组,并使用该数组以两种不同的方法添加和删除。但总是要求我输入数组的所有元素,每当第一个方法运行时,我都会调用main方法中的任何add或delete方法。从一种方法返回数组到另一种方法

package程序;

import java.util.Arrays; 
import java.util.Scanner; 

public class Functionality { 
    public static int[] first() 
    { 
     System.out.println("Enter the number of element in array"); 
     Scanner num = new Scanner(System.in); 
     int data = num.nextInt(); 
     //return data; 
     Scanner ar = new Scanner(System.in); 
     int arr[] = new int[data]; 
     System.out.println("Enter "+data+" Numbers"); 
     for(int i =0; i<data; i++){ 
      System.out.println("Enter NUmber :"+(i+1)); 
      arr[i] = num.nextInt(); 
    } 
     System.out.println(); 
     System.out.println(Arrays.toString(arr)); 
    return arr; 
    } 

    public static void main(String[] args) { 
     add(); 
     delete(); 

     } 
static void add(){ 
int arr[]=first(); 
System.out.println("Enter the number you want to add"); 
Scanner one = new Scanner(System.in); 
int naya = one.nextInt(); 
for(int i = 0; i<=arr.length-1; i++){ 
    arr[i]= arr[i] + naya; 
} 
System.out.println("The added array is"); 
System.out.println(Arrays.toString(arr)); 
} 
static void delete(){ 
    int arr[]=first(); 
    System.out.println("Enter the number you want to substract"); 
    Scanner two = new Scanner(System.in); 
    int arko = two.nextInt(); 
    for(int i =0; i <= arr.length-1; i++){ 
     arr[i]=arr[i]-arko; 
    } 
    System.out.println("The Substracted array is"); 
    System.out.println(Arrays.toString(arr)); 

} 

您应该获得对数组的引用并在随后的方法调用中传递它。正在创建

class Functionality { 

static int[] first() { 
    System.out.println("Enter the number of element in array"); 
    Scanner num = new Scanner(System.in); 
    int data = num.nextInt(); 
    //return data; 
    Scanner ar = new Scanner(System.in); 
    int arr[] = new int[data]; 
    System.out.println("Enter " + data + " Numbers"); 
    for (int i = 0; i < data; i++) { 
     System.out.println("Enter NUmber :" + (i + 1)); 
     arr[i] = num.nextInt(); 
    } 
    System.out.println(); 
    System.out.println(Arrays.toString(arr)); 
    return arr; 
} 

public static void main(String[] args) { 
    int arr[] = first(); 
    add(arr); 
    delete(arr); 

} 

static void add(int arr[]) { 
    System.out.println("Enter the number you want to add"); 
    Scanner one = new Scanner(System.in); 
    int naya = one.nextInt(); 
    for (int i = 0; i <= arr.length - 1; i++) { 
     arr[i] = arr[i] + naya; 
    } 
    System.out.println("The added array is"); 
    System.out.println(Arrays.toString(arr)); 
} 

static void delete(int arr[]) { 
    System.out.println("Enter the number you want to substract"); 
    Scanner two = new Scanner(System.in); 
    int arko = two.nextInt(); 
    for (int i = 0; i <= arr.length - 1; i++) { 
     arr[i] = arr[i] - arko; 
    } 
    System.out.println("The Substracted array is"); 
    System.out.println(Arrays.toString(arr)); 

} 

}

您的程序要求你输入数组每一次,因为每次你先调用方法()新的数组

这应该做的伎俩