Uvod u programiranje Maja Čić
Nizovi
Rad s nizovima upoznat ćemo na sljedećim primjerima:
1. Ispisivanje elemenata niza na ekran
public class Niz1{ public static void main(String[] args) { int[] list; // deklariranje varijable list tipa niza intigera list = new int[] {1, 2, 3, 4, 5}; // pridruzivanje vrijednosti varijabli list for (int i = 0; i < list.length; i++) { System.out.println( list[i] ); // Ispisivanje elementa niza } } }
2. Sumiranje elemenata niza
public class Niz2{ public static void main(String[] args) { double[] A = {1., 2., 3., 4., 5.}; // deklariranje varijable A tipa niza double // i pridruzivanje vrijednosti double sum; // The sum of the numbers in A. sum = 0; // Start with 0. for (int i = 0; i < A.length; i++) sum += A[i]; // add A[i] to the sum, for // i = 0, 1, ..., A.length - 1 System.out.println(sum); } }
3. Ispisivanje svih parametara naredbene linije (command-line arguments).
Prilikom pokretanja ovog programa potrebno je navesti niz vrijednosti
npr. d:>java CLDemo 1 2 3 4 5public class CLDemo { public static void main(String[] args) { System.out.println("Unjeli ste " + args.length + " command-line parametara."); if (args.length > 0) { System.out.println("Uneseni su parametri:"); for (int i = 0; i < args.length; i++) System.out.println(" " + args[i]); } } // kraj main() metode } // kraj klase CLDemo
4. Pronalazenje nekog elementa niza.
Definirat ćemo svoju metodu find.public class Nadji{ // Definiranje metode find za pronalazenje točno određenog elementa niza static int find(int[] A, int n) { // Pretražuj niz A dok ne nađeš vrijednost n. for (int index = 0; index < A.length; index++) { if ( A[index] == n ) return index; // n has been found at this index! } // Ako je program došao do ove točke, znači da n nije pronađen. // Zato vrati vrijednost -1. return -1; } public static void main(String[] args) { int[] list; // deklariranje varijable list tipa niza integera list = new int[] {1, 2, 3, 4, 5}; int i; i = find(list, 3); // poziv metode find // da bi pronašli na kojem se mjestu u nizu nalazi vrijednost 3 System.out.println("Element 3 se nalazi u polju, i to s indeksom " + i); } // kraj metode main } // kraj klase Nadji
5. Rad sa StringBufferom.
public class Stringovi{ public static void main(String[] args) { char[] tekstualnoPolje={'I','m','e',' ','p','r','e','z','i','m','e'}; // testiraj: System.out.println("tekstualnoPolje = " + tekstualnoPolje); // Dakle, niz karaktera se ne moze ispisati lijepo funkcijom println. // Zato ga treba prevesti u String: String tekst= String.copyValueOf(tekstualnoPolje); // Pogledajmo sad ispis: System.out.println("tekst= " + tekst); // Nova klasa za rad sa stringovima je StringBuffer StringBuffer a = new StringBuffer("Nice String"); System.out.println("StringBuffer a= " + a); // U klasi StringBuffer definirano je vise metoda. Neke od njih su append, reverse, insert, charAt // pogledajmo primjere: a.append(" again"); System.out.println("Novi StringBuffer a= " + a); a.append(" stop").append(" repeating"); System.out.println("Nakon append je StringBuffer a= " + a); a.reverse(); System.out.println("Obrnuto, StringBuffer a= " + a); // Primjer dodavanja drugih tipova podataka u StringBuffer: StringBuffer buf = new StringBuffer("Broj"); long no=999; buf.append(no); System.out.println("StringBuffer buf = " + buf); boolean x = true; buf.append(x); System.out.println("StringBuffer buf = " + buf); // umetanje karaktera u StringBuffer buf.insert(4," tekst "); System.out.println("StringBuffer buf = " + buf); // promjena karaktera u StringBufferu buf.setCharAt(4,'A'); System.out.println("StringBuffer buf = " + buf); // Ispitivanje karaktera na određenom mjestu unutar StringBuffera char c = buf.charAt(7); System.out.println("Nadjen je karakter: " + c); // pretvaranje StringBuffera u String String tekst2 = buf.toString(); System.out.println(tekst2); } }