我希望代码获取一个int作为参数,如果年龄是奇数则加3,如果是偶数则加2,然后返回为字符串。
使用此代码我
不兼容的类型:int无法转换为String
它还没有在第9行转换?
public String whatAge() {
Scanner input = new Scanner(System.in);
int age = input.nextInt();
if (age % 2 == 0) {
age += 2;
}
else
age += 3;
Integer.toString(age);
return age;
}
答案 0 :(得分:3)
您的代码说明了这一点:
Integer.toString(age); // line #9
return age;
应该是:
return Integer.toString(age);
它还没有在第9行转换?
是的...但是你丢掉了String
电话的toString
结果,而是返回原来的int
。
答案 1 :(得分:1)
您需要将返回的String
分配给变量,或者您可以将其返回。 toString()
return
您需要String
Integer
的值String
。在这里,您没有回复 String str=Integer.toString(age); // str is the returning String
return str;
。
return Integer.toString(age); // returning result of toString()
或
{{1}}
答案 2 :(得分:1)
你可以这样试试返回Integer.toString(年龄);
public class intToS {
public String whatAge() {
int age = 25;
if (age % 2 == 0) {
age += 2;
} else
age += 3;
return Integer.toString(age);
}
public static void main(String[] args) {
intToS obj = new intToS();
System.out.println("Age = "+obj.whatAge());
}
}
答案 3 :(得分:0)
在退回之前,您没有将转换后的值保存到任何string
,您返回的年龄仍为int
:
String result=Integer.toString(age);
return result;
答案 4 :(得分:-2)
这样做,它应该有效:
return age.toString();