2015-05-12 64 views
0

我想要一個字符串元素打印到數組中的1個點,但每次執行時都佔用所有(5)個空格。最後,我想獲得一個JButton的字符串值分配給strArray [A]空間,出現在一個JTextArea將字符串元素添加到Array Java

代碼:

class Listener1 implements ActionListener{ 
     public void actionPerformed (ActionEvent e){ 

      for(int a = 0; a<strArray.length; a++){ 
       strArray[a] = ""; 
       if(e.getSource() == coke){ 
        total += 1.5; 
        strArray[a] = "Coke"; 
        System.out.println(strArray[a]); 


        orderArea.setText(strArray1); 

       } else if(e.getSource() ==milk){ 
        total += 1.00; 
        String milk1 = "Milk - $1.00"; 
        System.out.println(milk1); 
        strArray[a] = milk1; 
        orderArea.setText(strArray1); 

       } 
      } 

     } 

這裏是打印結果:

可樂可樂 可樂 可樂 可樂 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝

這裏是我想要的結果:

可樂 牛奶 - $ 1.00包裝

+0

你必須要成爲一個更具體一點關於數組應該包含你的聽衆已經擊發之後和它實際上包含代替。你能否提供數組內容的打印輸出,看起來應該是什麼樣的? – Raniz

+0

什麼是打印出來:可樂 可樂 可樂 可樂 可樂 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝 牛奶 - $ 1.00包裝 它應該是什麼樣子: 可樂 牛奶 - $ 1.00包裝 – TPC4589

+0

使用「編輯」按鈕將其添加到您的問題。你也應該告訴我們預期的結果是什麼。 – Raniz

回答

0

假設你想,如果條件滿足時退出循環一旦這兩個中的一個。只需使用break;

class Listener1 implements ActionListener{ 
     public void actionPerformed (ActionEvent e){ 

      for(int a = 0; a<strArray.length; a++){ 
       strArray[a] = ""; 
       if(e.getSource() == coke){ 
        total += 1.5; 
        strArray[a] = "Coke"; 
        System.out.println(strArray[a]); 
        orderArea.setText(strArray1); 
        break; 

       } else if(e.getSource() ==milk){ 
        total += 1.00; 
        String milk1 = "Milk - $1.00"; 
        System.out.println(milk1); 
        strArray[a] = milk1; 
        orderArea.setText(strArray1); 
        break; 
       } 
      } 

     } 
+0

增加了休息,它的工作表示感謝! – TPC4589

+0

我的下一個問題是現在我可以分配單獨的元素,我如何獲得所有元素打印到JTextArea,當我點擊按鈕項目出現在JTextArea中,但一旦我點擊另一個按鈕被替換 – TPC4589