Primeri nalog iz jave
Iz E-študij, proste zakladnice študentskega znanja
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(); } }