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