2016-11-18 76 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 
     } 
    } 
}