Mûveletek, függvények



Muvelet.java: mûveletek
 
public class Muvelet { 
 public static void main(String[] args) { 
  int i=65;
  char c='A';
  double j=Math.E;
  boolean b=false;

  System.out.println("i = "+i+", c = "+c+", j = "+j+", b = "+b); 

  System.out.println("***** Unaris muveletek: *****"); 
  System.out.println("i++ = "+(i++)+", i = "+i); 
  System.out.println("i-- = "+(i--)+", i = "+i); 
  System.out.println("i = "+i+", ++i ="+(++i)); 
  System.out.println("i = "+i+", --i ="+(--i));
  System.out.println("i = "+i+", -i = "+(-i)+", -(-i) = "+(-(-i))); 
  System.out.println("b = "+b+", !b = "+!b+", !!b = "+!!b); 
  System.out.println("(char)i = "+(char)i+", (short)c = "+(short)c); 
  System.out.println("(double)i = "+(double)i); 
  System.out.println("(int)j = "+(int)j); 

  System.out.println("***** Binaris muveletek: *****"); 
  System.out.println("(i + j) = "+(i+j)+", (i - j) = "+(i-j)); 
  System.out.println("(i * j) = "+(i*j)+", (i / j) = "+(i/j)); 
  System.out.println("(i / (int)j) = "+(i/(int)j)); 
  System.out.println("(i % (int)j) = "+(i%(int)j)); 
  System.out.println("(i <= j) = "+(i<=j)+", (i > j) = "+(i>j)); 
  System.out.println("(i == j) = "+(i==j)+", (i != j) = "+(i!=j));
  b=(i<=j && i>j);
  System.out.println("(i <= j) && (i > j) = "+b); 
  b=(i<=j || i>j);
  System.out.println("(i <= j) || (i > j) = "+b); 
  System.out.println("(i<j ? \"i kisebb\" : \"j kisebb\") = "+(i<j?"i kisebb":"j kisebb")); 
  } 
 } 



Fuggveny.java: függvények
 
public class Fuggveny {
public static void main(String[] args) {
 double d;
 int i;
 long l;
 String s;
 System.out.println("2.7 kerekitve: "+Math.round(2.7)+
               ",    3.1 kerekitve: "+Math.round(3.1));
 System.out.println("-4 abszolut erteke: "+Math.abs(-4));

 System.out.println("225 binarisan: "+Integer.toBinaryString(225)+
               ",    225 hexadecimalisan: "+Integer.toHexString(225));
 System.out.println("\"1011\" decimalis erteke: "+Integer.parseInt("1011",2)+
               ",    \"FF\" decimalis erteke: "+Integer.parseInt("FF",16));

 d=0.25;
 l=Double.doubleToLongBits(d);
 System.out.println("\td erteke: "+d+",\t\tabrazolasa: "+Long.toHexString(l));
 d=0.5;
 l=Double.doubleToLongBits(d);
 System.out.println("\td erteke: "+d+",\t\tabrazolasa: "+Long.toHexString(l));
 d=0.625; // 0.101 == 1/2 + 1/8 == 5/8 (kettedes törtként)
 l=Double.doubleToLongBits(d);
 System.out.println("\td erteke: "+d+",\tabrazolasa: "+Long.toHexString(l));
 d=Math.pow(2,-1023); //m == 1/2, k == -1022 + 1022 == 0
 l=Double.doubleToLongBits(d);
 System.out.println("\td erteke: 2^(-1023)"+",\tabrazolasa: 000"+Long.toHexString(l));
 d=1.0;
 l=Double.doubleToLongBits(d);
 System.out.println("\td erteke: "+d+",\t\tabrazolasa: "+Long.toHexString(l));
 d=-1.0;
 l=Double.doubleToLongBits(d);
 System.out.println("\td erteke: "+d+",\t\tabrazolasa: "+Long.toHexString(l));

 System.out.println("2 negyzetgyoke: "+Math.sqrt(2));
 System.out.println("2^15 (hatvanyozas): "+Math.pow(2,15));
 System.out.println("egy veletlen valos szam a [0,1) intervallumbol: "+Math.random());
 System.out.println("                       egy masik veletlen szam: "+Math.random());

 System.out.println("PI erteke: "+Math.PI+",    e erteke: "+Math.E);
 d=Math.toRadians(75);
 System.out.println("75 fok = "+d+" radian");
 System.out.println("75 fok szogfuggvenyei: ");
 System.out.println("    sin(75) = "+Math.sin(d));
 System.out.println("    cos(75) = "+Math.cos(d));
 System.out.println("     tg(75) = "+Math.tan(d));
 System.out.println("PI radian = "+Math.toDegrees(Math.PI)+" fok");
 System.out.println("e^2 = "+Math.exp(2)+",    ln(8) = "+Math.log(8));
 }
}



