gpt4 book ai didi

java - 是否可以创建一个将对象插入队列的函数?使用 java.util.Scanner?

转载 作者:行者123 更新时间:2023-11-30 07:44:12 24 4
gpt4 key购买 nike

所以我创建了一个菜单选择显示,其中我有函数 insert()现在,我正在尝试使用 Scanner 将对象(人)输入到队列中。所以我的代码是:

Scanner input = new Scanner(System.in);
System.out.print("Enter element: ");
Person elementInsert = input.next();

但是显然这样不行,Scanner好像只接受整数和String。有没有办法做到这一点?我不确定我的问题是否清楚。但我正在尝试使用 java.util.Scanner 将对象插入到数据结构(队列)中有办法做到这一点吗?

最佳答案

您可以在 Person 类中有一个 static 方法,它知道如何根据输入构建一个人。这是一个完整的例子:

import java.util.Scanner;

public class Main {

private static class Person {
private String firstName;
private String lastName;

public Person(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}

public static Person createFromInput(Scanner input) {
String firstName = input.next();
String lastName = input.next();
return new Person(firstName, lastName);
}

@Override
public String toString() {
return "Person {" + firstName + ' ' + lastName + '}';
}
}

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("Enter element: ");
Person person = Person.createFromInput(input);

System.out.println(person);
}
}

您可能应该添加一些验证以确保代码正在读取有效的 Person。理想情况下,您应该进行涵盖所有情况的单元测试。

关于java - 是否可以创建一个将对象插入队列的函数?使用 java.util.Scanner?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746028/

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