Ohjelmassa voi laskea, onko luku uniikki, onko luku olemassa, lukujen määrän, ovatko luvut vähintään tai korkeintaan sekä onko luku lukuvälillä. Ohjelmassa on myös tyhjennystoiminto.
import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.ArrayList; import java.util.Collections; public class GUI_Luku extends JApplet implements ActionListener { //Luodaan objektit. //Ensimmäiselle riville laitetaan teksti, toiseen laitetaan tekstilaatikko, //kolmanteen näppäimet ja viimeiseen radiobuttonit. //Rivi 1 JPanel rivi1 = new JPanel(); JLabel tulos = new JLabel("0"); //Rivi 2 JPanel rivi2 = new JPanel(); JTextField teksti = new JTextField(10); //Rivi 3 JPanel rivi3 = new JPanel(); JButton nappain = new JButton("Paina"); JButton nappain_2 = new JButton("Tyhjenna"); //Rivi 4 JPanel rivi4 = new JPanel(); JRadioButton rb1 = new JRadioButton("Onko uniikki"); JRadioButton rb2 = new JRadioButton("Onko olemassa"); JRadioButton rb3 = new JRadioButton("Onko lukuvälillä"); JRadioButton rb4 = new JRadioButton("Laske määrä"); JRadioButton rb5 = new JRadioButton("Enintään"); JRadioButton rb6 = new JRadioButton("Vähintään"); JRadioButton rb7 = new JRadioButton("Lisää"); ArrayList<Integer> luvut = new ArrayList<>(); public void init(){ //Asetellaan objektit. GridLayout appletinAsettelu = new GridLayout(5,1,10,10); Container ruutu = getContentPane(); ruutu.setLayout(appletinAsettelu); //Rivi 1 FlowLayout asettelu1 = new FlowLayout(FlowLayout.CENTER,10,10); rivi1.setLayout(asettelu1); rivi1.add(tulos); ruutu.add(rivi1); //Rivi 2 FlowLayout asettelu2 = new FlowLayout(FlowLayout.CENTER,10,10); rivi2.setLayout(asettelu2); rivi2.add(teksti); ruutu.add(rivi2); //Rivi 3 FlowLayout asettelu3 = new FlowLayout(FlowLayout.CENTER,10,10); rivi3.add(nappain); rivi4.add(nappain_2); rivi3.setLayout(asettelu3); ruutu.add(rivi3); //Rivi 4. FlowLayout asettelu4 = new FlowLayout(FlowLayout.CENTER, 10,10); rivi4.setLayout(asettelu4); //Laitetaan radiobuttonit yhteen. ButtonGroup bg = new ButtonGroup(); bg.add(rb1); bg.add(rb2); bg.add(rb3); bg.add(rb4); bg.add(rb5); bg.add(rb6); bg.add(rb7); rivi4.add(rb1); rivi4.add(rb2); rivi4.add(rb3); rivi4.add(rb4); rivi4.add(rb5); rivi4.add(rb6); rivi4.add(rb7); ruutu.add(rivi4); //Lisätään kuuntelijat. nappain.addActionListener(this); nappain_2.addActionListener(this); setContentPane(ruutu); } public void actionPerformed(ActionEvent e){ String komento = e.getActionCommand(); //Suoritetaan toiminto. if (komento.equals("Paina")){ int maara = 0; int luku = Integer.valueOf(teksti.getText()); boolean onko = false; //Suoritetaan valinnan mukainen toiminto. if (rb1.isSelected()){ //Uniikki luku. //Luku on uniiki, jos määrä on 1. //Lasketaan luvun määrä. for (int x = 0; x < luvut.size(); x++){ if (luvut.get(x) == luku){ //Luku löydetty. maara++; } } //Näytetään tulos. if (maara == 1){ tulos.setText("Luku on uniikki."); } else { tulos.setText("Luku ei ole uniikki"); } } if (rb2.isSelected()){ //Onko olemassa //Oletetaan, että lukua ei ole kunnes toisin todistetaan. for (int x = 0; x < luvut.size(); x++){ if (luvut.get(x) == luku){ //Luku löydetty. onko = true; } } //Näytetään tulos. if (onko == false){ tulos.setText("Lukua ei ole."); } else { tulos.setText("Luku on olemassa."); } } else if (rb3.isSelected()){ //Onko lukuvälillä. //Järjestetään taulukko. int min = 0; int max = 0; Collections.sort(luvut); //Otetaan minimi ja maksimi. min = luvut.get(0); max = luvut.get(luvut.size()-1); //Katsotaan, onko luku lukuvälillä. if (luku >= min && luku <= max){ tulos.setText("Luku on lukuvälillä."); } else { tulos.setText("Luku ei ole lukuvälillä."); } } else if (rb4.isSelected()){ //Lasketaan luvun määrä. for (int x = 0; x < luvut.size(); x++){ if (luvut.get(x) == luku){ //Luku löydetty. maara++; } } //Näytetään tulos. tulos.setText("Määrä: " + String.valueOf(maara)); } else if (rb5.isSelected()){ //Katsotaan, onko ArrayListissä olevat luvut korkeintaan luku. //Oletetaan näin, jos toisin ei todisteta. onko = true; for (int x = 0; x < luvut.size(); x++){ if (luvut.get(x) > luku){ onko = false; } } //Näytetään tulos. if (onko == true){ tulos.setText("Korkeintaan"); } else { tulos.setText("Ei ole korkeintaan"); } } else if (rb6.isSelected()){ //Katsotaan, onko ArrayListissä olevat luvut vähintään luku. //Oletetaan näin, jos toisin ei todisteta. onko = true; for (int x = 0; x < luvut.size(); x++){ if (luvut.get(x) < luku){ onko = false; } } //Näytetään tulos. if (onko == true){ tulos.setText("Vähintään"); } else { tulos.setText("Ei ole vähintään"); } } else if (rb7.isSelected()){ //Lisätään luku. luvut.add(luku); } } else if (komento.equals("Tyhjenna")){ //Tyhjennetään luvut. luvut.clear(); } } }
Aihe on jo aika vanha, joten et voi enää vastata siihen.