Trawek

Untitled

Nov 24th, 2020
521
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package mobileapplicationb;
  7.  
  8.     import java.util.Random;
  9.     import javax.microedition.lcdui.Command;
  10.     import javax.microedition.lcdui.CommandListener;
  11.     import javax.microedition.lcdui.Display;
  12.     import javax.microedition.lcdui.Displayable;
  13.     import javax.microedition.lcdui.Form;
  14.     import javax.microedition.lcdui.StringItem;
  15.     import javax.microedition.lcdui.TextField;
  16.     import javax.microedition.midlet.*;
  17.  
  18. public class Midlet extends MIDlet implements CommandListener{
  19.  
  20.         private Form okno;
  21.         private Command cmdAgain;
  22.         private Command cmdKoniec;
  23.         private int licznik = 0;
  24.         private TextField licz;
  25.         private StringItem cmdAgainLabel = new StringItem("Generuj","");
  26.         private StringItem siTablica =
  27.         new StringItem("Tablica:\n","brak elementów");
  28.         private StringItem siMin = new StringItem("","");
  29.         private StringItem siMax = new StringItem("","");
  30.         private StringItem siSum = new StringItem("","");
  31.         private StringItem siAvg = new StringItem("","");
  32.     public Midlet() {
  33.         okno = new Form("Losowe wypełnianie tablicy");
  34.         cmdAgain = new Command(cmdAgainLabel.getLabel(), Command.ITEM, 0);
  35.         cmdKoniec = new Command("Koniec",Command.EXIT, 0);
  36.         licz = new TextField("Podaj liczbę elementów", null, 5,
  37.         TextField.DECIMAL);
  38.         okno.append(licz);
  39.     }
  40.         protected void destroyApp(boolean u) throws MIDletStateChangeException
  41.         {
  42.         }
  43.             protected void pauseApp() {
  44.             }
  45.     protected void startApp() throws MIDletStateChangeException {
  46.         Display ekran = Display.getDisplay(this);
  47.         ekran.setCurrent(okno);
  48.         okno.addCommand(cmdAgain);
  49.         okno.addCommand(cmdKoniec);
  50.         okno.setCommandListener(this);
  51.         okno.append(siTablica);
  52.         okno.append(siMin);
  53.         okno.append(siMax);
  54.         okno.append(siSum);
  55.         okno.append(siAvg);
  56.     }
  57.     public void commandAction(Command cmd, Displayable s) {
  58.         if(cmd == cmdAgain) {
  59.             if(licznik == 0) {
  60.                 cmdAgainLabel.setLabel("Powtórz");
  61.                 okno.removeCommand(cmdAgain);
  62.                 cmdAgain = new Command(cmdAgainLabel.getLabel(), Command.ITEM, 0);
  63.                 okno.addCommand(cmdAgain);
  64.                 licznik++;
  65.             }
  66.         try {
  67.             int a = Integer.parseInt(licz.getString());
  68.             tablica(a);
  69.             }
  70.                 catch(NumberFormatException e) {
  71.                     e.printStackTrace();
  72.  
  73.                 }
  74.         }
  75.         if(cmd == cmdKoniec) {
  76.             notifyDestroyed();
  77.         }
  78.     }
  79.     public void tablica (int elem) {
  80.         int[] tab = new int[elem];
  81.         String str = new String("[");
  82.         Random r = new Random(System.currentTimeMillis());
  83.         int maxRange = 99;
  84.         int suma = 0;
  85.         int minTab = maxRange;
  86.         int maxTab = tab[0];
  87.             for(int i = 0; i < elem;i++) {
  88.                 tab[i] = r.nextInt(maxRange + 1);
  89.                 str = str + tab[i];
  90.                     if(i < elem -1) {
  91.                 str = str + "; ";
  92.                     }
  93.                     else {
  94.                 str = str + "]";
  95.                     }
  96.                     if(tab[i] <= minTab) {
  97.                 minTab = tab[i];
  98.                     }
  99.                     if(tab[i] >= maxTab) {
  100.                 maxTab = tab[i];
  101.                     }
  102.                     suma += tab[i];
  103.             }
  104.         siTablica.setText(str);
  105.         siSum.setLabel("Suma: ");
  106.         siSum.setText(Integer.toString(suma));
  107.         siAvg.setLabel("Średnia: ");
  108.         siAvg.setText(Float.toString((float)suma / (float)elem));
  109.         siMax.setLabel("Maksimum: ");
  110.         siMax.setText(Integer.toString(maxTab));
  111.         siMin.setLabel("Minimum: ");
  112.         siMin.setText(Integer.toString(minTab));
  113.     }
  114. }
RAW Paste Data