Toggle Theme Editor
Slate Blueberry Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Charcoal

[ Help ] Giao Diện Đồ Họa Nhập Xuất Mảng và tính tổng , sắp xếp

Discussion in 'Xây dựng ứng dụng desktop standalone' started by TamGa, 3/6/12.

  1. TamGa

    TamGa New Member

    Mình vừa code xong cái giao diện đồ họa có hình như sau :

    [​IMG]

    Yêu cầu là bạn nhập số phần tử , sau đó bạn Nhập Phần Tử , nhấp nút nhập nó sẽ đưa vào Mảng Đã Nhập

    vd :
    Nhập số phần tử : 3
    Nhập phần tử : 1 -> Nhấn nút Nhập
    Mãng đã nhập : 1
    Nhập phần tử : 2 -> Nhấn nút Nhập
    Mãng đã nhập : 1 2

    Mọi người hiểu ý đề bài chưa ? Sau đó tính tổng và sắp xếp .
    Cái quan trọng là mình chưa hình dung được cái code trong phần public void actionPerformed(ActionEvent nut)

    và đây là code mẫu về giao diện của mình

    PHP:
    /*
    TamGa
    www.tamga.tk  www.c10mt.tk    www.c10maytinh.tk
    Phone: 01283.98.69.98    Email : tamgaalbum@yahoo.com

    Bai tap : Thiet Ke Giao Dien Do Hoa
                Nhap & Sap Xep & tinh Tong Mang

    */

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;

    public class 
    DoHoaMang extends JFrame  implements ActionListener
    {
        
    Integer s1,s2,s;
        
    int[]    a=new int[20];
     
        
    JLabel tieude=new JLabel();
        
    JLabel gioithieu=new JLabel();
        
    JLabel nhapsomang=new JLabel();
        
    JLabel nhapptmang=new JLabel();
        
    JLabel xuatmang=new JLabel();
        
    JLabel tong=new JLabel();
        
    JLabel sapxep=new JLabel();

        
    JTextField khungsomang=new JTextField();
        
    JTextField khungptmang=new JTextField();
        
    JTextField khungxuatmang=new JTextField();
        
    JTextField khungtong=new JTextField();
        
    JTextField khungsapxep=new JTextField();

        
    JButton btnhap=new JButton();
        
    JButton btthuchien=new JButton();
        
    JButton bttieptuc=new JButton();
        
    JButton btthoat=new JButton();

        public 
    DoHoaMang()
        {
            
    this.getContentPane().setLayout(null);
            
    tieude.setBackground(Color.cyan);
            
    tieude.setOpaque(true);
            
    tieude.setBounds(new Rectangle(180,20,140,30));
            
    tieude.setText(" Chuong Trinh Tinh Mang");
            
    this.getContentPane().add(tieude);

            
    gioithieu.setBounds(new Rectangle(210,50,140,30));
            
    gioithieu.setText("www.tamga.tk");
            
    this.getContentPane().add(gioithieu);

            
    //----- nhap so phan tu -------    www.tamga.tk
            
    nhapsomang.setBounds(new Rectangle(50,80,140,30));
            
    nhapsomang.setText("Nhap so phan tu :");
            
    this.getContentPane().add(nhapsomang);

            
    khungsomang.setBounds(new Rectangle(150,80,40,25));
            
    this.getContentPane().add(khungsomang);

            
    //----- Nhap phan tu -------    www.tamga.tk
            
    nhapptmang.setBounds(new Rectangle(210,80,140,30));
            
    nhapptmang.setText("Nhap phan tu :");
            
    this.getContentPane().add(nhapptmang);

            
    khungptmang.setBounds(new Rectangle(300,80,40,25));
            
    this.getContentPane().add(khungptmang);
     
            
    //----- Mang da nhap -------    www.tamga.tk
            
    xuatmang.setBounds(new Rectangle(50,120,140,30));
            
    xuatmang.setText("Mang da nhap :");
            
    this.getContentPane().add(xuatmang);

            
    khungxuatmang.setBounds(new Rectangle(150,120,190,25));
            
    this.getContentPane().add(khungxuatmang);

            
    //----- Tinh tong -------    www.tamga.tk
            
    tong.setBounds(new Rectangle(50,160,140,30));
            
    tong.setText("Tinh tong :");
            
    this.getContentPane().add(tong);

            
    khungtong.setBounds(new Rectangle(150,160,40,25));
            
    this.getContentPane().add(khungtong);

            
    // -------Sap xep -------    www.tamga.tk

            
    sapxep.setBounds(new Rectangle(50,200,140,30));
            
    sapxep.setText("Sap Xep");
            
    this.getContentPane().add(sapxep);
            
    khungsapxep.setBounds(new Rectangle(150,200,190,25));
            
    this.getContentPane().add(khungsapxep);

            
    //  ------- Button-------    www.tamga.tk

            
    btnhap.setBounds(new Rectangle(350,80,90,30));
            
    btnhap.setText("Nhap");
            
    this.getContentPane().add(btnhap);
            
    btnhap.addActionListener(this);

            
    btthuchien.setBounds(new Rectangle(350,120,90,30));
            
    btthuchien.setText("Thuc hien");
            
    this.getContentPane().add(btthuchien);
            
    btthuchien.addActionListener(this);

            
    bttieptuc.setBounds(new Rectangle(350,160,90,30));
            
    bttieptuc.setText("Tiep Tuc");
            
    this.getContentPane().add(bttieptuc);

            
    btthoat.setBounds(new Rectangle(350,200,90,30));
            
    btthoat.setText("Thoat");
            
    this.getContentPane().add(btthoat);
            
    btthoat.addActionListener(this);
        }
     
        public 
    void actionPerformed(ActionEvent nut)
        {
            if(
    nut.getSource()==btnhap)
            {

            }

            else if(
    nut.getSource()==bttieptuc)
                {
                    
    khungsomang.setText("");
                    
    khungptmang.setText("");
                    
    khungxuatmang.setText("");
                    
    khungtong.setText("");
                    
    khungsapxep.setText("");
                }
            else
                {
                    
    System.exit(0);
                    
    this.dispose();
                }
        }

        public static 
    void main(String[] args)
          {
              
    DoHoaMang f=new DoHoaMang();
            
    f.setSize(500,300);
            
    f.show();
        }
    }

     
  2. TamGa

    TamGa New Member

    Tham khảo thêm bài mà mình làm ko có phần đồ họa

    PHP:
    // TamGa www.tamga.tk  www.c10mt.tk  www.c10maytinh.tk

    import java.io.*;
    public class 
    tamgaalbum
    {
        static 
    int n;
        public static 
    void nhap(int a[]) throws IOException
        
    {
            
    BufferedReader d=new BufferedReader(new InputStreamReader(System.in));
            
    System.out.print("Nhap so phan tu Mang: ");
            
    String s=d.readLine();
            
    n=Integer.parseInt(s);
            
    System.out.println("Mang vua nhap la: "+n);

            for (
    int i=0;i<n;i++)
            {
                
    System.out.print("a["+i+"]: ");
                
    s=d.readLine();
                
    a[i]=Integer.parseInt(s);
            }
        }

        public static 
    void xuat(int a[])
        {
            
    System.out.print("So phan tu mang: ");
            for(
    int i=0;i<n;i++)
            
    System.out.print(" " +a[i]);
        }
    }
     
  3. phuongnm

    phuongnm Online Support Staff Member

    Bước 1 : nhập số phần tử + nhập phần tử => click button "Nhập":
    - Bạn cho disable cái số phần tử đó đi, để tránh nhập lại số phần tử. số phần tử chỉ cho nhập lần đầu khi chạy?
    - Khai báo 1 mảng với số phần tử mảng = [textbox số phần tử mảng]
    - Bắt sự kiện Click button nhập, bạn gettext() của ô nhập phần tử.
    - Cộng dồn cái số lấy được đó vô 1 biến String rồi dùng phương thức settext cho cái ô textbox "Mang da nhap"
    - Add cái số lấy được đó vào mảng khai báo ở trên (convert qua kiểu int nhá để sau nì tính tổng).
    Bước 2 : Bắt sự kiện button "Thuc hien"
    - lặp qua mảng ở trên sau khi đã add phần tử rồi tiến hành + dồn các phần tử từ vị trí 0 đến mảng.Length
    - dùng phương thức settext để đưa vào ô textbox của thằng tổng nhá.
    Bước 3 : sắp xếp mảng thì dùng hàm này cho sự kiện của button cuối cùng
    PHP:
            int arr[] = new int["so phan tu cua mảng"];
            
    //Sắp xếp lại mảng lộn xộn :)
            
    int temp 0;
            
    String sapxep "";
                for(
    int i 0arr.lengthi++) {
                    for(
    int j 0<= ij++) {
                        if(
    arr[j] > arr[i]) {
                            
    temp arr[i];
                            
    arr[i] = arr[j];
                            
    arr[j] = temp;
                        }
                    }
                }
                
    // for qua mảng lấy được sau khi sắp xếp để đưa vào biến String sapxep
                
    for(int i=0;i<arr.length i++){
                    
    sapxep += " "+arr[i];
                }
                
    // Fill lên ô textbox sắp xếp nhé :)
                
    txtKqSapxep.settext(sapxep);
            }
    Happy Codding
     
  4. TamGa

    TamGa New Member

    bạn cho mình hỏi thêm tí , mình dùng vòng lặp for hay while trong điều kiện trên. Tại vì vòng lặp for mình vẫn chưa cho nó cố định được số phần tử mảng.

    Khi mình nhập số mảng thì ở khung xuất mảng nó đã hiển thị , nhưng không cộng dồn được
     
  5. phuongnm

    phuongnm Online Support Staff Member

    Sao lại không được nhỉ, Bạn viết riêng hàm trên ra
    vd: sapxep(int soptMang)
    rồi khi có sự kiện Click của button "TiepTuc" bạn truyền dọi hàm hàm sắp xếp trên với parameter truyền vào là cái số get được của ô textbox đầu tiên, vd số get được là sptm. thì ta gọi
    sapxep(sptm)
    xuống dưới bạn khai báo mảng như sau :
    int arr[] = new int[sptm];

     
  6. TamGa

    TamGa New Member

    không biết sai chỗ nào ta

    PHP:
    if(nut.getSource()==btnhap)
            {
                
    n=Integer.parseInt(khungsomang.getText());;
                
    int    a[]=new int[n];
                
    int s2Integer.parseInt(khungptmang.getText()); // nhap phan tu mang

                
    for (int i=0i<ni++);
                {
                    
    a[i]=s2;
                }

                for (
    int i=0i<ni++);
                {
                    
    s=s+" "+s2;
                    
    khungxuatmang.setText(String.valueOf(s));
                }
            }
    Cái này thì mình test thử như sau :

    Nhập số phần tử : 2
    Nhập phần tử : 1 thì ô xuất mãng có 1
    Nhập tiếp theo là 2 thì ô xuất mãng có 2
    Nhập tiếp theo là 3 thì ô xuất mãng lại có 3 , tức là nó chưa giới hạn lại bởi Số Phần Tử ở trên
     
  7. phuongnm

    phuongnm Online Support Staff Member

    Hì ! Bạn làm vậy thì đúng rồi ! bạn setText trong vòng for() nên mỗi lần lặp qua là nó lại set 1 giá trị mới! bạn hãy cộng dồn giá trị vào biến String trong for() rồi ra ngoài bạn mới settext cho nó mới được :D
     
  8. TamGa

    TamGa New Member

    Giờ làm xong phần nhập ,

    PHP:
    if(nut.getSource()==btnhap)
            {
                
    int s2Integer.parseInt(khungptmang.getText());

                if(
    n)
                {
                    
    a[i++] = s2;
                    
    s=this.khungxuatmang.getText() + " " s2;
                    
    this.khungxuatmang.setText(s);

                }
            }
    tính tiếp hàm tính tổng chưa biết ra sao , chả lẻ lấy s=s+a['i] thì nó ko hiểu
     
  9. DucMjnh1992

    DucMjnh1992 Thành viên BQT Staff Member

    Đơn giản là mỗi lần nhập 1 số bạn tính tổng luôn hoặc nhập xong thì duyệt mảng và tính tổng. Tính tổng thì chỉ cần:

    PHP:
    int sum 0;

    for(
    int j a) {
          
    sum += j;
    }
    còn mỗi lần thêm 1 phần tử vào mảng thì sum += s2 luôn cho nhanh :D.
     
  10. TamGa

    TamGa New Member

    nhập xong thì duyệt mảng và tính tổng , ngoài cách viết for trên , mình còn cách lặp for nào khác ko bạn , tại vụ for(int j = 0 : n) này chưa có học
     
  11. DucMjnh1992

    DucMjnh1992 Thành viên BQT Staff Member

    Bạn không biết dùng kiểu đó thì có thể dùng kiểu thông thường for hay while gì cũng được cả ngay cả không dùng vòng lặp cũng được. Mình nghĩ là bạn biết chứ? Bạn thử xem nhé :)

    PHP:
    for(int j 0nj++) {
          
    sum += a[j];
    }
     
    TamGa likes this.
  12. phuongnm

    phuongnm Online Support Staff Member

    for(int j : a) {
    sum += j;
    }

    Đây cũng chỉ là 1 vòng lặp bình thường thôi, chỉ có cách viết khác nhau thôi.
    ở đây là lặp qua mảng a và lấy ra từng phần tử của a rồi gán vào biến j thôi.
    trong còng for ta + dồn biến j đó vào biến sum được khai báo ngoài for.
    Ra khỏi vòng for lấy kết quả ta được tổng.
     
    TamGa likes this.
  13. TamGa

    TamGa New Member

    mình phát hiện ra cái sắp xếp trên của bạn phuongnam trên có vấn đề , mình sửa lại tí thì nó chạy ok rồi

    PHP:
    int temp;
                
    String sapxep "";
                for(
    i=0;i<n;i++)
                {
                    
    khungsapxep.setText(khungsapxep.getText()+" "+String.valueOf(b[i]));
                }

                for(
    int i 0n-1i++)
                    {
                        for(
    int j i+1nj++)
                        {
                            if(
    b[i] > b[j])
                            {
                                
    temp b[i];
                                
    b[i] = b[j];
                                
    b[j] = temp;
                            }
                        }
                    }

                for(
    int i=ii++)
                    {
                        
    sapxep += " "+b[i];
                    }

                
    this.khungsapxep.setText(sapxep);
     
  14. phuongnm

    phuongnm Online Support Staff Member

    có vấn đề chỗ nào nhỉ! nhìn chẳng ra :(
    Hic, support xong bị quay lại đá giò lái, nguy hiểm quá
     
  15. TamGa

    TamGa New Member

    cái sắp xếp đó của bạn nó chỉ chạy ra 0 0 ko à

    Ví dụ dãy mãng như sau : ( đáp án hoàn chỉnh đã giải )

    [​IMG]

    Mình nhập vào 5 phần tử , thì cái code sắp xếp của bạn nó chỉ hiện ra là 5 số không ? 0 0 0 0 0 nên mình thấy là lạ chỗ đó.

    Mình khai thêm một mảng giả là b[] thì lại chạy ok , ko đụng chạm tới mảng a[]
     
  16. phuongnm

    phuongnm Online Support Staff Member

    Mình hiểu vì sao :)
    int arr[] = new int["so phan tu cua mảng"];
    Đây là mình chỉ ví dụ cho việc sắp xếp 1 mảng đã có phần tử trong đó.
    Còn trường hợp của bạn thì arr[] ở đây chính là mảng mà bạn có được ở các bước trên, sau khi đã add phần tử vào.
    Nếu bạn làm y như bài mẫu của mình thì mảng chỉ mới khởi tạo. làm gì có phần tử nào trong đó :(
     
  17. hien25661

    hien25661 New Member

    Trường hợ mảng đã sx thì in ra mẳng này đã sx rồi...
     
  18. TRAN QUOC TRUNG

    TRAN QUOC TRUNG New Member

    anh tamga cho e xin code được không
     
  19. D.A.N_3002

    D.A.N_3002 Active Member

    Code:
    import java.util.ArrayList;
    import javax.swing.JOptionPane;
    public class Array extends javax.swing.JFrame {
        private static ArrayList<Integer> arr = new ArrayList<Integer>();
        private static int Size = 1; // Size của ArrayList
        private static int Sum = 0; // Tổng các phần tử trong ArrayList
        private static int Location = 1; // Vị trí phần tử người dùng nhập
        private static Boolean Check = true; // Check xem đang nhập Size hay phần tử
        public Array() {
            initComponents();
        }
        @SuppressWarnings("unchecked")
        // <editor-fold defaultstate="collapsed" desc="Generated Code">                         
        private void initComponents() {
    
            Input = new javax.swing.JTextField();
            Text = new javax.swing.JLabel();
            Button = new javax.swing.JButton();
            jLabel2 = new javax.swing.JLabel();
            Input_Array = new javax.swing.JLabel();
            jLabel4 = new javax.swing.JLabel();
            Sorf_Array = new javax.swing.JLabel();
            Sum_Text = new javax.swing.JLabel();
            jLabel7 = new javax.swing.JLabel();
    
            setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    
            Input.setFont(new java.awt.Font("Tahoma", 0, 25)); // NOI18N
            Input.setHorizontalAlignment(javax.swing.JTextField.CENTER);
    
            Text.setFont(new java.awt.Font("Arial", 3, 18)); // NOI18N
            Text.setHorizontalAlignment(javax.swing.SwingConstants.RIGHT);
            Text.setText("Nhập số phần tử :");
    
            Button.setFont(new java.awt.Font("Arial", 2, 24)); // NOI18N
            Button.setText("Thêm");
            Button.addActionListener(new java.awt.event.ActionListener() {
                public void actionPerformed(java.awt.event.ActionEvent evt) {
                    ButtonActionPerformed(evt);
                }
            });
    
            jLabel2.setFont(new java.awt.Font("Times New Roman", 0, 24)); // NOI18N
            jLabel2.setText("Mảng đã nhập :");
    
            Input_Array.setFont(new java.awt.Font("Arial", 2, 24)); // NOI18N
    
            jLabel4.setFont(new java.awt.Font("Times New Roman", 0, 24)); // NOI18N
            jLabel4.setText("Mảng sau khi sắp xếp:");
    
            Sorf_Array.setFont(new java.awt.Font("Arial", 2, 24)); // NOI18N
    
            Sum_Text.setFont(new java.awt.Font("Arial", 2, 24)); // NOI18N
    
            jLabel7.setFont(new java.awt.Font("Times New Roman", 0, 24)); // NOI18N
            jLabel7.setText("Tổng :");
    
            javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
            getContentPane().setLayout(layout);
            layout.setHorizontalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addGap(177, 177, 177)
                            .addComponent(Button, javax.swing.GroupLayout.PREFERRED_SIZE, 108, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGroup(layout.createSequentialGroup()
                            .addGap(50, 50, 50)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(Input_Array, javax.swing.GroupLayout.PREFERRED_SIZE, 371, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(Sorf_Array, javax.swing.GroupLayout.PREFERRED_SIZE, 371, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(jLabel7, javax.swing.GroupLayout.PREFERRED_SIZE, 69, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(Sum_Text, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 163, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(jLabel4, javax.swing.GroupLayout.PREFERRED_SIZE, 225, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                            .addGap(37, 37, 37)
                            .addComponent(Text, javax.swing.GroupLayout.PREFERRED_SIZE, 271, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(Input, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(29, 29, 29)))
                    .addContainerGap(77, Short.MAX_VALUE))
            );
            layout.setVerticalGroup(
                layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(27, 27, 27)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(Text, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(Input, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGap(27, 27, 27)
                    .addComponent(Button, javax.swing.GroupLayout.PREFERRED_SIZE, 41, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(18, 18, 18)
                    .addComponent(jLabel2)
                    .addGap(1, 1, 1)
                    .addComponent(Input_Array, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addComponent(jLabel4)
                    .addGap(1, 1, 1)
                    .addComponent(Sorf_Array, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(Sum_Text, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(jLabel7))
                    .addContainerGap(25, Short.MAX_VALUE))
            );
    
            pack();
        }// </editor-fold>                       
    
        private void ButtonActionPerformed(java.awt.event.ActionEvent evt) {                                       
            // Check xem đang nhập Size hay phần tử
            if(Check)
            {
                // Nhập Size
                Add_Size();
            }
            else
            {
                // Nhập phần tử
                Add_Input();
            }
        }                                     
        public static void main(String args[]) {
            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(Array.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (InstantiationException ex) {
                java.util.logging.Logger.getLogger(Array.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (IllegalAccessException ex) {
                java.util.logging.Logger.getLogger(Array.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            } catch (javax.swing.UnsupportedLookAndFeelException ex) {
                java.util.logging.Logger.getLogger(Array.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
            }
            java.awt.EventQueue.invokeLater(new Runnable() {
                public void run() {
                    new Array().setVisible(true);
                }
            });
        }
        public ArrayList Sort(ArrayList<Integer> arr)
        {
            // Sắp xếp mảng theo thứ tự tăng dần   
            // Tạo một ArrayList chứ thông tin từ arr
            ArrayList<Integer> ex = arr;               
            for(int i = 0; i < ex.size(); i++)
            {
                for(int j = i +1; j < ex.size(); j++)
                {
                    if(ex.get(i) < ex.get(j))
                    {
                        int Extra = ex.get(j);
                        ex.set(j, ex.get(i));
                        ex.set(i, Extra);
                    }
                }
            }
            return ex;
        }
        public static String To_String(ArrayList arr)
        {
            // Chuyển các phần tử trong ArrayList thành String
            String output = "";
            for(int i = 0; i < arr.size(); i++)
            {
                output += arr.get(i) + " ";
            }
            return output;
        }
        public void Add_Size()
        {
            // Set size cho ArrayList arr       
            Size = Integer.parseInt(Input.getText());
            // Chuyển sang phần thêm phần tử cho ArrayList arr
            Check = false;
            // Cho người dùng nhập phần tử đầu tiên
            Input.setText("");
            Text.setText("Mời bạn nhập phần tử " + Location + " :");
        }
        public void Add_Input()
        {
            // Thêm phần tử vào mảng
            arr.add(Integer.parseInt(Input.getText()));
            // Cộng tổng của các phần tử
            Sum += Integer.parseInt(Input.getText());
            // Show Output
            Input_Array.setText(To_String(arr));
            Sum_Text.setText(Sum + "");
            Sorf_Array.setText(To_String(Sort(arr)));
            // Kiểm tra xem đã nhập đủ phần tử chưa
            if(Location == Size)
            {
                // Thông báo là đã nhập đủ số phần tử
                Button.setEnabled(false);
                Text.setText("");
                JOptionPane.showMessageDialog(null, "Done");
            }
            else
            {
                // Cho người dùng nhập phần tử tiếp theo
                Location += 1;
                Input.setText("");
                Text.setText("Mời bạn nhập phần tử " + Location + " :");           
            }               
        }
        // Variables declaration - do not modify                     
        private javax.swing.JButton Button;
        private javax.swing.JTextField Input;
        private javax.swing.JLabel Input_Array;
        private javax.swing.JLabel Sorf_Array;
        private javax.swing.JLabel Sum_Text;
        private javax.swing.JLabel Text;
        private javax.swing.JLabel jLabel2;
        private javax.swing.JLabel jLabel4;
        private javax.swing.JLabel jLabel7;
        // End of variables declaration                   
    }
    
     

Chia sẻ trang này

Loading...