2017-08-02 195 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)); 
} 
相關問題