所以我试着为学校写一个java程序。它必须将美国时间,例如3PM转换为欧洲时间,在这种情况下为15。因此,这是我将24转换为12AM并将其返回到先前的打印方法的部分
if (timeDigit == 0 ){
timeDigit = 12;
String suffix = "AM";
return timeDigit;
return suffix;
但是当我尝试编译然后我得到错误:String无法转换为int
知道如何解决这个问题吗?
答案 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;
}