2015-10-02 37 views
0

我正在編寫一個程序,你需要在幾分鐘內輸入你已經騎自行車多久,然後顯示你在幾小時內騎了多長時間hh:mm 因此對於例如,如果用戶在88分鐘寫的,應該顯示1:28C#如何顯示用戶輸入的整數作爲時間

我找了好幾個小時,現在並不能找到如何做到這一點,也許並不能幫助我總新手編碼:)

//input data 
      Console.Write("Number of Minutes spent Cycling..."); 
      int cycling = int.Parse(Console.ReadLine()); 
//perform calculations 

      TimeSpan cTime = TimeSpan.FromHours(cycling); 
      string fromTimeString = cTime.ToString("hh':'mm"); 
//output results 
      Console.WriteLine("cycling {0}", cTime); 

      Console.ReadLine(); 
     } 

這只是我嘗試過的很多方法之一,謝謝你的幫助:)

+1

難道你不想寫「FromMinutes」嗎? –

+1

謝謝,我剛剛看到這個我的自我,這樣一個愚蠢的錯誤 – Nathanhall

回答

1

只是需要一些小調整:

//input data 
     Console.Write("Number of Minutes spent Cycling..."); 
     int cycling = int.Parse(Console.ReadLine()); 
//perform calculations 

     TimeSpan cTime = TimeSpan.FromMinutes(cycling); 
     string fromTimeString = cTime.ToString("h\\:mm"); 
//output results 
     Console.WriteLine("cycling {0}", fromTimeString); 

     Console.ReadLine(); 

所以基本上改變fromHoursfromMinutes根據本文檔適合您的輸入和修復您的格式字符串:https://msdn.microsoft.com/en-us/library/ee372287(v=vs.110).aspx 我改變hh:mmh:mm,因爲你可能不要我們不想在幾個小時內領先零。

當然還有打印輸出的小語法缺陷,您使用cTime而不是您準備好的字符串。

+0

謝謝你的回答,我沒有注意到語法錯誤,再次感謝:) – Nathanhall

+0

我也試過有(「h:mm」),我得到了一個崩潰的錯誤,然後我把它改爲(h':'mm) ) – Nathanhall

+0

我的不好...對於':'你需要一個轉義字符......所以它應該是'「h \\:mm」' – SkryptX

1

您正在提示用戶以分鐘輸入時間,之後您嘗試解析的時間爲小時。你應該使用TimeSpan.FromMinutes(循環)。

+1

omg我剛剛看到這個我的自我,愚蠢的錯誤謝謝你 – Nathanhall

+0

你知道我是否可以刪除秒部分? – Nathanhall