【问题标题】:Convert int to string and return将 int 转换为字符串并返回
【发布时间】:2014-10-23 06:25:49
【问题描述】:

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

【问题讨论】:

    标签: java string int


    【解决方案1】:

    你的代码是这样写的:

        Integer.toString(age);  // line #9
        return age;
    

    应该是:

        return Integer.toString(age);
    

    不是在第9行转换了吗?

    嗯,是的......但是你扔掉了toString调用的String结果并返回了原来的int。

    【讨论】:

      【解决方案2】:

      您需要将返回的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()
      

      【讨论】:

        【解决方案3】:

        你可以这样尝试return Integer.toString(age);

        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());
            }
        }
        

        【讨论】:

          【解决方案4】:

          在返回之前,您没有将转换后的值保存到任何string,您返回的年龄仍然是int:

          String result=Integer.toString(age);
          
          return result;
          

          【讨论】:

            【解决方案5】:

            这样做,它应该可以工作:

            return age.toString();

            【讨论】:

            • age 是原始的int。那里没有toString()。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-12-04
            • 1970-01-01
            • 2011-02-02
            • 1970-01-01
            • 2019-08-30
            • 2013-07-21
            • 1970-01-01
            相关资源
            最近更新 更多