Găsim directoriul aplicației

public class MainClass{

public static void main(String[] args){
System.out.println(System.getProperty ("user.dir"));
}

}

Calculeaza cât de repede compileaza compu programul

public class MainClass {
public static void main(String[] a) {
long start = System.currentTimeMillis();
long end = System.currentTimeMillis();
System.out.println("It took " + (end - start) + " milliseconds");
}

}

Copiem un tablou


public class MainClass {

public static void main(String[] args) {
int[] array1 = {1, 2, 3, 4};
int[] array2 = new int[array1.length];
System.arraycopy(array1, 0, array2, 0, array1.length);
for (int i : array2) {
System.out.print(" " + i);
}
}
}

Pune stringul scris cite un caracter pe rand

import java.io.IOException;

public class MainClass {

public static void main(String[] args) {

try {
char c = (char) System.in.read();
while (c != '\n') {
System.out.println(c);
c = (char) System.in.read();
}
} catch (IOException e) {
}}}

Cautare in adincime limitata + COD Final fantasy

import java.applet.Applet;
import java.awt.Button;
import java.awt.Event;
import java.awt.Font;
import java.awt.Graphics;

public class index extends Applet {

Font f = new Font("Calibri", Font.BOLD, 20);
int valoare = 0;
Button next;

@Override
public void init() {
next = new Button("Urmatoarea ramura");
add(next);
}

@Override
public boolean action(Event e, Object args) {

if (e.target == next) //target = apasa
{
valoare++;
}
addNode();
return true;
}

@Override
public void paint(Graphics g) {
}

public void addNode() {
Graphics g = this.getGraphics();

g.drawString("1. initializeaza listele FRONTIERA ?{Si} si TERITORIU ?{}", 20, 560);
g.drawString("2. daca FRONTIERA={} atunci întoarce INSUCCES /*nu exista solutie*/", 20, 575);
g.drawString("3. elimina primul nod S din FRONTIERA si insereaza-l în TERITORIU", 20, 590);
g.drawString("4. daca adancime(S) = Hmax atunci repeta de la pasul 2 expandeaza nodul S", 20, 605);
g.drawString("4.1. genereaza toti succesorii directi Sj ai nodului S", 20, 620);
g.drawString("4.2. pentru fiecare succesor Sj (1=j=n) al lui S executa", 20, 635);
g.drawString("4.2.1. stabileste legatura Sj ? S", 20, 650);
g.drawString("4.2.2. daca Sj este stare finala atunci", 20, 665);
g.drawString("i. solutia este (Sj, S, ..., Si)", 20, 680);
g.drawString("ii. întoarce SUCCES /* a fost gasita solutia */", 20, 695);
g.drawString("4.2.3.Toate starile anterior generate în solutia partiala curenta atunci insereaza Sj în FRONTIERA,la inceput", 650, 560);

g.drawString("5. repeta de la pasul 2", 650, 575);
g.drawString("Dezavantajul cautarii este posibilitatea blocarii într-o cale gresit aleasa", 660, 590);
g.drawString("Pasul1: Pleaca din radacina se duce in nodul a1 si apoi in a1.1 si vede dk a gasit solutia prima data", 650, 605);
g.drawString("Pasul2: Revine in radacina", 650, 620);
g.drawString("Pasul3: Pleaca pe traseul Root a1 a1.1", 650, 635);
g.drawString("Pasul4: Pleaca pe traseul Root,a2,a2.1", 650, 650);
g.drawString("Pasul5: Pleaca pe traseul Root,a2,a2.2", 650, 665);
g.drawString("Pasul6: Revine in radacina", 650, 680);
g.drawString("Pasul7: Pleaca pe traseul Root,a3 si atat deoarece a3 nu are descendenti", 650, 695);


g.setFont(f);
g.drawString("Cautare in adincime limitata ", 20, 20);
g.drawString("Lungimea = 2", 20, 50);
g.drawRoundRect(615, 40, 40, 40, 40, 40);
g.drawString("1", 631, 67);

g.drawString("n=0", 431, 67);


if (valoare == 2) {
g.drawRoundRect(460, 140, 40, 40, 40, 40);
g.drawLine(616, 70, 500, 150);// ramura stinga
g.drawString("2", 475, 166);

g.drawString("n=1", 275, 166);

} else if (valoare == 3) {
g.drawRoundRect(760, 140, 40, 40, 40, 40);
g.drawString("3", 775, 166);
g.drawLine(656, 70, 762, 150);//ramura dreapta

} else if (valoare == 4) {
g.drawRoundRect(338, 268, 40, 40, 40, 40);//1 inel
g.drawString("4", 353, 294);
g.drawString("n=2", 163, 294);
g.drawLine(460, 165, 370, 270);//ramura stinga

} else if (valoare == 5) {
g.drawRoundRect(568, 268, 40, 40, 40, 40);//2 inel
g.drawString("5", 583, 294);
g.drawLine(500, 165, 580, 270);//ramura dreapta
} else if (valoare == 6) {
g.drawRoundRect(640, 268, 40, 40, 40, 40);//3 inel
g.drawString("6", 655, 294);
g.drawLine(760, 165, 670, 270);//ramura stinga
// g.drawLine(747, 165, 682, 240);//linia sageata
// g.drawLine(682, 240, 682, 230);//linia in sus
// g.drawLine(682, 240, 692, 240);//linia in dreapta ... sageata
} else if (valoare == 7) {
g.drawRoundRect(870, 268, 40, 40, 40, 40);//4 inel
g.drawString("7", 885, 294);
g.drawLine(800, 165, 880, 270);//ramura dreapta

// g.drawLine(814, 165, 870, 240);//linia sageata
// g.drawLine(870, 240, 870, 230);//sageata in uss
// g.drawLine(870, 240, 860, 240);//sageata in stinga

} else if (valoare == 8) {
g.drawRoundRect(240, 398, 40, 40, 40, 40);//1 inel
g.drawString("8", 255, 424);
g.drawLine(340, 300, 270, 400);//ramura stinga
} else if (valoare == 9) {
g.drawLine(600, 70, 510, 130);// linia de la sageata
g.drawLine(510, 130, 510, 120);//de la sageata linia in sus
g.drawLine(510, 130, 520, 130);//de la sageata linia orizont
g.drawString("2", 520, 490);

} else if (valoare == 10) {
g.drawLine(447, 165, 382, 240);//linia sageata
g.drawLine(382, 240, 382, 230);//linia in sus
g.drawLine(382, 240, 392, 240);//linia in dreapta ... sageata
g.drawString("4", 540, 490);

} /*
else if (valoare == 11) {
g.drawLine(328, 300, 272, 380);//
g.drawLine(272, 380, 282, 380);// in dreapta linia
g.drawLine(272, 380, 272, 370);//
g.drawString("8", 560, 490);
}

else if (valoare == 12) {
g.drawLine(345, 315, 289, 395);//
g.drawLine(345, 315, 335, 315);//
g.drawLine(345, 315, 345, 325);//
g.drawString("4", 580, 490);

}
*/ else if (valoare == 11) {
g.drawLine(458, 185, 401, 251);//linia sageata
g.drawLine(448, 185, 458, 185);//linia sageata in dreapta
g.drawLine(458, 195, 458, 185);//linia sageata in dreapta
g.drawString("2", 560, 490);

} else if (valoare == 12) {
g.drawLine(514, 165, 570, 240);//linia sageata
g.drawLine(570, 240, 570, 230);//sageata in uss
g.drawLine(570, 240, 560, 240);//sageata in stinga
g.drawString("5", 580, 490);

} else if (valoare == 13) {
g.drawLine(500, 185, 550, 250);//linia sageata
g.drawLine(500, 185, 500, 195);//linia sageata in jos
g.drawLine(500, 185, 510, 185);
g.drawString("2", 600, 490);

} else if (valoare == 14) {
g.drawLine(616, 85, 534, 140);// linia de la sageata
g.drawLine(616, 85, 606, 85);// linia de la sageata in sus
g.drawLine(616, 85, 616, 95);// linia din jos de la sageata
g.drawString("1", 620, 490);

} else if (valoare == 15) {

g.drawLine(672, 70, 752, 130);//linia de la sageata
g.drawLine(752, 130, 742, 130);//linia de la sageata
g.drawLine(752, 130, 752, 120);//linia de la sageata
g.drawString("1-3", 620, 490);

/* g.drawLine(672, 70, 752, 130);//linia de la sageata
g.drawLine(672, 70, 682, 70);//linia de la sageata in jos
g.drawLine(672, 70, 672, 80);//linia de la sageata in jos

*/

} else if (valoare == 16) {

g.drawLine(758, 185, 701, 251);//linia sageata
g.drawLine(701, 251, 711, 251);//linia sageata
g.drawLine(701, 251, 701, 241);//linia sageata
g.drawString("6", 657, 490);
} else if (valoare == 17) {

g.drawLine(747, 165, 682, 240);//linia sageata
g.drawLine(747, 165, 737, 165);
g.drawLine(747, 165, 747, 175);
g.drawString("3", 680, 490);
} else if (valoare == 18) {

g.drawLine(814, 165, 870, 240);//linia sageata
g.drawLine(870, 240, 870, 230);//sageata in uss
g.drawLine(870, 240, 860, 240);//sageata in stinga
g.drawString("7", 700, 490);
}

//Liniile
g.drawLine(500, 470, 712, 470);
g.drawLine(500, 495, 712, 495);
g.drawString("1", 500, 490);
}
}

