2013-05-17 78 views
1

這裏傳遞一個掃描對象作爲參數是我寫的,這是非常基本的:基本語法,用於在功能

import java.util.Scanner; 

public class Projet { 

    /** 
    * @param args 
    * @param Scanner 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     System.out.println("Enter a digit"); 
     Scanner in = new Scanner(System.in); 
     getChoice(Scanner); 
     in.close(); 
    } 

    public static int getChoice(Scanner n){ 
     n = in.nextInt(); 
     return n; 
    } 
} 

出了什麼錯在這裏?我讓它工作得更早,我必須通過掃描器類型參數名稱作爲函數的參數...並簡單地調用該函數主要使用掃描器類型和參數作爲函數的參數?

----- -----編輯

新代碼下面的下面,將需要它:

import java.util.Scanner; 

public class Projet { 

    /** 
    * @param args 
    * @param Scanner 
    */ 
    public static void main(String[] args) { 
     // TODO Auto-generated method stub 
     System.out.println("Enter a digit"); 
     Scanner in = new Scanner(System.in); 
     System.out.println(getChoice(in)); 
     in.close(); 
    } 

    public static int getChoice(Scanner in){ 
     return in.nextInt(); 
    } 
} 

@rgettman謝謝!

回答

2

當您調用該方法時,您需要傳遞實際變量名稱in,而不是類名稱Scanner

getChoice(in); 

代替

getChoice(Scanner); 

順便說一句,你getChoice方法將無法編譯,如圖所示。剛剛返回的內容掃描儀的回報,這是一個int,因爲你宣佈getChoice返回一個int

​​
+0

爲什麼你能不能做到'INT N = in.nextInt()'?或者是因爲他沒有將'n'聲明爲Integer? – Thomas