Javada Count
-
merhaba arkadaslar static bir değişken tanımlıyıp olusturulan objeleri saymayı biliyorum ancak bende sadece 1 class alt classlarda var ornegin araba ,spor araba, arazi arabası gibi bunlar birbirine baglı kalıtımla ben bu classlarda olusturulcak her objeyi birlikte saymak istiyorum bu nasıl olur biraz arastırdım ama bulamadım yol gostercek arkadas varsa yardımlarını beklerim.
-
biraz daha açıklayabilir misin hocam?
-
hocam soruyu tam anlamadım ama eğer projendeki her classda count yapmak istiyorsan her classında bir int count değişkeni tanımlarsın sayfırma işlemini yaparsın sonra tanımlayacağın bir getCount() fonksiyonu ile bunu return edersin. örneğin elinde main class ın dışında A ve B classların olsun. Main classında birer A ve B nesnesi yaratıp A.getCount() + B.getCount() yaparsan sana tüm sayıyı verir
-
eet elimde 4 tane class var ve birde tabi main classı var bu mainde olusturulan objeleri saymak istiyorum sanırım dediğiniz gibi her class a bir count koyup mainde hepsini toplamam gerekcek
-
doz4 bunu yazdı
eet elimde 4 tane class var ve birde tabi main classı var bu mainde olusturulan objeleri saymak istiyorum sanırım dediğiniz gibi her class a bir count koyup mainde hepsini toplamam gerekcek
evet hocam problem buysa dediğim şekilde yapabilirsin her classa bir değişken bir de bu değişkeni return eden bir fonksiyon yaz, main classda her birinden bir nesne yaratıp bu nesneler üzrerinden return eden fonksiyonu çağır ve bunları topla.
-
manyaki bunu yazdıdoz4 bunu yazdı
eet elimde 4 tane class var ve birde tabi main classı var bu mainde olusturulan objeleri saymak istiyorum sanırım dediğiniz gibi her class a bir count koyup mainde hepsini toplamam gerekcek
evet hocam problem buysa dediğim şekilde yapabilirsin her classa bir değişken bir de bu değişkeni return eden bir fonksiyon yaz, main classda her birinden bir nesne yaratıp bu nesneler üzrerinden return eden fonksiyonu çağır ve bunları topla.
hocam simdi yaptımda get fonksiyonu koydum countu da ekledim 1 tane class fakat soyle bi sorun kullanıcıya sorduruyorum o clası sectiğimde de count 4 oluyor
-
package icecekler;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Testicecek {
public static void main(String args[])
{
icecekInterface x[]=new icecekInterface[4];
Su s=new Su("orta",1,0.5);
Kahve k=new Kahve("fincan",1,5);
Cay c=new Cay("incebelli",1,2);
Ayran a=new Ayran("büyük",1,1.5);
x[0]=s; x[1]=k; x[2]=c; x[3]=a;
int i = 0;
System.out.println("Su için 1, Kahve için 2 , Cay icin 3, Ayran icin 4 seçiniz");
Scanner scan=new Scanner(System.in);
i=scan.nextInt();
i=i-1;
System.out.println(x[i].hazirla());
x[i].print();
System.out.println(Su.countSu());
}
}bu main classım ve su.count fonksiyonu calısıyor ama ekrana 4 yansıtıyor
-
doz4 bunu yazdı
package icecekler;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Testicecek {
public static void main(String args[])
{
icecekInterface x[]=new icecekInterface[4];
Su s=new Su("orta",1,0.5);
Kahve k=new Kahve("fincan",1,5);
Cay c=new Cay("incebelli",1,2);
Ayran a=new Ayran("büyük",1,1.5);
x[0]=s; x[1]=k; x[2]=c; x[3]=a;
int i = 0;
System.out.println("Su için 1, Kahve için 2 , Cay icin 3, Ayran icin 4 seçiniz");
Scanner scan=new Scanner(System.in);
i=scan.nextInt();
i=i-1;
System.out.println(x[i].hazirla());
x[i].print();
System.out.println(Su.countSu());
}
}bu main classım ve su.count fonksiyonu calısıyor ama ekrana 4 yansıtıyor
4 elemanlı dizi oluşturuduğun için normal hacı.
en üssteki classında bir tane count değşkeni tanımla public static olsun.
daha sonra yazacağın constructer da bu değişkeni bir arttır.
bu classtan extend ettiğin classlarda super(); yapara bir üst class ın constructerını çağır. Böylece toplamda kaç sınıf üretirsen üret o değişkeni arttırmış olursun. Değişkenin static olduğu içinde diğer sınıflardan erişebilirsin.
-
sLeymN bunu yazdıdoz4 bunu yazdı
package icecekler;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Testicecek {
public static void main(String args[])
{
icecekInterface x[]=new icecekInterface[4];
Su s=new Su("orta",1,0.5);
Kahve k=new Kahve("fincan",1,5);
Cay c=new Cay("incebelli",1,2);
Ayran a=new Ayran("büyük",1,1.5);
x[0]=s; x[1]=k; x[2]=c; x[3]=a;
int i = 0;
System.out.println("Su için 1, Kahve için 2 , Cay icin 3, Ayran icin 4 seçiniz");
Scanner scan=new Scanner(System.in);
i=scan.nextInt();
i=i-1;
System.out.println(x[i].hazirla());
x[i].print();
System.out.println(Su.countSu());
}
}bu main classım ve su.count fonksiyonu calısıyor ama ekrana 4 yansıtıyor
4 elemanlı dizi oluşturuduğun için normal hacı.
en üssteki classında bir tane count değşkeni tanımla public static olsun.
daha sonra yazacağın constructer da bu değişkeni bir arttır.
bu classtan extend ettiğin classlarda super(); yapara bir üst class ın constructerını çağır. Böylece toplamda kaç sınıf üretirsen üret o değişkeni arttırmış olursun. Değişkenin static olduğu içinde diğer sınıflardan erişebilirsin.
hocam simdi en üst class su ve bunda dediğin gibi static tanımladım constructeriniada artırdım sadece count++ yaparak diger classlarda superi cagırıyorum zaten ornegin cay classı super olarak alıyor fakat bu superde count yok sadece a1 b1 f1 var ornek olarak atıyım
package icecekler;
public class Cay extends Su {
protected String seker;
public Cay(String b1, int a1,double f1) {
super(b1, a1, f1);
seker="2 adet Şeker";
}
public String hazirla() {return "Çay hazır!";}
public void print(){System.out.println("ÇAY");
System.out.println("Bardak boyu: "+bardakboyu+" Adet: "+adet+" Fiyat: "+fiyat+"TL"+" Ekstra: "+seker);}
}bu sudan extend alıyor ve super var superde count++ icin bsy eklemek gerek mi yoksa zaten bu yüzden mi 4 yansıtıyor
-
Su s=new Su("orta",1,0.5);
Kahve k=new Kahve("fincan",1,5);
Cay c=new Cay("incebelli",1,2);
Ayran a=new Ayran("büyük",1,1.5);yaparak 4 tane nesne üretiyorsun zaten hocam ? doğru çalışmış olmuyor mu zaten ?
-
sLeymN bunu yazdı
Su s=new Su("orta",1,0.5);
Kahve k=new Kahve("fincan",1,5);
Cay c=new Cay("incebelli",1,2);
Ayran a=new Ayran("büyük",1,1.5);yaparak 4 tane nesne üretiyorsun zaten hocam ? doğru çalışmış olmuyor mu zaten ?
o tamamda simdiki sorunlarada yardımcı olursanız sevinirim
ornek
package icecekler;
import java.util.Scanner;
import javax.swing.JOptionPane;
public class Testicecek {
public static void main(String args[])
{
icecekInterface x[]=new icecekInterface[20];
int i = 0;
String secim=JOptionPane.showInputDialog(null,"Su için 1, Kahve için 2 , Cay icin 3, Ayran icin 4 seçiniz");
i=Integer.parseInt(secim);
int t;
String tane=JOptionPane.showInputDialog(null,"kaç adet istersiniz");
t=Integer.parseInt(tane);
int baska=JOptionPane.showConfirmDialog(null, "başka bir");
String[] secimler=new String[20];
int d = 0;
int[] siparis =new int[20];
while(baska==1){
secimler[d]=JOptionPane.showInputDialog(null,"Su için 1, Kahve için 2 , Cay icin 3, Ayran icin 4 seçiniz");
int choice;
int artir = 0;
for(int h = 0;h<20;h++)
{choice=Integer.parseInt(secimler[d]);
siparis[artir]=choice;
artir++;
d++;}
}
for (int h=0;h<20;h++)
{int r=0;
int m=0;
if(siparis[r]==0){Su y=new Su("orta",+t,0.5*t);
x[m]=y; r++; m++;}
else if(siparis[r]==1){Kahve y=new Kahve("fincan",+t,5*t);
x[m]=y; r++; m++;}
else if(siparis[r]==1){Cay y=new Cay("incebelli",+t,2*t);
x[m]=y; r++; m++;}
else if(siparis[r]==1){Ayran y=new Ayran("büyük",+t,1.5*t);
x[m]=y; r++; m++;}
}
//Scanner scan=new Scanner(System.in);
//i=scan.nextInt();
// i=i-1;
//System.out.println("kaç adet istersiniz");
//int t=scan.nextInt();
//if(i==0){Su y=new Su("orta",+t,0.5*t);
//x[0]=y;}
//i=i-1;
//Kahve k=new Kahve("fincan",+t,5*t);
// Cay c=new Cay("incebelli",+t,2*t);
//Ayran a=new Ayran("büyük",+t,1.5*t);
//x[1]=k; x[2]=c; x[3]=a;
int j=0;
for(int i1=0;i1<20;i1++)
JOptionPane.showMessageDialog(null,x[j].hazirla() );
x[j].print();
j++;
//JOptionPane.showMessageDialog(null,x[i].hazirla() );
// x[i1].print();
System.out.println("obje sayısı: "+Su.count());
}
}amacım burda secilen siparisleri dizide tutup sonra bunları ekrana yansıtmak istiyorum tabi toplam fiyatı falan seklinde biraz kafam karıstı bu sekilde bsyler yaptım ama karıstı iyice suan calıstıgında hata verio 2. asamada
