Java 如何获取对另一个方法的类引用数组

Java 如何获取对另一个方法的类引用数组,java,Java,我是一个学习java的学生 这一次,我正在制作一个代码,推荐一个奖项作为学校作业 很抱歉给您带来不便,因为这是谷歌翻译 我想问您如何将类引用的数组放入另一个方法中 在下面的代码中,如果在Run方法中选中Customer[]在CustomerGenerator中创建的数组,则不会保存和输出该值 谢谢你的帮助 package assignment_1; import java.util.InputMismatchException; import java.util.Scanner; publi

我是一个学习java的学生

这一次,我正在制作一个代码,推荐一个奖项作为学校作业

很抱歉给您带来不便,因为这是谷歌翻译

我想问您如何将类引用的数组放入另一个方法中

在下面的代码中,如果在Run方法中选中Customer[]在CustomerGenerator中创建的数组,则不会保存和输出该值

谢谢你的帮助

package assignment_1;

import java.util.InputMismatchException;
import java.util.Scanner;

public class LotteryApp {
    private static Scanner scanner;
    
    public LotteryApp() {
        scanner = new Scanner(System.in);   
    }
        
    public void GoodGenerator(Good[] b) {
        int nGoods;
        
        while(true) {
            
            System.out.print("게임의 당첨 경품은 몇개입니까>>");
            
            try {
                nGoods = scanner.nextInt();
                break;
            } 
            
            catch(InputMismatchException e) {
                System.out.println("정수를 입력해야만 합니다.");
                scanner.nextLine(); // <Enter> 키까지 읽어서 버린다.
                continue;
            }
            
        }
        
        b = new Good[nGoods]; // Player [] 레퍼런스 배열 생성
        
        // 각 참여자의 이름을 입력받아 Player 객체 생성
        for(int i=0; i<nGoods; i++) {
            System.out.print("경품의 이름을 입력하세요>>");
            String name = scanner.next();
            b[i] = new Good(name);
        }
    
    }
    
    static void CustomerGenerator(Customer[] a) {
        
        int nPlayers;
        
        while(true) {
            
            System.out.print("게임에 참가하는 인원은 몇명입니까>>");
            
            try {
                nPlayers = scanner.nextInt();
                break;
            } 
            
            catch(InputMismatchException e) {
                System.out.println("정수를 입력해야만 합니다.");
                scanner.nextLine(); // <Enter> 키까지 읽어서 버린다.
                continue;
            }
            
        }
        
        a = new Customer[nPlayers]; // Player [] 레퍼런스 배열 생성
        
        // 각 참여자의 이름을 입력받아 Player 객체 생성
        for(int i=0; i<nPlayers; i++) {
            System.out.print("참가자의 이름을 입력하세요>>");
            String name = scanner.next();
            a[i] = new Customer(name);
        }

        
        

    }
    
    public void run() {
        int Whack;
        Customer[] a = {};
        Good[] b = {};
        while(true) {
            
            System.out.print("게임에 꽝은 몇개입니까>>");
            
            try {
                Whack = scanner.nextInt();
                break;
            } 
            
            catch(InputMismatchException e) {
                System.out.println("정수를 입력해야만 합니다.");
                scanner.nextLine(); // <Enter> 키까지 읽어서 버린다.
                continue;
            }
            
        }
        
        CustomerGenerator(a);
        GoodGenerator(b);
        
        System.out.println(a[0].CustomerName);

        int A = a.length;
        System.out.println(A);

        
        
        
        
    }
    
    public static void main(String[] args) {
        LotteryApp game = new LotteryApp();
        game.run();
    }
}




class Good{
    private Scanner scanner;
    public String GoodName;
    public int GoodPrice;
    public boolean GoodUse;
    
    public Good(String GoodName) {
        this.GoodName = GoodName;
        scanner = new Scanner(System.in);
    }
}


class Customer{
    private Scanner scanner;
    public String CustomerName;
    public String WinningPriceName;
    public boolean Winning;
    
    public Customer(String CustomerName) {
        this.CustomerName = CustomerName;
        scanner = new Scanner(System.in);   
    }
}
packageassignment_1;
导入java.util.InputMismatchException;
导入java.util.Scanner;
公共类彩票应用程序{
专用静态扫描仪;
公共彩票应用程序(){
扫描仪=新扫描仪(System.in);
}
公共物品生成器(物品[]b){
int nGoods;
while(true){
系统输出打印(“게임의 당첨 경품은 몇개입니까>>");
试一试{
nGoods=scanner.nextInt();
打破
} 
捕获(输入不匹配异常e){
System.out.println(“정수를 입력해야만 합니다.");
scanner.nextLine();//키까지 읽어서 버린다.
继续;
}
}
b=新产品[nGoods];//玩家[]레퍼런스 배열 생성
// 각 참여자의 이름을 입력받아 玩家객체 생성

对于(int i=0;i请考虑一个函数参数,如该函数的局部变量:
您可以从函数内部将值放入其中,但它不会超出函数外部

您必须返回从
CustomerGenerator
分配的数组,如下所示:

static Customer [] CustomerGenerator() {

    /** skip same code **/
    Customer [] outArray = new Customer[nPlayers]; // Player [] 레퍼런스 배열 생성
    
    // 각 참여자의 이름을 입력받아 Player 객체 생성
    for(int i=0; i<nPlayers; i++) {
        System.out.print("참가자의 이름을 입력하세요>>");
        String name = scanner.next();
        outArray[i] = new Customer(name);
    }

    return outArray;
}
静态客户[]CustomerGenerator(){
/**跳过相同的代码**/
客户[]outArray=新客户[n玩家];//玩家[]레퍼런스 배열 생성
// 각 참여자의 이름을 입력받아 玩家객체 생성
对于(int i=0;i