gpt4 book ai didi

java - 将数组从一种方法返回到另一种方法

转载 作者:行者123 更新时间:2023-12-01 09:11:09 24 4
gpt4 key购买 nike

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

打包程序;

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

}

}

你的程序每次都会要求你输入数组,因为每次你调用方法first()时都会创建新数组

关于java - 将数组从一种方法返回到另一种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40917448/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com