将int转换为string并返回

时间:2014-10-22 11:03:21

标签: java string int

我希望代码获取一个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;
}

5 个答案:

答案 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();