Szamok.java: parancssori paraméterek konverziója
 
public class Szamok {

public static void kiir(int[] sz) {
  for(int i=0;i<sz.length;i++) System.out.println("A(z) "+(i+1)+". ertek: "+sz[i]);
  }

public static void main(String[] args) {
  int n=args.length;
  if(n<2) {
   System.out.println("Legalabb 2 szam kell!");
   System.exit(1);
   }
  int[] szam=new int[n];
  int i=-1;
  try {
   for(i=0;i<n;i++) szam[i]=Integer.parseInt(args[i]);
   }
  catch(NumberFormatException e) {
   System.out.println("A(z) "+(i+1)+". ertek nem szam!\n"+e);
   System.exit(2);
   }
  catch(Exception e) {
   System.out.println("Egyeb hiba!\n"+e);
   System.exit(3);
   }
  kiir(szam);
  }
 }

1. variáció (SzamokV1.java): konverziós eljárás készítése a parancssori paraméterek számmá alakítására
 
public class SzamokV1 extends Szamok {

public static void konvertal(String[] a,int[] sz) {
  if(a.length==0) {
   System.out.println("Nem adott meg parametereket!");
   System.exit(1);
   }
  int i=-1;
  try {
   for(i=0;i<a.length;i++) sz[i]=Integer.parseInt(a[i]);
   }
  catch(NumberFormatException e) {
   System.out.println("A(z) "+(i+1)+". ertek nem szam!\n"+e);
   System.exit(2);
   }
  catch(Exception e) {
   System.out.println("Egyeb hiba!\n"+e);
   System.exit(3);
   }
 }

public static void main(String[] args) {
 int n=args.length;
 int[] szam=new int[n];
 konvertal(args,szam);
 kiir(szam);
 }
}

2. variáció (SzamokV2.java): konverziós függvény készítése a parancssori paraméterek számmá alakítására
 
public class SzamokV2 extends Szamok {

public static int[] konvertal(String[] a) {
  int[] sz=new int[a.length];
  try {
   for(int i=0;i<a.length;i++) sz[i]=Integer.parseInt(a[i]);
   }
  catch(NumberFormatException e) {
   System.out.println(e);
   return new int[0];
   }
  catch(Exception e) {
   System.out.println(e);
   return new int[0];
   }
 return sz;
 }

public static void main(String[] args) {
 kiir(konvertal(args));
 }
}



Szamok1.java: parancssori paraméterek rendezése (a legkisebb elem kiválasztásával)
 
public class Szamok1 {

public static void cserel(int[] sz,int i,int j) {
 if(i<0 || i>=sz.length || j<0 || j>=sz.length || i==j) return;
 int k=sz[i];
 sz[i]=sz[j];
 sz[j]=k;
 }

public static void legkisebb(int[] sz,int i) {
 if(sz.length==0) return ;
 if(i<0 || i>=sz.length) return;
 for(int j=i+1;j<sz.length;j++) {
  if(sz[i]>sz[j]) cserel(sz,i,j);
  }
 }

public static void main(String[] args) {
  int n=args.length;
  int[] szam=new int[n];
  SzamokV1.konvertal(args,szam);
  System.out.println("A szamok rendezes elott:");
  Szamok.kiir(szam);
  for(int i=0;i<szam.length-1;i++) {
   legkisebb(szam,i);
   }
  System.out.println("A szamok rendezes utan:");
  SzamokV1.kiir(szam);
  }
 }

1. variáció (Szamok1V1.java): rendezés rekurzív eljáráshívással
 
public class Szamok1V1 {

public static void cserel(int[] sz,int i,int j) {
 if(i<0 || i>=sz.length || j<0 || j>=sz.length || i==j) return;
 int k=sz[i];
 sz[i]=sz[j];
 sz[j]=k;
 }

public static void legkisebb(int[] sz,int i) {
 if(sz.length==0) return ;
 if(i<0 || i>=sz.length) return;
 for(int j=i+1;j<sz.length;j++) {
  if(sz[i]>sz[j]) cserel(sz,i,j);
  }
 legkisebb(sz,i+1);
 }

public static void main(String[] args) {
  int n=args.length;
  int[] szam=new int[n];
  SzamokV1.konvertal(args,szam);
  System.out.println("A szamok rendezes elott:");
  Szamok.kiir(szam);
  legkisebb(szam,0);
  System.out.println("A szamok rendezes utan:");
  SzamokV1.kiir(szam);
  }
 }


Boda István, 2005. szeptember 10.