java - 使用用户输入将对象添加到 ArrayList 的方法

标签 java methods arraylist

无法理解以下内容:有 2 个类 - “Item”,其中设置属性(名称、价格)和构造函数,以及主要的“Store”。在最后一个 - Arraylist 中,它根据用户输入填充项目。该代码有效。

问题是:除了“ArrayList listOfItems=new ArrayList();”之外,有没有办法将所有内容都放在主类中写入方法“addItem()”,然后调用该方法?我不知道怎么做。尝试了很多。

谢谢

package store;

import java.util.ArrayList;
import java.util.Scanner;

public class Store extends Item {

public static void main(String[] args) {        

   ArrayList<Item> listOfItems=new ArrayList<Item>();

    for(int i=0;i<2;i++){

        System.out.println("ENTER NAME");
        Scanner addName=new Scanner (System.in);
        String name=(addName.nextLine());

        System.out.println("ENTER PRICE");
        Scanner addPrice=new Scanner (System.in);
        double price=(addPrice.nextDouble());

        listOfItems.add(new Item(name,price));
    }
    for(Item list:listOfItems){
        System.out.println("NAME "+list.getName()+", PRICE "+list.getPrice());
    }
  }
}

最佳答案

这对你有用:

package store;

import java.util.ArrayList;
import java.util.Scanner;

public class Store {
    private static class Item {
        private String name;
        private double price;

        public Item(String name, double price) {
            this.name = name;
            this.price = price;
        }

        public String getName() {
            return name;
        }

        public double getPrice() {
            return price;
        }
    }

    public static void main(String[] args) {
        ArrayList<Item> listOfItems = new ArrayList<Item>();
        addItem(listOfItems);
    }

    private static void addItem(ArrayList<Item> listOfItems) {
        for (int i = 0; i < 2; i++) {
            System.out.println("ENTER NAME");
            Scanner addName = new Scanner(System.in);
            String name = (addName.nextLine());

            System.out.println("ENTER PRICE");
            Scanner addPrice = new Scanner(System.in);
            double price = (addPrice.nextDouble());

            listOfItems.add(new Item(name, price));
        }
        for (Item list : listOfItems) {
            System.out.println("NAME " + list.getName() + ", PRICE " + list.getPrice());
        }
    }
}

我单独定义了类Item以使其能够编译。我还从商店中删除了 extends Item,因为不需要它。

关于java - 使用用户输入将对象添加到 ArrayList 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32660118/

相关文章:

Java ArrayList 初始化

java - 这个方法jboolean(JNICALL *ExceptionCheck)(JNIEnv *env)在哪里定义的?

java - 类型删除和 Flink : what causes run time error?

java - java 中的 TicTacToe 游戏有问题吗?将 getText().equals() 与 jButtons 一起使用

Java:如何从另一个方法输出用户输入(多个字符串/整数)

java - removeDuplicates 方法不会删除列表中的所有重复整数

java - 如何将数字放入通用列表中?

java - 需要pdf格式的java客观题

Java 正则表达式程序没有按预期工作

java - 如何将 2 个或多个值放入 ArrayList<NameValuePair>