尝试返回时,String无法转换为int错误

时间:2014-10-27 14:31:01

标签: java string int return

所以我试着为学校写一个java程序。它必须将美国时间,例如3PM转换为欧洲时间,在这种情况下为15。因此,这是我将24转换为12AM并将其返回到先前的打印方法的部分

if (timeDigit == 0 ){
        timeDigit = 12;
        String suffix = "AM";
        return timeDigit; 
        return suffix;

但是当我尝试编译然后我得到错误:String无法转换为int

知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

对于一个你不能以同样的方法返回两次。当第一次返回被调用时,第二次返回将永远不会执行。问题是你的方法返回int类型,你试图返回一个String。

public int converTime() // if you notice it has int in the method that means it is expecting an int not a string
     return int;

编译器发现你正在尝试返回一个字符串(在你返回int之后)并说“嘿,你不能在这里返回一个字符串,我期待一个int”。

也许你应该改变你的方法来返回字符串并在一个语句中返回它们,如:

public String convertTime()
{
    String timeDigit = "12";
    String suffix = "AM";
    String output = null;
    output = timeDigit + suffix;
    return output;
}

public void main(String args[])
{
   String output = convertTime();
   System.out.println(output);
}

答案 1 :(得分:0)

......你知道这些回报都不会被解雇吗?我愿意打赌你的返回类型(函数名之前的东西)是一个int,而你的第二个返回(永远不会被调用的那个)试图返回一个字符串。 string和int不兼容。

答案 2 :(得分:0)

我不知道你到底想要什么,但是这段代码会返回" 12 AM"。

public String returnTime(int timeDigit) { String suffix = "AM"; if (timeDigit == 0 ){ timeDigit = 12; } return String.valueOf(timeDigit)+suffix; }