2017-08-02 192 views
-1
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())); 
    } 

} 

我正在寻找在屏幕上使用返回方法输出答案num/60与a:然后输出答案num%60.它会看起来像这样..(用户输入号码124)然后输出2:4(小时:分钟)。它工作,如果我System.out但不是当我返回它。我得到的错误信息......不兼容的类型:字符串不能转换为int

Main.java:11: error: incompatible types: String cannot be converted to int 

return n + ":" + t;  

     ^
1 error 

我怎么能返回(INT):(INT)?

回答

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)); 
} 
相关问题