尝试返回时,字符串不能转换为int错误
所以即时尝试编写一个学校的java程序。它必须将美国时间,例如3PM转换为欧洲时间,在这种情况下为15。因此,这是我变换分析24到中午12点,并返回到以前的方法打印尝试返回时,字符串不能转换为int错误
if (timeDigit == 0){
timeDigit = 12;
String suffix = "AM";
return timeDigit;
return suffix;
但是,当我尝试编译,然后我得到错误的部分:字符串不能转换成int
任何想法如何解决这个问题?
对于一个你不能在相同的方法返回两次。当第一个返回被调用时,第二个返回将永远不会被执行。问题是你的方法返回类型int,你试图返回一个字符串。
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”。
也许你应该改变你的方法,以返回字符串,并在一个声明中像同时返回:
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);
}
啊我看到了,像平常一样愚蠢的错误:) – 2014-10-27 14:53:42
哈哈这是我们如何学习的好人。 – brso05 2014-10-27 15:02:58
我还没有找到一种方式向你发送消息,所以我只是问这里。我解决了以前的问题,但现在当我尝试打印一个字符串,我得到的错误,变量im试图打印尚未初始化。 但是我使用#String output = new String(timeDigit + suffix)创建了一个新字符串;# – 2014-10-27 15:16:22
...你知道这两个回报将不火吗?我敢打赌,你的返回类型(函数名称之前的东西)是一个int类型,而你的第二个返回类型(永远不会被调用的那个)试图返回一个字符串。字符串和int不兼容。
我不知道你到底想要什么,但是这段代码返回“12AM”。
public String returnTime(int timeDigit) { String suffix = "AM"; if (timeDigit == 0){ timeDigit = 12; } return String.valueOf(timeDigit)+suffix; }
你有两个'return'报表时没有任何意义......还有,你的方法可能被声明为返回一个'String'和你的第一个'return'你试图返回' timeDigit'这是一个'int'... – nem035 2014-10-27 14:32:54
你应该发布该方法的整个代码。你迄今发布的内容没有任何意义。 – ortis 2014-10-27 14:32:57
也许你写这段代码的方法返回'String'。由于第一个'return'语句的类型为'int',因此您会收到此错误消息。 – Maroun 2014-10-27 14:33:52