import java.util.*;
import java.io.*;
class Main {
public static int TimeConvert(int num) {
int t;int n;
t = num % 60;
n = num / 60;
return n + ":" + t;
}
public static void main (String[] args) {
Scanner s = new Scanner(System.in);
System.out.print(TimeConvert(s.nextLine()));
}
}
我希望使用return方法在屏幕上输出num / 60的答案,然后输出:然后输出num%60的答案。它看起来像这样......(用户输入数字124)然后输出2 :4(小时:分钟)。如果我是System.out它可以工作,但是当我返回它时它不工作。我收到错误消息......
Main.java:11: error: incompatible types: String cannot be converted to int
return n + ":" + t;
^
1 error
我如何返回(int):( int)?
答案 0 :(得分:2)
我如何返回(int):( int)?
没有(int):(int)
数据类型。而且你不需要一个,中间有一个String
,所以返回一个String
。变化,
public static int TimeConvert(int num)
到
public static String TimeConvert(int num)
此外,您应遵循Java命名约定。方法以较低的类字母开头,您的方法看起来像一个类。最后,我先把动词放在上面。像,
public static String convertTime(int num)
最后,如果你可以使用Java内置函数,我宁愿使用TimeUnit
而不是硬编码的幻数。那是
public static String convertTime(int num) {
long minutes = TimeUnit.SECONDS.toMinutes(num);
return String.format("%d:%d", minutes,
num - TimeUnit.MINUTES.toSeconds(minutes));
}