如何使用Scanner调用主类中另一个单独类中的构造函数。
假设我们有
public Person(String personFirstname, String personLastName, String personAddress, String personUsername)
{
firstName = personFirstName;
lastName = personLastName;
address = personAddress;
username = personUsername;
}
假设我们有
public class PersonExample
{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Person dave = new Person();
}
}
当我们希望个人填写他们自己的姓名,姓氏等信息时,我们如何使用扫描仪让他们填写该信息?
答案 0 :(得分:1)
您需要使用Scanner
e.g。
Scanner scanner = new Scanner(System.in);
System.out.println("Your name?");
String name = scanner.nextLine();
// ... repeat for all fields ...
Person person = new Person(/*all the fields you just read*/);
答案 1 :(得分:0)
您需要有一些知道Person
和Scanner
的方法,并且它将具有读取适当值并设置字段的逻辑。我的建议是在static
上设置一个Person
方法:
public class Person {
public static Person createFromScanner(final Scanner scanner) {
String firstName = scanner.next();
// ...
return new Person(firstName, lastName, address, username);
}
}
然后你可以从其他地方(如main
)这样调用它:
Scanner scan = new Scanner(System.in);
Person dave = Person.createFromScanner(scan);
答案 2 :(得分:0)
Scanner c = new Scanner(System.in);
Person p = new Person(c.nextLine(), c.nextLine(), c.nextLine(), c.nextLine());
但这不是一个好习惯。最好先验证用户输入,然后使用这些值创建实例