2010-05-16 114 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,编辑后不编译。 – Oak 2010-05-16 18:33:50

+0

请编辑它,以便编译 - 我可以看到它不只是看它的两种方式。然后添加一个更清楚的错误说明。然后你会得到一个答案。 – 2010-05-16 18:59:02

+0

我希望这是更好的 – 2010-05-16 19:02:09

回答

0

这将转换单个数组元素,而不是整个数组。

另外,什么是Marks的类型?如果不是double[],您可能会看到“精度损失”警告。

+0

它是双.. – 2010-05-16 18:37:17

+0

@WM:在这种情况下,我们确实需要一个SSCCE(http://sscce.org/)或至少一些更多的代码。 – Oak 2010-05-16 18:52:19

0

只要符合Java双重类型,这应该不会影响双精度。你也应该记住,并不是每一个双值都可以表示出来。

5

更改代码的最后一部分成

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

你需要使用数组元素访问一个int类型的变量,需要显式转换字符串为双。

+0

还更好地使用以小写字母开头的变量名称,这是Java的惯例。 – 2010-05-16 19:28:49

相关问题