Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: Ensimmäinen pariton ja parillinen

JRokka [28.11.2019 16:48:40]

#

Etsitään ensimmäinen parillinen ja pariton luku ArrayLististä. Käyttäjä lisää luvut itse.

Koodi

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

public class Ensimmainen_pariton_parillinen extends JApplet implements ActionListener {
    //Luodaan objektit
    //Rivi 1
    JPanel rivi1 = new JPanel();
    JLabel teksti = new JLabel("0");
    //Rivi 2
    JPanel rivi2 = new JPanel();
    JTextField tlaatikko = new JTextField(10);
    //Rivi 3
    JPanel rivi3 = new JPanel();
    JButton nappain_1 = new JButton("Lisää");
    JButton nappain_2  = new JButton("Pariton");
    JButton nappain_3 = new JButton("Parillinen");
    ArrayList<Integer> luvut = new ArrayList<>();

    public void init(){
        //Asetellaan objektit.
        GridLayout appletinAsettelu = new GridLayout(5,1,10,10);
        Container ruutu = getContentPane();
        ruutu.setLayout(appletinAsettelu);
        //Lisätään kuuntelijat.
        nappain_1.addActionListener(this);
        nappain_2.addActionListener(this);
        nappain_3.addActionListener(this);
        //Ensimmäinen rivi
        FlowLayout asettelu1 = new FlowLayout(FlowLayout.CENTER,10,10);
        rivi1.setLayout(asettelu1);
        rivi1.add(teksti);
        ruutu.add(rivi1);
        //Toinen rivi
        FlowLayout asettelu2 = new FlowLayout(FlowLayout.CENTER,10,10);
        rivi2.setLayout(asettelu2);
        rivi2.add(tlaatikko);
        ruutu.add(rivi2);
        //Kolmas rivi
        FlowLayout asettelu3 = new FlowLayout(FlowLayout.CENTER,10,10);
        rivi3.setLayout(asettelu3);
        rivi3.add(nappain_1);
        rivi3.add(nappain_2);
        rivi3.add(nappain_3);
        ruutu.add(rivi3);
        setContentPane(ruutu);
    }
    boolean onkoLoydetty = false;
    int indeksi = 0;
    public void actionPerformed(ActionEvent e){
        String komento = e.getActionCommand();
        if (komento.equals("Lisää")){
            //Lisätään luku.
            int luku = Integer.valueOf(tlaatikko.getText());
            luvut.add(luku);
        }
        else if (komento.equals("Pariton")){
            //Etsitään ensimmäinen pariton luku ArrayLististä.
            indeksi = 0;
            onkoLoydetty = false;
            for (int x = 0; x < luvut.size(); x++){
                if (luvut.get(x) % 2 != 0 && onkoLoydetty == false){
                    //Ensimmäinen pariton luku löydetty.
                    indeksi = x;
                    onkoLoydetty = true;
                }
            }
            //Jos Arraylistissä on pariton luku, näytetään se.
            if (onkoLoydetty == true){
                teksti.setText("Pariton:" + String.valueOf(indeksi));
            }
        }
        else if (komento.equals("Parillinen")){
            //Etsitään ensimmäinen parillinen luku ArrayLististä.
            indeksi = 0;
            onkoLoydetty = false;
            for (int x = 0; x < luvut.size(); x++){
                if (luvut.get(x) % 2 == 0 && onkoLoydetty == false){
                    //Ensimmäinen parillinen luku löydetty.
                    indeksi = x;
                    onkoLoydetty = true;
                }
            }
            //Jos Arraylistissä on parillinen luku, näytetään se.
            if (onkoLoydetty == true){
                teksti.setText("Parillinen:" + String.valueOf(indeksi));
            }
        }
    }
}

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta