Tämä laskee kolmesta luvusta aritmeettisen keskiarvon tai summan sekä suurimman luvun. Ohjelmaa voi muuttaa esimerkiksi laittamalla luvut itse eikä satunnaisesti.
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.util.Random;
public class GUI_Luvut extends JApplet implements ActionListener {
//Luodaan objektit.
//Rivi 1
JPanel rivi1 = new JPanel();
JLabel teksti_1 = new JLabel("0");
JLabel teksti_2 = new JLabel("0");
JLabel teksti_3 = new JLabel("0");
//Rivi 2
JPanel rivi2 = new JPanel();
JLabel tulos = new JLabel("0");
JLabel tulos_2 = new JLabel("0");
//Rivi 3
JPanel rivi3 = new JPanel();
JRadioButton rb1 = new JRadioButton("Summa");
JRadioButton rb2 = new JRadioButton("Keskiarvo");
JButton nappain = new JButton("Paina");
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(teksti_1);
rivi1.add(teksti_2);
rivi1.add(teksti_3);
ruutu.add(rivi1);
//Rivi 2
FlowLayout asettelu2 = new FlowLayout(FlowLayout.CENTER,10,10);
rivi2.setLayout(asettelu2);
rivi2.add(tulos);
rivi2.add(tulos_2);
ruutu.add(rivi2);
//Rivi 3
FlowLayout asettelu3 = new FlowLayout(FlowLayout.CENTER, 10,10);
rivi3.setLayout(asettelu3);
rivi3.add(nappain);
ButtonGroup bg = new ButtonGroup();
bg.add(rb1);
bg.add(rb2);
rivi3.add(rb1);
rivi3.add(rb2);
ruutu.add(rivi3);
setContentPane(ruutu);
//Lisätään kuuntelija.
nappain.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent e) {
String komento = e.getActionCommand();
//Suoritetaan toiminto.
if (komento.equals("Paina")){
Random sattuma = new Random();
//Luodaan muuttujat.
int a = 0;
int b = 0;
int c = 0;
int sm = 0; //Summa
double ka = 0; //Keskiarvo
//Arvotaan luvut.
a = sattuma.nextInt(100);
b = sattuma.nextInt(100);
c = sattuma.nextInt(100);
//Näytetään luvut.
teksti_1.setText(String.valueOf(a));
teksti_2.setText(String.valueOf(b));
teksti_3.setText(String.valueOf(c));
//Lasketaan summa tai keskiarvo valinnan mukaan.
if (rb1.isSelected()){
//Lasketaan summa.
sm = a+b+c;
tulos.setText("Summa: " + String.valueOf(sm));
}
else if (rb2.isSelected()){
//Lasketaan aritmeettinen keskiarvo.
ka = (a+b+c)/3.0;
tulos.setText("Keskiarvo: " + String.valueOf(ka));
}
//Etsitään suurin luku.
if (a > b && a > c){
tulos_2.setText("Suurin luku: " + a);
}
else if (b > a && b > c){
tulos_2.setText("Suurin luku: " + b);
}
else if (c > a && c > b){
tulos_2.setText("Suurin luku: " + c);
}
else {
tulos_2.setText("Suurinta lukua ei ole.");
}
}
}
}Aihe on jo aika vanha, joten et voi enää vastata siihen.