Advertisement
Bitace

mencar x massi e ale

Mar 31st, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.57 KB | None | 0 0
  1. package altre;
  2.  
  3. public class AlessiaeMassi {
  4.    
  5.     public static int[] scanTime (String timeStr){
  6.         char[] timeChar = timeStr.toCharArray();
  7.         int[] time = new int[3];
  8.         String temp = "";
  9.         int cont = 0;
  10.        
  11.         if (timeStr == ""){
  12.             return time;
  13.         }
  14.        
  15.         for(int i = 0; i<timeChar.length; i++){
  16.             if (timeChar[i] != ':'){
  17.                 temp += timeChar[i];
  18.             } else {
  19.                 time[cont] = Integer.parseInt(temp);
  20.                 temp = "";
  21.                 cont++;
  22.             }
  23.         }
  24.         time[cont] = Integer.parseInt(temp);
  25.         return time;
  26.     }
  27.    
  28.     public static int toSeconds(int hour, int min, int sec){
  29.         assert min < 60;
  30.         assert sec < 60;
  31.         return sec + min*60 + hour*3600;
  32.     }
  33.    
  34.     public static int[] toHMS(int secs){
  35.         int[] ris = new int[3];
  36.        
  37.         while (secs > 3600){
  38.             secs -= 3600;
  39.             ris[0]++;
  40.         }
  41.        
  42.         while (secs > 60){
  43.             secs -= 60;
  44.             ris[1]++;
  45.         }
  46.        
  47.         ris[2] = secs;
  48.         assert ris[1] < 60;
  49.         assert ris[2] < 60;
  50.         return ris;
  51.     }
  52.    
  53.    
  54.     /**
  55.      * @param args the command line arguments
  56.      */
  57.     public static void main(String[] args) {
  58.         if (args.length < 2){
  59.             int[] tempo = scanTime(args[0]);
  60.             System.out.println("il tempo calcolato in secondi รจ : " + toSeconds(tempo[0], tempo[1], tempo[2]));
  61.         } else {
  62.             System.out.println("Formato degli argomenti errato.");
  63.         }
  64.     }
  65.    
  66. }
  67.  
  68.  
  69. //---JUNIT---
  70.  
  71. package altre;
  72.  
  73. import junit.framework.TestCase;
  74.  
  75. public class AlessiaeMassiTest extends TestCase {
  76.    
  77.     public void testscanTime(){
  78.         String[] casiditest = {
  79.                 "",
  80.                 "00:00:00",
  81.                 "0:0:0",
  82.                 "1:2:3",
  83.                 "01:02:03",
  84.                 "11:22:33"
  85.         };
  86.         int[][] risAttesi = {
  87.                 {0,0,0},
  88.                 {0,0,0},
  89.                 {0,0,0},
  90.                 {1,2,3},
  91.                 {1,2,3},
  92.                 {11,22,33},
  93.         };
  94.         for(int i = 0; i < casiditest.length; i++){
  95.             assertEquals("errore scanTime - " + i, AlessiaeMassi.scanTime(casiditest[i])[0], risAttesi[i][0]);
  96.             assertEquals("errore scanTime - " + i, AlessiaeMassi.scanTime(casiditest[i])[1], risAttesi[i][1]);
  97.             assertEquals("errore scanTime - " + i, AlessiaeMassi.scanTime(casiditest[i])[2], risAttesi[i][2]);
  98.         }
  99.     }
  100.    
  101.     public void testtoSeconds(){
  102.         int[][] prove = {
  103.                 {0,0,0},
  104.                 {99,59,59},
  105.                 {1,2,3},
  106.                 {01,02,03},
  107.                 {11,22,33},
  108.         };
  109.         int[] attesi = {
  110.                 0,
  111.                 359999,
  112.                 3723,
  113.                 3723,
  114.                 40953
  115.         };
  116.         for(int i = 0; i < prove.length; i++){
  117.             assertTrue("errore toSeconds - " + i, AlessiaeMassi.toSeconds(prove[i][0], prove[i][1], prove[i][2]) == attesi[i]);
  118.         }
  119.        
  120.     }
  121.  
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement