2014-09-03 58 views
-1

我試圖做一個程序,搜索一個隨機數,但我有其他方法導入「a」變量的問題。如果我能得到一些解釋,我會很高興。我已經試圖讓靜態變量,但不起作用在其他方法中使用局部變量?

import java.util.Random; 

public class verschlüsselung { 

    private static void nummber(int a) { 
     Random r = new Random(); 
     a = r.nextInt(999); 
     System.out.println(a); 
    } 

    private static void search(int b) { 
     b = 0; 
     if(b =! a) { 
      for(b = 1; b =! a ; b++) { 
       if(b == a) { 
        System.out.println("found the number " + b); 
       } 
      } 
     } 
    } 

    public static void main(String args[]){ 
     nummber(0); 
     search(0); 
    } 
} 
+0

'b =!一個'好吧,但當b == a它不會執行循環的邏輯此外使編號返回類型int返回生成的隨機數並將其傳遞給搜索 – SparkOn 2014-09-03 16:14:17

+1

搜索(int b)如何知道一個? – 2014-09-03 16:14:24

+3

首先,當你做的第一件事是不使用你給他們的價值而改變價值時,你爲什麼要將參數發送到方法中?其次,如果你想要一個變量被多個方法訪問,可以在方法之外聲明它作爲一個類變量。另一個選擇是讓你的方法返回你想要的類型的變量。 – csmckelvey 2014-09-03 16:14:28

回答

-1

願這可以幫助您:

private static int nummber(int a){ 

    Random r = new Random(); 

    a =r.nextInt(999); 

    System.out.println(a); 

    return a; 
} 



private static void search(int b, int a){ 

    b = 0; 

    if(b =! a){ 

     for(b =1; b =! a ; b++){ 

      if(b == a){ 

       System.out.println("found the number " + b); 

      } 

     } 

    } 

} 


public static void main(String args[]){ 

    int a = nummber(0); 
    search(0, a); 


} 
+0

不要只是發佈代碼。解釋你做了什麼,爲什麼它能解決OP的問題。 – csmckelvey 2014-09-03 16:18:15

+0

這將搜索其他「a」 – Amir009 2014-09-03 16:18:38

0

有作爲其他方法使用的局部變量沒有這樣的事情。
您可以從一種方法返回變量。從其他方面調用此方法並獲取該變量。

0

聲明變量'a'爲靜態並刪除在nummber() 函數中傳遞的參數'a'。該函數不需要任何輸入,因爲它將隨機數的值賦給方法search()中訪問的全局靜態變量'a'。

您的聲明和方法簽名應爲:

private static int a; private static void nummber(){...}

相關問題