Cautare cu cost uniform + COD

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

/**
*
* @author Samuray
*/
import java.applet.Applet;
import java.awt.Button;
import java.awt.Event;
import java.awt.Font;
import java.awt.Graphics;

public class index_cost extends Applet {

Font f = new Font("Calibri", Font.BOLD, 20);
Font s = new Font("Calibri", Font.BOLD, 12);
int valoare = 0;
Button next;

@Override
public void init() {
next = new Button("Urmatoarea ramura");
add(next);
}

@Override
public boolean action(Event e, Object args) {

if (e.target == next) //target = apasa
{
valoare++;
}
addNode();
return true;
}

@Override
public void paint(Graphics g) {
}

public void addNode() {

Graphics g = this.getGraphics();

g.drawString("1.initializeaza listele FRONTIERA ?{Si} si TERITORIU ?{}", 20, 560);
g.drawString("2. calculeaza f(Si) si asociaza aceasta valoare nodului Si", 20, 575);
g.drawString("3. daca FRONTIERA={} atunci întoarce INSUCCES /*nu exista solutie*/", 20, 590);
g.drawString("4. selecteaza din FRONTIERA un nod S pentru care f(S) este minima", 20, 605);
g.drawString("5. elimina nodul S din FRONTIERA si insereaza-l în TERITORIU", 20, 620);
g.drawString("6. daca S este starea finala atunci", 20, 635);
g.drawString("6.1. construieste solutia(S,..., Si), prin trasarea caii de-a lungul pointer-ilor de la scop înapoi la starea initiala, Si", 20, 650);
g.drawString("6.2 întoarce SUCCES /* s-a gasit solutia problemei */", 20, 665);
g.drawString("7. expandeaza nodul S", 370, 665);
g.drawString("7.1. genereaza toti succesorii directi Sj ai nodului S", 20, 680);
g.drawString("7.2. pentru fiecare succesor Sj (1=j=n) al lui S executa", 20, 695);

g.drawString("7.2.1. calculeaza f(Sj) = g(S) + cost_arc(S, Sj) + h(Sj) si asociaza valoarea lui Sj", 650, 560);
g.drawString("7.2.2. stabileste legatura fiu – parinte Sj -> S, prin atasarea unui pointer de la Sj înapoi la S", 650, 575);
g.drawString("7.2.3 daca Sj ? toate starile anterior generate în solutia partiala curenta atunci introduce Sj în FRONTIERA", 650, 590);
g.drawString("7.2.4 altfel i. fie S’j copia lui Sj din FRONTIERA sau TERITORIU ii. daca g(Sj) < g(S’j) atunci", 650, 605);
g.drawString("* transforma legatura S’j -> predecesor(S’j) în legatura S’j -> S", 650, 620);
g.drawString("* înlocuieste f(S’j) asociata lui S’j cu f(Sj) (se modifica doar g) daca S’j ? TERITORIU atunci", 650, 635);
g.drawString("*elimina S’j din TERITORIU si insereaza-l în FRONTIERA iii. ignora nodul Sj", 650, 650);
g.drawString("8. repeta de la pasul 3", 650, 665);

g.setFont(f);
g.drawString("Cautare cu cost uniform", 20, 20);

g.drawRoundRect(615, 40, 40, 40, 40, 40);
g.drawString("1", 631, 67);
if (valoare == 2) {
g.drawRoundRect(460, 140, 40, 40, 40, 40);
g.drawLine(616, 70, 500, 150);// ramura stinga
g.drawString("2", 475, 166);
g.drawLine(500, 161, 760, 161); // linia ce leaga 2 cu 3
} else if (valoare == 3) {
g.drawRoundRect(760, 140, 40, 40, 40, 40);
g.drawString("3", 775, 166);
g.drawLine(656, 70, 762, 150);//ramura dreapta
} else if (valoare == 4) {
g.drawRoundRect(338, 268, 40, 40, 40, 40);//1 inel
g.drawString("4", 353, 294);
g.drawLine(460, 165, 370, 270);//ramura stinga
} else if (valoare == 5) {
g.drawRoundRect(870, 268, 40, 40, 40, 40);//4 inel
g.drawString("5", 885, 294);
g.drawLine(800, 165, 880, 270);//ramura dreapta
} else if (valoare == 6) {
g.drawRoundRect(990, 268, 40, 40, 40, 40);//4 inel
g.drawString("7", 1005, 294);
g.drawLine(910, 288, 990, 288);//ramura dreapta
} else if (valoare == 7) {
g.drawRoundRect(990, 400, 40, 40, 40, 40);//4 inel
g.drawString("10", 1000, 424);
g.drawLine(1010, 310, 1010, 400);//ramura dreapta
} else if (valoare == 8) {
g.drawRoundRect(870, 400, 40, 40, 40, 40);//4 inel
g.drawString("6", 885, 424);
g.drawLine(890, 310, 890, 400);//ramura dreapta
} else if (valoare == 9) {
g.drawRoundRect(240, 398, 40, 40, 40, 40);//1 inel
g.drawString("5", 255, 424);
g.drawLine(340, 300, 270, 400);//ramura stinga
} else if (valoare == 10) {
g.drawRoundRect(750, 500, 40, 40, 40, 40);//4 inel
g.drawString("8", 765, 527);
g.drawLine(875, 437, 785, 507);//ramura dreapta
} else if (valoare == 11) {
g.drawRoundRect(990, 500, 40, 40, 40, 40);//4 inel
g.drawString("9", 1005, 527);
g.drawLine(906, 435, 998, 505);//ramura dreapta

g.drawString("4", 710, 100);

g.drawString("5", 635, 150);
g.drawString("3", 385, 200);
g.drawString("6", 850, 200);
g.drawString("7", 280, 320);
g.drawString("8", 900, 340);
g.drawString("1", 1030, 340);
g.drawString("9", 930, 305);
g.drawString("3", 960, 470);
g.drawString("2", 820, 470);
g.drawString("12", 525, 100);
} else if (valoare == 12) {
g.drawLine(670, 70, 762, 137);//ramura dreapta
g.drawLine(762, 137, 752, 137);//ramura dreapta
g.drawLine(762, 137, 762, 127);//ramura dreapta
g.drawString("3", 520, 390);
} else if (valoare == 13) {
g.drawLine(813, 165, 883, 256);//ramura dreapta
g.drawLine(883, 256, 873, 256);//ramura dreapta
g.drawLine(883, 256, 883, 246);//ramura dreapta
g.drawString("5", 540, 390);
} else if (valoare == 14) {
g.drawLine(915, 276, 985, 276);//ramura dreapta
g.drawLine(985, 276, 972, 269);//ramura dreapta
g.drawLine(985, 276, 972, 284);//ramura dreapta
g.drawString("7", 560, 390);
} else if (valoare == 15) {
g.drawLine(1020, 313, 1020, 390);//ramura dreapta
g.drawLine(1020, 390, 1010, 380);//ramura dreapta
g.drawLine(1020, 390, 1030, 380);//ramura dreapta
g.drawString("10", 580, 390);
}
//Liniile
g.drawLine(500, 370, 600, 370);
g.drawLine(500, 395, 600, 395);
g.drawString("1", 500, 390);
}
}

