不兼容的类型:String不能转换为int

时间:2017-08-02 02:05:31

标签: java

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)?

1 个答案:

答案 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));
}