gpt4 book ai didi

java - 如何从 main 方法将对象添加到数组中?另外,如何在 main 方法中制作菜单?

转载 作者:太空宇宙 更新时间:2023-11-04 13:11:30 25 4
gpt4 key购买 nike

好吧,所以我必须为我的一项作业制作一个驱动程序,而我正在测试的是我的 ArrayObject 类。该类有一个“add”方法:

private int actualSize; // assume actualSize == 0 for this code
public void add(Object obj)
{
if(actualSize>=arr.length)
return;
arr[actualSize]=obj;
actualSize++;
}

因此,这会添加用户在 ArrayObject 类中创建数组时想要的对象。现在,我创建了一个 ArrayObjectDriver 类,在这个类中,我需要创建一个循环菜单。到目前为止:

public class ArrayObjectDriver{
ArrayObject array = new ArrayObject();
public static void main(String[] args)
{
int option = selectionMenu();
Scanner scanner = new Scanner(System.in);
ArrayObjectDriver drive = new ArrayObjectDriver();
drive.methods(option);
}

private static int selectionMenu()
{
int optionNumber = 1;
System.out.println("Menu: ");
System.out.println("1. Add object to the end of the list");
return optionNumber;
}

private void methods(int option)
{
if(option==1)
{
System.out.println("Enter your object: ");
String str = scanner.nextLine(); // putting string for now
array.add(str);
}
}
}

这是我只使用第一个选项的代码片段。我在向数组添加对象时遇到问题。我不知道如何在主方法中接受用户输入以将对象添加到数组中。发生的另一个问题是程序本身。我将其保留为字符串以测试字符串输入,每次运行该程序时,它总是会在要求我“输入我的对象:”后停止运行。我如何阻止它,以便它向我的数组添加一个字符串对象?它不会向数组添加任何内容。

我的下一个问题是如何循环 main 方法。我在 voidmethods(int option) 代码中尝试了递归方法,然后测试将drive.methods(option) 代码放入 while 循环中,但它不起作用。我是否必须一遍又一遍地调用selectionMenu()?

编辑:

  • 我声明了一个扫描仪。

  • 我声明了该数组。

最佳答案

要从控制台获取用户输入,您可以使用 Scanner类(class):扫描仪 user_input = new Scanner( System.in );看起来您有一个变量扫描仪,但从您发布的代码片段来看,您从未初始化过它。如果你想在 main 方法中循环,你可以这样做:

import java.util.Scanner;

public class TestClass {

private static Scanner scanner;
public static void main(String[] args)
{
scanner = new Scanner(System.in);
ArrayObject array = new ArrayObject();
String option = "";
int selection = selectionMenu();
while(selection != 3){
if(selection == 1){
System.out.println("Enter your object");
String input = scanner.next();
array.add(input);
}else if(selection == 2){
for(Object o : array){
System.out.println("Object value: "+o.toString());
}
}

selection = selectionMenu();
}
scanner.close();
}

public static int selectionMenu(){
System.out.println("Menu:");
System.out.println("\t1. Add object");
System.out.println("\t2. Print objects");
System.out.println("\t3. Quit:");
int option =scanner.nextInt();
return option;
}
}

关于java - 如何从 main 方法将对象添加到数组中?另外,如何在 main 方法中制作菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33908346/

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