2016-11-18 51 views
0

在我的代码中,我的for循环遍历我的数组list和索引整数。如何从另一个类的for循环使用变量?

我需要从另一个类抓取所述整数的内容来执行一些代码。

for (row = 0; row < myEntries.size(); row++) 

而且从一个按钮在我的其他类中的点击将是:

System.out.println(myEntries.get(row).toString()); 

这将然后打印出某一行我已经指定的内容。

由于我的代码里面一个for循环,我需要从其他类获得行的内容,我怎么会去这样做?

感谢您的帮助,如果您需要我解释更多,请提问并提供。

+1

您必须扩展该类,以便您可以访问扩展类的数据成员。 @ juiceb0xk – PassionInfinite

+0

嗯,这是一个有趣的概念。但是,我的其他类已经扩展了JFrame,我找不到同时扩展JFrame和其他类的方法。 – juiceb0xk

+0

@ juiceb0xk这里是什么[大图](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)?看起来非常可疑,你想在for循环的中间访问另一个类的for循环的索引。你希望通过这个获得什么? – Kayaman

回答

-1

假设你的约束是正确的,你可以在第二类中为第一类创建一个对象,并迭代第一类的数据成员和方法。

+0

我不会有丝毫的关于如何实现这一点,对不起。我只是Java的新手。 – juiceb0xk

0

不只是将整数传递给另一个类,您可以直接将对象引用传递给另一个类。

MyAnotherClass obj = new MyAnotherClass(); 
for (row = 0; row < myEntries.size(); row++) { 
    obj.performSomething(myEntries.get(row)); 
} 

而在你的其他类中,你可以直接使用这个对象的引用,就像下面这样。

void performSomething(MyEntry myEntry) { 
    System.out.println(myEntry.toString()); 
} 

编辑:您可以重写第一个for循环使用增强的像下面循环。

MyAnotherClass obj = new MyAnotherClass(); 
for (MyEntry myEntry : myEntries) { 
    obj.performSomething(myEntry); 
} 
0

你只需要从类中创建一个对象包含“行”变量,里面的其他类。这应该做你的工作:

class myMainClass { 

    ArrayList<Integer> myEntries = new ArrayList<Integer>(); 

    public static void main(String[] args) { 
     myOtherClass obj = new myOtherClass(); 
     // Continue doing your stuff here with obj, like calling obj.f() 
     // 
     System.out.println(myEntries.get(obj.row).toString()); 
    } 
} 

class myOtherClass { 

    int row; 

    public void f() { 
     for (row = 0; row < myEntries.size(); row++) { 
      //Other stuff 
     } 
    } 
}