2010-05-16 194 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