2014-09-03 77 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(){...}

相关问题