«« ( Date ) »» // «« ( Thread ) »» // si3ts - 2011

SI3TS DZ2 - Igor Dikovic 2008/0101

by di080101d
ponedeljak, 03. januar 2011 - 22:54.


//aplikacija koja za uneti niz brojeva racuna zbir prostih brojeva u tom nizu


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

public class ProstiBrojevi extends JFrame{
private JTextArea unos=new JTextArea();
private JButton racunaj=new JButton("Racunaj");
private JTextField rezultat=new JTextField(10);


public ProstiBrojevi(){
super("Prosti brojevi");
setSize(600,500);
setLayout(new GridLayout(2,1));
unos.setName("Unos");
add(unos);
Panel pan=new Panel();
racunaj.setName("Racunaj");
pan.add(racunaj);
rezultat.setName("Rezultat");
rezultat.enable(false);
pan.add(rezultat);
add(pan);
racunaj.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
int rez=racunaj();
rezultat.setText(Integer.toString(rez));
}
});
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
}
});

setVisible(true);
}

public void clear(){
unos.setText("");
rezultat.setText("");
}

public void ucitajNiz(int[] niz){
String brojevi=unos.getText();
char ch=' ';
String[] broj=new String[niz.length];
int i=0;
int j=0;
for(i=0; i<broj.length; i++){
broj[i]="";
}

i=0;
while (j<brojevi.length()){
ch=brojevi.charAt(j++);
if (ch!=',') broj[i]+=ch;
else i++;
}
for(i=0; i<niz.length; i++){
niz[i]=Integer.parseInt(broj[i]);
}
}
public int velicina(){
String tekst=unos.getText();
char ch=tekst.charAt(0);
int j=1;
int brojac=0;
while(j<tekst.length()){
if (ch==',') brojac++;
ch=tekst.charAt(j++);
}
return brojac+1;
}

public boolean prost(int broj){
int i=2;
while ((i<=Math.sqrt(broj))&&(broj%i!=0)){
if (i>2) i+=2;
else i+=1;
}
if (i>Math.sqrt(broj)) return true;
return false;
}

public int racunaj(){
int size=velicina();
int[] niz=new int[size];
ucitajNiz(niz);
int suma=0;
for(int i=0; i<niz.length; i++){
if (prost(niz[i])) suma+=niz[i];
}
return suma;
}

public static void main(String[] args){
new ProstiBrojevi();
}
}