2015-06-20 78 views
0

我正在瀏覽我的Java教科書,出於某種原因,我無法編譯以下代碼。無法使用掃描器類獲取輸入

import java.util.*; 
public class ComputeAreaWConsoleInput 
{ 

    public static void main (String [] args) 
    { 
    //Create Scanner Obj 
    Scanner sc = New Scanner(System.in); 

    //Get Radius 
    System.out.print("Please Enter the Radius: "); 
    double radius = sc.nextdouble(); 
    //determine area 
    double area = 3.14159 * radius * radius; 
    //display results 
    System.out.println("The Area of the Circle w/ radius(" + radius +") is: " 
    + area); 
    } 
} 

我收到以下錯誤:

/tmp/java_H98cOI/ComputeAreaWConsoleInput.java:8: error: ';' expected 
    Scanner sc = New Scanner(System.in); 
       ^
1 error 

什麼應做編譯代碼?

+0

'新的掃描儀( - >新Scanner','sc.nextDouble() - > sc.nextDouble()' – Alp

+0

我發佈工作版本作爲答案夥伴。還添加了sc.close()=] – Alp

+0

Java區分大小寫,'nextdouble'!='nextDouble'。 「新」和「新」一樣。 – Pshemo

回答

1

你寫的:

New Scanner(System.in); 

NNew是資本。

實際的關鍵字是new而不是New

解決方法:

更改您的代碼行:

new Scanner(System.in); 

而且,還有另一個錯誤。

它應該是:

sc.nextDouble(); // with 'D' capital 

sc.nextdouble(); 
+0

哇謝謝你修理我愚蠢的傢伙!謝謝! – Parth

+0

你犯了另一個錯誤。我也提到過。如果您滿意,請接受答案。 –

1

兩處更改程序。

變動的新到new.Change線

Scanner sc = New Scanner(System.in); 

Scanner sc = new Scanner(System.in); 

,並在程序中的其他錯誤是掃描兩倍。請更改雙待Double.So下面的線

double radius = sc.nextdouble(); 

改變

double radius = sc.nextDouble(); 

應該做工精細!

1

見我的評論:這是你的代碼的固定版本:)

public static void main (String [] 
{ 
//Create Scanner Obj 
Scanner sc = new Scanner(System.in); 

//Get Radius 
System.out.print("Please Enter the Radius: "); 
double radius = sc.nextDouble(); 
//determine area 
double area = 3.14159 * radius * radius; 
//display results 
System.out.println("The Area of the Circle w/ radius(" + radius +") is: " + area); 
sc.close(); // DO NOT forget this 
} 
+0

爲什麼我需要關閉掃描儀? – Parth

+0

查看[Scanner class API from oracle](http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html) – Alp

+0

@Ziggy,這就是爲什麼您必須始終關閉'Scanner '實例。閱讀關於'close()'方法。 http://docs.oracle.com/javase/6/docs/api/java/util/Scanner。來自同一頁面的html#close%28%29 –