ABSTRACT KULLANIM

import java.util.Scanner;
abstract class ortak{
	abstract void denkcoz();
	public void yazdir(String metin)
	{
	   System.out.println(metin);
	}
   
	public void yazdirprint(String metin)
   {
	   System.out.print(metin);
   }
   
   double sayial(String metin)
  {
	   double sayi=0;
	 boolean durum=true;
  while(durum)  
  {   yazdirprint(metin);
	  Scanner input=new Scanner(System.in);
	  try
	  { String s1=input.next();
		 sayi=Double.parseDouble(s1);
	     durum=false;
	  }catch(Exception ex)
	  {
		 yazdir("Hata tekrar girin");
		  durum=true;
	  }
  }
 return sayi; }	
}
class derece1 extends ortak{
	String[] isim={"a","b","c"}; 
    double[] deger=new double[3];
	public derece1()
	{  
		denkcoz();
	}
	
	void denkcoz()
	{
		yazdir("Denklem ax+b=c formatında olmalıdır..");
       for(int i=0;i<isim.length;i++)
    	        deger[i]=sayial(isim[i]+"=");
	double x=(deger[2]-deger[1])/deger[0];
	yazdir("x in degeri="+x);
	}
	
}
class derece2 extends ortak{
	public derece2()
	{
		denkcoz();
	}
	
	String[] isim={"a","b","c","d"}; 
    double[] deger=new double[4];
void denkcoz()
{    yazdir("Denklem ax2+bx+c=d formatında olmalıdır..");
	int sayac=0;
   	for(int i=0;i<isim.length;i++)
   		  deger[i]=sayial(isim[i]+" degeri=");
        	 deger[2]-=deger[3];
         double diskri=Math.sqrt((Math.pow(deger[1],2)-(4*deger[0]*deger[2])));
  if(diskri>=0)
  {       double[] x1x2=new double[2];
  for(int i=-1;i<x1x2.length;i++)
	  if(i!=0)
		  {
		     x1x2[sayac++]=(((-deger[1])+(i*diskri))/2*deger[0]);
		      yazdir("x"+(sayac)+"="+x1x2[sayac-1]);
		  }
  }
  else
	  yazdir("Çözüm boş kümedir");
}
}
public class COZ extends ortak{
	public COZ()
	{
		boolean durum=true;
		while(durum)
		{ 
			yazdir("1-Birinci dereceden denklem çöz");
			yazdir("2-İkinci dereceden denklem çöz");
			yazdir("3-Çıkış");
			int secim=(int)sayial("Secim yapınız=");
			switch(secim)
			{
			case 1:new derece1();break;
			case 2:new derece2();break;
			case 3:durum=false;break;
			}
		}
	}
	void denkcoz() {
		
	}
 public static void main(String[] arg)
 {
	new COZ();
	 
 }
}

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir