2014-10-24 2 views
-6

Я считаю, xglobal, к сожалению, я не могу поделиться своим значением с y внутри цикла в другом цикле.Передача переменных через петли

общественного класса А {

static int[] num = {1,4,1}; 
static int x , y; 

public static void main(String[] args) { 

    firstLoop(); 
} 

public static void firstLoop(){ 

    for (A.x = 0; A.x< num.length; A.x++) { 

     System.out.println(" nums : " + num[A.x]); 

       for (A.y = A.x; A.y < num.length;A.y++) { 

        System.out.println(" for2 : " + A.x + " " + A.y);     
       } 
    } 
} 

}

+1

Извините, но я понятия не имею, что вы пытаетесь сделать или что вы, повторно прошу. Пожалуйста, найдите время, чтобы добавить более подробную информацию и конкретный вопрос. Также уделите время форматированию кода (и сделайте ** компилятивный код **), особенно ваши фигурные скобки. – tnw

+1

Почему вы так думаете? И где твой вопрос? – talex

+2

Напишите полный код, чтобы мы могли его скомпилировать. Затем объясните, какую ошибку, исключение или вывод вы получаете, и в чем проблема. Мы не можем помочь, не видя код. –

ответ

0

Когда вы y = x, x это переменная цикла, а не класс один.

Вместо этого вы можете использовать a.x (где a - это имя класса), если вы сделаете x статической переменной.

public class Example { 
    private static int x; 
    public static void access() { 
     for (int x = 0; x < name.len[x]; x++) { 
      for (int y = Example.x; y < text.len[y]; y++) { 

      } 
     } 
    } 
} 
2

Вы можете получить доступ только static значения static метода

enter image description here

Таким образом, вы должны изменить нестатические переменные int x, y к static int x, y или вы можете получить доступ путем создания экземпляра класса, как:

public class B { 

    int x,y; 
    public static void main(String[] args) { 

     B b=new B(); 
     System.out.println(b.x+" "+b.y); 

    } 

} 
Смежные вопросы