2016-12-01 117 views
0

這是我的程序,每次它都要求輸入數組。 我想輸入一個數組並在該數組上進行處理。 但是這個程序要求我再次輸入數組。
來自名爲「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)); 

} 

回答

1

您應該獲得對數組的引用並在隨後的方法調用中傳遞它。正在創建

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)); 

} 

}

您的程序要求你輸入數組每一次,因爲每次你先調用方法()新的數組

這應該做的伎倆

相關問題