Java如何基于用户输入创建LinkedList 已有输入代码求实现指引
实现思路
- 入门阶段直接在现有main方法内创建LinkedList即可,不需要额外开辟作用域,等后续熟悉方法封装、面向对象逻辑后再拆分功能模块也不迟。
- 你当前已经拿到3条用户输入的字符串,可以直接存入
LinkedList<String>完成基础的列表创建需求;如果后续需要单独调用设备名称、成本、收益三个属性,再拆分输入内容封装为自定义类存入列表即可。
基础实现代码(直接存输入字符串)
直接在你现有代码的打印输出部分之前补充LinkedList创建逻辑即可,补全后的完整代码如下:
import java.util.LinkedList; import java.util.Scanner; public class Main { public static void main (String[]args) { Scanner scan = new Scanner (System.in); System.out.println ("Enter first name of equipment, cost and gain:"); String equipment1 = scan.nextLine (); System.out.println ("Enter second name of equipment, cost and gain:"); String equipment2 = scan.nextLine (); System.out.println ("Enter third name of equipment, cost and gain:"); String equipment3 = scan.nextLine (); // 新增LinkedList创建逻辑 LinkedList<String> equipmentList = new LinkedList<>(); equipmentList.add(equipment1); equipmentList.add(equipment2); equipmentList.add(equipment3); System.out.println ("You have entered:"); // 也可以直接遍历LinkedList打印,不用单独打印三个变量 for (String equipment : equipmentList) { System.out.println(equipment); } scan.close(); } }
进阶实现(拆分字段存自定义对象)
如果你的输入是用空格分隔的格式,比如电钻 150 300,可以拆分后存入自定义类,更方便后续逻辑处理:
- 首先在Main类同级定义Equipment实体类
class Equipment { String name; int cost; int gain; public Equipment(String name, int cost, int gain) { this.name = name; this.cost = cost; this.gain = gain; } // 重写toString方法方便打印 @Override public String toString() { return name + " 成本:" + cost + " 收益:" + gain; } }
- 改造main方法里的列表添加逻辑
// 把原来的String类型LinkedList换成Equipment类型 LinkedList<Equipment> equipmentList = new LinkedList<>(); // 拆分每一条输入 String[] info1 = equipment1.split(" "); equipmentList.add(new Equipment(info1[0], Integer.parseInt(info1[1]), Integer.parseInt(info1[2]))); String[] info2 = equipment2.split(" "); equipmentList.add(new Equipment(info2[0], Integer.parseInt(info2[1]), Integer.parseInt(info2[2]))); String[] info3 = equipment3.split(" "); equipmentList.add(new Equipment(info3[0], Integer.parseInt(info3[1]), Integer.parseInt(info3[2])));
遍历打印的逻辑不需要修改,重写的toString方法会自动按指定格式输出内容。
内容的提问来源于stack exchange,提问作者Stephanie R
相关产品推荐
相关产品推荐

