gpt4 book ai didi

java - 我该如何将用户输入更改为存在不同变量的构造函数?

转载 作者:行者123 更新时间:2023-12-02 01:16:14 28 4
gpt4 key购买 nike

我应该在两个不同的类中编写代码,并创建不同的成员构造函数,其中包含出生日期、姓名、性别等信息,这些信息都是用户输入的。问题是,一个例子要求它像这样写:

Input the team members (Name:Surname:Sex:DD/MM/YYYY):

但是由于这会输出一个字符串,因此在记录不同的出生日期等时我应该如何将其中一些更改为整数?我当前的构造函数是:

public Member(String name, String surname, int date, int month, int year, char sex){

如何区分输入的字符串、名称、日期、年份等?

public class Member {

private String name;
private String surname;
private int date;
private int month;
private int year;
private char sex;

public Member(String name, String surname, int date, int month, int year, char sex){
this.name = name;
this.surname = surname;
this.date = date;
this.month = month;
this.year = year;
this.sex = sex;
}

public String getName() {
return name;
}

public String getSurname() {
return surname;
}

public int getDate() {
return date;
}

public int getMonth() {
return month;
}

public int getYear() {
return year;
}

public char getSex() {
return sex;
}
}

其他类在这些方法上运行。我还没有开发另一种。

最佳答案

在创建新成员之前,您需要处理输入。

已编辑 符合 Gunnar 的建议,首先验证输入是否符合预期。一种方法是创建一个模式并检查它是否与输入匹配。有很多关于此的 Material ( example )。

输入验证通过后,您可以滑动输入并提取您想要的内容。像这样:

String input = "Name:Surname:Sex:DD/MM/YYYY";
String[] parts = input.split(":");

System.out.println(parts[0]); // It will print: Name
System.out.println(parts[1]); // It will print: Surname
System.out.println(parts[2]); // It will print: Sex
System.out.println(parts[3]); // It will print: DD/MM/YYYY

如果您也想分割日期,只需使用:

String[] date = parts[3].split("/");

System.out.println(date[0]); // It will print: DD
System.out.println(date[1]); // It will print: MM
System.out.println(date[2]); // It will print: YYYY

请注意,所有元素都是字符串。所以你必须将 Sex 转换为 char。

char sex = parts[2].charAt(0);

以及从日期到整数的所有元素。

int day = Integer.parseInt(date[0]);

对月份和年份执行相同的操作。

关于java - 我该如何将用户输入更改为存在不同变量的构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58507254/

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