Parcurgere in latime


import java.applet.Applet;
import java.awt.Button;
import java.awt.Color;
import java.awt.Event;
import java.awt.Font;
import java.awt.Graphics;

public class index extends Applet {

Font f = new Font("Calibri", Font.BOLD, 20);
int valoare = 0;
Button next;

@Override
public void init() {
next = new Button("Urmatoarea ramura");
add(next);
}

@Override
public boolean action(Event e, Object args) {

if (e.target == next) //target = apasa
{
valoare++;
}
addNode();
return true;
}

@Override
public void paint(Graphics g) {
setBackground(Color.gray);
}

public void addNode() {
Graphics g = this.getGraphics();
g.setFont(f);
g.drawString("Parcurgere în lăţime", 20, 20);
g.drawRoundRect(615, 40, 40, 40, 40, 40);
g.drawString("1", 631, 67);



if (valoare == 2) {
g.drawRoundRect(460, 140, 40, 40, 40, 40);
g.drawLine(616, 70, 500, 150);// ramura stinga
g.drawString("2", 475, 166);

} else if (valoare == 3) {
g.drawRoundRect(760, 140, 40, 40, 40, 40);
g.drawString("3", 775, 166);
g.drawLine(656, 70, 762, 150);//ramura dreapta

} else if (valoare == 4) {
g.drawRoundRect(338, 268, 40, 40, 40, 40);//1 inel
g.drawString("4", 353, 294);

g.drawLine(460, 165, 370, 270);//ramura stinga

} else if (valoare == 5) {
g.drawRoundRect(568, 268, 40, 40, 40, 40);//2 inel
g.drawString("5", 583, 294);
g.drawLine(500, 165, 580, 270);//ramura dreapta

} else if (valoare == 6) {
g.drawRoundRect(640, 268, 40, 40, 40, 40);//3 inel
g.drawString("6", 655, 294);
g.drawLine(760, 165, 670, 270);//ramura stinga

} else if (valoare == 7) {
g.drawRoundRect(870, 268, 40, 40, 40, 40);//4 inel
g.drawString("7", 885, 294);
g.drawLine(800, 165, 880, 270);//ramura dreapta


} else if (valoare == 8) {
g.drawRoundRect(240, 398, 40, 40, 40, 40);//1 inel
g.drawString("8", 255, 424);
g.drawLine(340, 300, 270, 400);//ramura stinga
}

else if (valoare == 9) {
g.drawLine(600, 70, 510, 130);// linia de la sageata
g.drawLine(510, 130, 510, 120);//de la sageata linia in sus
g.drawLine(510, 130, 520, 130);//de la sageata linia orizont
g.drawString("2", 520, 490);
} else if (valoare == 10) {
g.drawLine(510, 160, 740, 160);
g.drawLine(740, 160, 730, 150);
g.drawLine(740, 160, 730, 170);
g.drawString("3", 540, 490);

} else if (valoare == 11) {
g.drawString("4", 560, 490);
g.drawLine(720, 175, 390, 275);
g.drawLine(390, 275, 405, 280);
g.drawLine(390, 275, 400, 265);

} else if (valoare == 12) {
g.drawString("5", 580, 490);
g.drawLine(400, 290, 550, 290);
g.drawLine(550, 290, 540, 280);
g.drawLine(550, 290, 540, 300);
}
else if (valoare == 13) {
g.drawString("6", 600, 490);
g.drawLine(613, 290, 637, 290);
g.drawLine( 637, 290, 630, 300);
g.drawLine( 637, 290, 630, 280);
}
else if (valoare == 14) {
g.drawString("7", 620, 490);
g.drawLine(700, 290, 850, 290);
g.drawLine(850, 290, 840, 280);
g.drawLine(850, 290, 840, 300);
}
else if (valoare == 15) {
g.drawString("8", 640, 490);
g.drawLine( 285, 415, 865, 305 );
g.drawLine( 285, 415, 295, 405);
g.drawLine( 285, 415, 296, 420);

}
//Liniile
g.drawLine(500, 470, 650, 470);
g.drawLine(500, 495, 650, 495);
g.drawString("1", 500, 490);
}
}