Primeri nalog iz jave

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje

Vsebina

Risanje likov

/**
 * V programskem jeziku Java sestavi program, k narise na zaslon preprosto 
 * smrecico. Pri tej nalogi se uposteva tudi kvaliteta izdelka.
 * 
 * @author kaalen
 * jebes divjaka
 */
public class Tree
{
 
	/**
	 * @param args
	 * args[0] - sirina smrecice na dnu, mora biti liho, sicer povecamo za 1
	 * args[1] - visina debla
	 */
	public static void main(String[] args)
	{
		String pomoc = "Uporaba: Tree <sirina> <visina>, kjer:\n"+
                               "<sirina> - sirina drevesa pri dnu krosnje (celo stevilo)\n"+
                               "<visina> - visina debla (celo stevilo)";
 
		/* najprej preveri veljavnost parametrov ukazne vrstice in izpisi 
		 * pomoc, ce se parametri ne ujemajo
		 */
		if (args.length == 2)
		{
			//parametri so OK
			try
			{
				int sirina = Integer.parseInt(args[0]);
				int visinaDebla = Integer.parseInt(args[1]);
 
 
				//preveri ce je liho in ustrezno povecaj ce je sodo
				if (sirina % 2 == 0)
				{
					sirina++;
				}
 
				/* odmik zvezdice, ki predstavlja vrh smrecice je enak polovici sirine 
				 * smrecice pri dnu
				 */ 
				int odmik = sirina / 2;
				int zvezdice = 1;
				int j;
				//zunanja zanka za stetje vrstic
				for(int i=0; i < Math.log(sirina)/Math.log(2); i++)
				{
					j = 0;
					//narisi odmike
					while (j < odmik)
					{
						System.out.print(" ");
						j++;
					}
					//v naslednji vrstici je odmik za 1 manjsi
					odmik--;
					//narisi zvezdice
					j = 0;
					while(j < zvezdice)
					{
						System.out.print("*");
						j++;
					}
					//v naslednji vrstici moramo narisati 2 zvezdici vec
					zvezdice += 2;
					//skocimo v novo vrstico
					System.out.print("\n");
				}
 
				//narisemo se deblo
				for(int i = 0; i < visinaDebla; i++)
				{
					odmik = sirina / 2;
					j = 0;
					while(j < odmik)
					{
						System.out.print(" ");
						j++;
					}
					System.out.print("*\n");
				}
			}
			catch (Exception e)
			{
				System.out.println("Napaka pri branju vhodnih podatkov."+
                                                   "Preveri klic programa!\n" + pomoc);
			}
		}
		else
		{
			//parametri niso OK - izpisi pomoc
			System.out.println(pomoc);
		}
	}
}

Point

public class Point
 
{ protected double x, y;
 
  public Point(double x, double y)    
  { this.x = x;      //this.x se nanasa na x iz vrstice "protected double x, y;"
    this.y = y;      //x se nanasa na x iz te funkcije
  }
 
  public double getX()	//vrne vrednost x
  { return x;
  }
 
  public double getY() //vrne vrednost y
  { return y;
  }
 
  public Point getLocation()
  { return new Point(x,y);
  }
 
  public void setLocation(double x, double y)
  { this.x = x;
    this.y = y;
  }
 
  public void translate(double dx, double dy)
  { x += dx;
    y += dy;
  }
 
  public String toString()
  { return new String("(" + (float)x + ","  + (float)y + ")");
  }      
}

TestPoint

Point lahko uporabimo v nekem drugem programu:

public class TestPoint {
  public static void main(String[] arg){
    Point p;
    p = new Point(1,5);                    //uporabi se konstruktor - iz Point.java
 
    System.out.println("Tocka p = "+p);    //uporabi se metoda toString() -----|
 
    System.out.println("Vrednost x za tocko p = "+p.getX());  //uporabi getX --|
 
    p.setLocation(2,3);                    //uporabi setLocation  -------------|    
 
    Point q = p.getLocation(); //kreira se nova tocka s koordinatami kot p
 
    System.out.println("\nTocka q = "+q);
 
    q.setLocation(4,2); 
    System.out.println("Tocka p = "+p);   //p ostane na istih koordinatah
 
    q = p; //s tem postane lokacija q enaka p (q postane pointer na p)
 
    p.setLocation(7,8); 
    q.setLocation(5,6); 
 
    System.out.println("\nTocka q = "+q);    
    System.out.println("Tocka p = "+p); 
 
 
    q.translate(5,-1); //spremenimo pozicijo, ker sta q in p na isti pomn. lokaciji
                                                 //se spremenita obe spremenljivki
 
    System.out.println("\nTocka q = "+q);    
  }
}

Izpis programa po zagonu:

Tocka p = (1.0,5.0)
Vrednost x za tocko p = 1.0

Tocka q = (2.0,3.0)
Tocka p = (2.0,3.0)

Tocka q = (5.0,6.0)
Tocka p = (5.0,6.0)

Tocka q = (10.0,5.0)
Press any key to continue...

Razredi v Javi

  • Preprost primer razreda pravokotnik v Javi, skupaj z ustreznimi metodami in primer uporabe takega razreda.
public class Pravokotnik
{
	protected double visina, sirina;
	Pravokotnik(double a, double b)
	{
		visina = a;
		sirina = b;
	}
 
	double povrsina()
	{
		return (visina*sirina);
	}
 
	double obseg()
	{
		return (2*visina + 2*sirina);
	}
}
public class TestPravokotnik
{
	public static void main(String[] args)
	{
		Pravokotnik pravokotnik1 = new Pravokotnik(10.0,5.2);
		System.out.println("Povrsina pravokotnika: "+pravokotnik1.povrsina());
		System.out.println("Obseg pravokotnika: "+pravokotnik1.obseg());
	}
}

Dedovanje

  • Primer naloge z dedovanjem

CopyDat.java

  • kopiranje ene datoteke v drugo tako da če sta dve sosednji crki enaki se izpiše/prekopira samo ena.
import java.io.*;
 
public class read
{
    static final int EOF = -1;  
    public static void main(String[] args) throws IOException 
    {
 
        File inputFile = new File("in.txt");
        File outputFile = new File("out.txt");
 
        FileReader in = new FileReader(inputFile);
        FileWriter out = new FileWriter(outputFile);
        int c,temp;
        c =in.read();
        temp=in.read()+1;//inicijalizacija temp ki mora da je karkoli razlicno od c
        while (c != EOF)
        { 
 
           if(c!=temp)
              out.write(c);
           temp=c;  //temp-u dodeljujemo sedajna vrednost  c-ja.
                         // ker v naslednjem koraku se bo vrednost v c-ju spremenila
           c =in.read();//(azuriranje) , nova vrednost c-ja
        }
 
        in.close();
        out.close();
    }
 
}


Primer z eventi

Krog-kvadrat igrica v javi

Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja