2010-05-16 5 views
-3
import java.util.Scanner; 

import java.lang.String; 

public class SA3 

{ 

    public static void main(String[] args) 
    { 


     Scanner scan = new Scanner(System.in); 

     System.out.print("Enter student record : "); 

     String scores = scan.nextLine(); 

     String[] StringOfMarks = scores.split(","); 
     double[] Marks = new double[StringOfMarks.length]; 


     for(double i = 0; i < StringOfMarks.length; i++) 
     { 
      Marks[i] = StringOfMarks[i]; 
     } 
     } 

} 
+1

WM, après votre modification, il ne compile pas. – Oak

+0

S'il vous plaît éditer cela afin qu'il compile même - je peux voir deux façons, il ne regarde pas seulement. Ensuite, ajoutez une description plus claire de l'erreur. Ensuite, vous aurez une réponse. –

+0

J'espère que c'est mieux –

Répondre

0

Ceci convertit un seul élément de tableau, pas un tableau entier.

En outre, quel est le type de Marks? Si ce n'est pas double[] vous risquez de voir cette "perte de précision" d'avertissement.

+0

c'est double .. –

+0

@WM: dans ce cas nous avons vraiment besoin d'un SSCCE (http://sscce.org/) ou au moins d'un peu plus de code. – Oak

0

Ceci ne devrait pas affecter la précision de vos doubles tant qu'il correspond au type Java double. Vous devez également garder à l'esprit que toute valeur de double ne peut pas être représentée.

5

Modifier la dernière partie de votre code dans

for(int i = 0; i < StringOfMarks.length; i++) 
{ 
    Marks[i] = Double.parseDouble(StringOfMarks[i]); 
} 

Vous devez utiliser une variable typée int pour l'accès à un élément de tableau et ont besoin de lancer la chaîne explicitement en double.

+0

Il vaut également mieux utiliser des noms de variables commençant par une lettre minuscule qui est une convention pour Java. –

Questions connexes