2014-10-22 90 views
0

我希望代碼獲取int作爲參數,並在年齡奇數時加3,如果偶數則加2,然後返回字符串。將int轉換爲字符串並返回

有了這個代碼,我得到

不兼容的類型:INT不能轉換成字符串

有沒有這種感覺了第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; 
} 

回答

3

你的代碼,這樣說:

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

這應該是:

return Integer.toString(age); 

有沒有這種感覺了第9行轉換?

嗯,是......但你扔掉了toString調用的String結果,回到原來的int代替。

0

你的arent返回之前保存轉換價值的任何string,返回年齡這仍然是一個int

String result=Integer.toString(age); 

return result; 
1

您需要分配返回String變量或者你可以返回。 toString()returnStringInteger你需要拿它。在這裏,你沒有拿回那String

String str=Integer.toString(age); // str is the returning String 
return str; 

或者

return Integer.toString(age); // returning result of toString() 
-2

像這樣做,它應該工作:

return age.toString();

+0

'age'是原始'int'。在那裏沒有'toString()'。 – 2014-10-22 11:08:09

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