2015-06-02 4 views
-1

Я уже создал список массивов, мне было интересно, как вы можете добавить int в список массивов. Моя программа в netbeans, поэтому ther является кнопкой для добавления int. My textInput box называется studentMarksInput, а имя кнопки добавления - addButton.Добавление int в массивList

public class Adam_Ding_Student_Mark extends javax.swing.JFrame { 

    static ArrayList arrayA = new ArrayList(); 

    public Adam_Ding_Student_Mark() { 
     initComponents(); 
} 


// <editor-fold defaultstate="collapsed" desc="Generated Code">       
private void initComponents() { 

    jLabel1 = new javax.swing.JLabel(); 
    jLabel2 = new javax.swing.JLabel(); 
    studentMarksInput = new javax.swing.JTextField(); 
    addButton = new javax.swing.JButton(); 
    jScrollPane1 = new javax.swing.JScrollPane(); 
    studentMarksDisplay = new javax.swing.JTextArea(); 
    jScrollPane2 = new javax.swing.JScrollPane(); 
    studentMarksAnalysis = new javax.swing.JTextArea(); 
    sortButton = new javax.swing.JButton(); 
    analysisButton = new javax.swing.JButton(); 

    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); 

    jLabel1.setText("Marks Program"); 

    jLabel2.setText("Student Mark"); 

    addButton.setText("Add"); 
    addButton.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      addButtonActionPerformed(evt); 
     } 
    }); 

    studentMarksDisplay.setColumns(20); 
    studentMarksDisplay.setRows(5); 
    jScrollPane1.setViewportView(studentMarksDisplay); 

    studentMarksAnalysis.setColumns(20); 
    studentMarksAnalysis.setRows(5); 
    jScrollPane2.setViewportView(studentMarksAnalysis); 

    sortButton.setText("jButton1"); 

    analysisButton.setText("jButton2"); 

    javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); 
    getContentPane().setLayout(layout); 
    layout.setHorizontalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(layout.createSequentialGroup() 
      .addGap(93, 93, 93) 
      .addComponent(sortButton) 
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) 
      .addComponent(analysisButton) 
      .addGap(250, 250, 250)) 
     .addGroup(layout.createSequentialGroup() 
      .addGap(313, 313, 313) 
      .addComponent(jLabel1) 
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) 
     .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup() 
      .addContainerGap(85, Short.MAX_VALUE) 
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(layout.createSequentialGroup() 
        .addComponent(jLabel2) 
        .addGap(52, 52, 52) 
        .addComponent(studentMarksInput, javax.swing.GroupLayout.PREFERRED_SIZE, 155, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addGap(79, 79, 79) 
        .addComponent(addButton)) 
       .addGroup(layout.createSequentialGroup() 
        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
        .addGap(118, 118, 118) 
        .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))) 
      .addGap(212, 212, 212)) 
    ); 
    layout.setVerticalGroup(
     layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
     .addGroup(layout.createSequentialGroup() 
      .addGap(20, 20, 20) 
      .addComponent(jLabel1) 
      .addGap(26, 26, 26) 
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
       .addComponent(jLabel2) 
       .addComponent(studentMarksInput, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) 
       .addComponent(addButton)) 
      .addGap(13, 13, 13) 
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) 
       .addGroup(layout.createSequentialGroup() 
        .addGap(26, 26, 26) 
        .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 231, javax.swing.GroupLayout.PREFERRED_SIZE)) 
       .addGroup(layout.createSequentialGroup() 
        .addGap(18, 18, 18) 
        .addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 239, javax.swing.GroupLayout.PREFERRED_SIZE))) 
      .addGap(37, 37, 37) 
      .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) 
       .addComponent(sortButton) 
       .addComponent(analysisButton)) 
      .addContainerGap(58, Short.MAX_VALUE)) 
    ); 

    pack(); 
}// </editor-fold>       

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {           


}           

/** 
* @param args the command line arguments 
*/ 
public static void main(String args[]) { 
    /* Set the Nimbus look and feel */ 
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) "> 
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
    * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
    */ 
    try { 
     for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { 
      if ("Nimbus".equals(info.getName())) { 
       javax.swing.UIManager.setLookAndFeel(info.getClassName()); 
       break; 
      } 
     } 
    } catch (ClassNotFoundException ex) { 
     java.util.logging.Logger.getLogger(Adam_Ding_Student_Mark.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (InstantiationException ex) { 
     java.util.logging.Logger.getLogger(Adam_Ding_Student_Mark.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (IllegalAccessException ex) { 
     java.util.logging.Logger.getLogger(Adam_Ding_Student_Mark.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } catch (javax.swing.UnsupportedLookAndFeelException ex) { 
     java.util.logging.Logger.getLogger(Adam_Ding_Student_Mark.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); 
    } 
    //</editor-fold> 

    /* Create and display the form */ 
    java.awt.EventQueue.invokeLater(new Runnable() { 
     public void run() { 
      new Adam_Ding_Student_Mark().setVisible(true); 
     } 
    }); 
} 
+0

Добавьте кнопку действия к кнопке. – markspace

+0

Убедитесь, что 'ArrayList' не является общим, но содержит только' Integer'. т.е.: 'ArrayList '. Обратите внимание, что примитивный тип 'int' здесь нельзя использовать. – GiantTree

ответ

-1

определить свой список, как

List<Integer> arrayA = new ArrayList<Integer>() 

Затем на функцию addButtonActionPerformed добавить следующие строки

arrayA.add(Integer.valueOf(studentMarksInput.getText())) 
+0

Это может быть, но это только потому, что 'arrayA' является сырым типом. Огонь и сера ожидают, если вы ожидаете 'Integer' в этом списке. –

+0

Может кто-нибудь объяснить downvote? –

+0

Пожар и сера .. –

1

Вы не можете добавить примитивный int в список. В список можно добавить только объекты. Преобразование примитивную int на объект и добавить его в список с помощью:

Integer integer = Integer.valueOf(studentMarksInput.getText()); 
arrayA.add(integer); 
0

Если это строка, разобрать целое с помощью класса Integer

https://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String)

Кроме того, вы должны использовать Целочисленный класс (это объект) вместо примитива (int)

List<Integer> myList = new ArrayList<Integer>(); 
myList.add(Integer.parseInt("5")); 
myList.add(Integer.valueOf(5)); 
myList.add((Integer)5); 
1

Следующий код добавит только числовые значения в ваш список o по умолчанию он просто распечатает сообщение:

List<Integer> arrayA = new ArrayList<Integer>(); 

     try{ 
     arrayA.add(Integer.parseInt(studentMarksInput.getText())); 
     }catch (NumberFormatException e){   
     System.out.println("Error parsing input "+studentMarksInput.getText()); 
     } 
0

По умолчанию примитивы пытаются преобразовать их в соответствующий класс-оболочку при добавлении в коллекцию. Итак, здесь int будет передан Integer.