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.