Program: wypisujący liczby z przedziału 1-17 oraz ich liczby przeciwne po czym je sumuje (od 1 do 10).
Jak w opisie.
Kompilator: Eclipse
Kod programu:
Klasa – Main.
public class Main {
public static void main(String[] args) {
FabrykaLiczbNaturalnych cos=new FabrykaLiczbNaturalnych();
cos.gen(15);
FabrykaLiczbUjemnych cos2=new FabrykaLiczbUjemnych();
cos2.gen(-15);
SumatorPrzeciwnych cos3= new SumatorPrzeciwnych();
cos3.gen(10);
for(int i=0;i<1000;i++)
new Thread(new SumatorPrzeciwnych()).start();
}
} Klasa – FabrykaLiczb.
public abstract class FabrykaLiczb {
private Integer liczbaPoczatkowa;
private Integer liczbaAktualna;
public abstract Integer produkujLiczbe();
public FabrykaLiczb(Integer liczbaPoczatkowa) {
this.liczbaPoczatkowa = liczbaPoczatkowa;
this.liczbaAktualna = liczbaPoczatkowa;
}
public FabrykaLiczb() {
this.liczbaPoczatkowa = 0;
this.liczbaAktualna = 0;
}
public Integer getLiczbaPoczatkowa() {
return liczbaPoczatkowa;
}
public Integer getLiczbaAktualna() {
return liczbaAktualna;
}
protected void setLiczbaAktualna(Integer liczbaAktualna) {
this.liczbaAktualna = liczbaAktualna;
}
} Klasa – FabrykaLiczbNaturalnych.
public class FabrykaLiczbNaturalnych extends FabrykaLiczb{
@Override
public Integer produkujLiczbe() {
throw new UnsupportedOperationException("Not supported yet.");
}
public int zmiennapocz;
public int zmiennakon;
public FabrykaLiczbNaturalnych(){
this.zmiennapocz=1;
this.zmiennakon=1;
}
public int getZmiennapocz() {
return zmiennapocz++;
}
public void gen(int x)
{
for(int i=1;i<=x;i++)
System.out.println(getZmiennapocz());
}
} Klasa – FabrykaLiczbUjemnych.
public class FabrykaLiczbUjemnych extends FabrykaLiczb{
@Override
public Integer produkujLiczbe() {
throw new UnsupportedOperationException("Not supported yet.");
}
public int zmiennapocz;
public int zmiennakon;
public FabrykaLiczbUjemnych(){
this.zmiennapocz=-1;
this.zmiennakon=-1;
}
public int getZmiennapocz() {
return zmiennapocz--;
}
public void gen(int x)
{
for(int i=1;i>=x;i--)
System.out.println(getZmiennapocz());
}
} Klasa – SumatorPrzeciwnych.
public class SumatorPrzeciwnych implements Runnable{
FabrykaLiczbNaturalnych cos=new FabrykaLiczbNaturalnych();
FabrykaLiczbUjemnych cos2=new FabrykaLiczbUjemnych();
int a,b,suma;
public void gen(int x)
{
for(int i=1;i<=x;i++)
{
a=cos.getZmiennapocz();
b=cos2.getZmiennapocz();
suma=a+b;
System.out.println(a+" "+b+" "+" "+suma);
}
}
public void run() {
gen(1);
}
}