2017-08-02 16 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の答えを使って、画面上の出力に見て

:それはこのようになりますの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の命名規則に従ってください。メソッドはクラスレターで始まり、メソッドはクラスのように見えます。最後に、私は動詞を最初に入れます。あなたはJavaの組み込み関数を使用することができる場合と同様に、

public static String convertTime(int num) 

は最後に、私はハードコーディングマジックナンバーの上にTimeUnitを好むだろう。つまり、

public static String convertTime(int num) { 
    long minutes = TimeUnit.SECONDS.toMinutes(num); 
    return String.format("%d:%d", minutes, 
      num - TimeUnit.MINUTES.toSeconds(minutes)); 
} 
関連する問題