使用3个参数在java中返回字符串
需要编写一个方法describePerson(),该方法接受3个参数,一个字符串给出一个人的使用3个参数在java中返回字符串,java,Java,需要编写一个方法describePerson(),该方法接受3个参数,一个字符串给出一个人的 name,一个表示性别的布尔值(女性为true,男性为false),以及一个表示年龄的整数。该方法应返回如下示例所示格式的字符串: 百灵鸟是雌性。她两岁。 或 杰伊是男性。他一岁了 我不确定如何正确编写它(我的代码): “年”和“年”的结果也不同,但我不知道如何使其正确。尝试对性别使用“三元”或“条件运算符”。您希望输出“male”或“female”,而不是“true”或“false”,这只需将布尔值附
name,一个表示性别的布尔值(女性为true,男性为false),以及一个表示年龄的整数。该方法应返回如下示例所示格式的字符串: 百灵鸟是雌性。她两岁。 或 杰伊是男性。他一岁了 我不确定如何正确编写它(我的代码): “年”和“年”的结果也不同,但我不知道如何使其正确。尝试对性别使用“三元”或“条件运算符”。您希望输出“male”或“female”,而不是“true”或“false”,这只需将布尔值附加到字符串即可得到 假设“真”是女性:
String genderStr = (gender ? "female" : "male");
String pronoun = (gender ? "She" : "He");
是的,您可能希望返回一个字符串,而不是一个int。尝试使用“三元”或“条件运算符”作为性别。您希望输出“male”或“female”,而不是“true”或“false”,这只需将布尔值附加到字符串即可得到
假设“真”是女性:
String genderStr = (gender ? "female" : "male");
String pronoun = (gender ? "She" : "He");
是的,您可能希望返回字符串而不是int。descripebeperson
的返回值应为字符串类型。此外,布尔值gender
不是字符串,因此您需要自己将表达式写入return语句
String describePerson(String name, boolean gender, int age) {
String yearString = (age == 1 ? "year" : "years");
if (gender) return (name + " is female. She is " + age + year + " old.");
else return (name + " is male. He is " + age + year + " old.");
}
除了所描述的其他问题外,请务必记住以“”
结束字符串describePerson
的返回值应为String
类型。此外,布尔值性别
不是字符串,因此您需要自己将表达式写入返回语句
String describePerson(String name, boolean gender, int age) {
String yearString = (age == 1 ? "year" : "years");
if (gender) return (name + " is female. She is " + age + year + " old.");
else return (name + " is male. He is " + age + year + " old.");
}
除了上述其他问题外,请务必记住以“
结束字符串,因为您要返回字符串,需要将返回类型更改为string
String describePerson(String name, boolean gender, int age) {
String words="";
if(gender==true) return (name + "is "+gender+". "+"She is"+age+ "years old.);
else
return (name + "is "+gender+". "+"She is"+age+ "years old.);
}
由于要返回字符串,因此需要将返回类型更改为字符串
String describePerson(String name, boolean gender, int age) {
String words="";
if(gender==true) return (name + "is "+gender+". "+"She is"+age+ "years old.);
else
return (name + "is "+gender+". "+"She is"+age+ "years old.);
}
1:使用String.format
2:引入变量heShe
string describePerson(String name, boolean gender, int age)
{
String x = gender ? "She" : "He";
return (name + "is "+gender+". " + x + " is"+age+ "years old.);
}
3:参数性别为布尔值,最好使用枚举1:使用String.format
2:引入变量heShe
string describePerson(String name, boolean gender, int age)
{
String x = gender ? "She" : "He";
return (name + "is "+gender+". " + x + " is"+age+ "years old.);
}
3:参数性别是布尔值,最好使用枚举
public String describePerson(String name, boolean gender, int age) {
String describe = "%s is %s. %s is %d years old.";
boolean isFemale = gender == true;
String sexGender = isFemale ? "female" : "male";
String sexType = isFemale ? "She" : "He";
String finalDescribe = String.format(describe, name, sexGender, sexType, age);
System.out.println(finalDescribe);
return finalDescribe;
}
试试这个
public String describePerson(String name, boolean gender, int age) {
String describe = "%s is %s. %s is %d years old.";
boolean isFemale = gender == true;
String sexGender = isFemale ? "female" : "male";
String sexType = isFemale ? "She" : "He";
String finalDescribe = String.format(describe, name, sexGender, sexType, age);
System.out.println(finalDescribe);
return finalDescribe;
}
最好的方法可能是预先计算语句的各个部分,然后将它们组合在一起:
String maleFemale;
String heShe;
String yearYears;
if (gender) {
maleFemale = "female";
heShe = "She";
}
else {
maleFemale = "male";
heShe = "He"
}
if (age == 1) [
yearYears = "year";
}
else {
yearYears = "years";
}
return name + " is " + maleFemale + ". " + heShe + " is " + age + " " + yearYears + " old.";
通常最好是把事情分解成你能理解的部分,而不是试图使用你不懂的奇特操作,将它们紧密地结合在一起,使您无法遵循程序流程并在操作之间添加println语句。最好的方法可能是预先计算语句的各个部分,然后将其组合在一起:
String maleFemale;
String heShe;
String yearYears;
if (gender) {
maleFemale = "female";
heShe = "She";
}
else {
maleFemale = "male";
heShe = "He"
}
if (age == 1) [
yearYears = "year";
}
else {
yearYears = "years";
}
return name + " is " + maleFemale + ". " + heShe + " is " + age + " " + yearYears + " old.";
通常,最好将事情分解成您理解的部分,而不是尝试使用您不理解的奇特操作,将它们紧密地聚集在一起,使您无法遵循程序流程并在操作之间添加println语句。首先,如果您想返回字符串,您的返回类型应该是String
所以方法签名应该是
String describePerson(String name, boolean gender, int age)
此外,您还需要根据性别打印他和她,因此必须存在if条件。
尝试使用以下代码代替现有方法
String describePerson(String name, boolean gender, int age) {
String genderStr=null;
String genderPro = null;
String year = null;
if(gender){
genderStr = "female";
genderPro = "She";
}
else{
genderStr = "male";
genderPro = "He";
}
if (age == 1) {
year = "year";
}
else {
year = "years";
}
return (name + " is "+genderStr+". "+genderPro+" is "+age+ " "+ year+" old");
}
首先,若要返回字符串,则返回类型应为String
所以方法签名应该是
String describePerson(String name, boolean gender, int age)
此外,您还需要根据性别打印他和她,因此必须存在if条件。
尝试使用以下代码代替现有方法
String describePerson(String name, boolean gender, int age) {
String genderStr=null;
String genderPro = null;
String year = null;
if(gender){
genderStr = "female";
genderPro = "She";
}
else{
genderStr = "male";
genderPro = "He";
}
if (age == 1) {
year = "year";
}
else {
year = "years";
}
return (name + " is "+genderStr+". "+genderPro+" is "+age+ " "+ year+" old");
}
我认为将int-descripebeperson
更改为String-descripebeperson
将是一个良好的开端“该方法应返回字符串”,那么为什么要让它返回int?只需继续嵌套if语句即可。有更多聪明的方法可以做到这一点,但在这种情况下,简单是好的。(方法应该返回字符串,而不是int。)我认为将int-descripebeperson
更改为String-descripebeperson
将是一个好的开始,“方法应该返回字符串”,那么为什么要让它返回int呢?只要继续嵌套if语句即可。有更多聪明的方法可以做到这一点,但在这种情况下,简单是好的。(并且该方法应该返回String,而不是int。)加上第三个用于“other”genders的返回语句!我真的很喜欢这个代码。我可能应该摆脱它,因为有些东西只能是真的或假的。我怎样才能不仅得到“年”,而且得到“年”?例如,他1岁。不是1“岁”注意,通常的惯例是说“0岁”而不是“0岁”,所以比较应该是==1
与>1
。再加上“其他”性别的第三个返回语句!我真的很喜欢这个代码。我可能应该摆脱它,因为有些东西只能是真的或假的。我怎样才能不仅得到“年”,而且得到“年”?例如,他1岁。不是1“年”注意,通常的惯例是说“0岁”而不是“0岁”,所以比较应该是==1
与>1
。你的意思是string
还是string
?另外,我认为返回的字符串
存在一些问题。。。如前所述,它会产生类似“Foois true.她42岁”的内容。这不是我的反对票,但我通常避免指定一个值,然后有条件地覆盖该值。words
变量在这里似乎也是多余的-如果使用了它,应该将其命名为result
@jason-感谢您的反馈…(因此您还应该给其他人-1,因为他们也会犯这个“错误”)@lordkain我无意冒犯你。你给出的答案有几个问题,可能会让Java新手感到困惑或误导。我可以(尊重地)在评论中给你反馈,或者我可以编辑你的帖子(然后需要审查和批准)来纠正错误。无论哪种方式