2015-10-09 1 views
0

J'ai le code pour continuer et obtenir min de StringTokenizer mais le résultat est min = 999999.Min de StringTokenizer est erreur?

public static double minStringTokenizer(StringTokenizer stz) { 
    double min = 999999; 
    while (stz.hasMoreTokens()) { 
     String temp1 = stz.nextToken(); 
     double temp2 = Double.parseDouble(temp1); 
     if (min > temp2) { 
      min = temp2; 
     } 
    } 
    return min; 
} 
+1

Quelle est votre contribution? Peut-être que c'est vide. – Tunaki

+0

Ou chaque valeur est supérieure à 999999? –

+0

mon entrée est stz = new Stringtokenizer ("111 333 42 43", ""); mais résultat toujours 999999 –

Répondre

0

est-ce que cela fonctionne pour vous?

public class Main { 

    public static void main(String[] args) throws Exception { 

     System.out.println(minStringTokenizer(new StringTokenizer("1,2,99,-3,4,888,-1",","))); 
     System.out.println(minStringTokenizer(new StringTokenizer("1199999999999,99999999999",","))); 
     System.out.println(minStringTokenizer(new StringTokenizer("5,4,3,2",","))); 

     //throws err 
     //System.out.println(minStringTokenizer(new StringTokenizer("5xxx,4,3,2",","))); 
    } 

    public static double minStringTokenizer(StringTokenizer stz) { 

     if(stz==null || !stz.hasMoreTokens()) { 
      throw new IllegalArgumentException("stz may not be null or empty"); 
     } 

     double min = Double.MAX_VALUE; 
     while (stz.hasMoreTokens()) { 
      String temp1 = stz.nextToken(); 
      double temp2 = Double.parseDouble(temp1); 
      min = Math.min(min, temp2); 
     } 
     return min; 
    } 
}