Forum Sveta kompjutera  

Nazad   Forum Sveta kompjutera > Test Run > Programiranje

Programiranje Programski jezici, tehnike, alatke...

Odgovor
 
Alatke vezane za temu Vrste prikaza
Stara 12.8.2015, 11:31   #241
brano88
Član
 
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 25
Zahvaljeno 59 puta na 46 poruka
Određen forumom Re: How to... Java

Citat:
Iliti konkretnije ako je close u try blocku, bilo kakav exception bi doveo da konekcije koja nikad nece biti zatvorena.
Naravno. Uz uslov da se konekcija uspjesno otvori. Treba nekad sjesti i razmisliti kako try-catch-finally funkcionise.
brano88 je offline   Odgovor sa citatom ove poruke
Stara 4.1.2016, 20:44   #242
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Radila sam zadatak koji je veoma jednostavan, naime, date su koordinate tri tačke, A(a1, a2), B(b1, b2) i C (c1, c2) koje formiraju trougao i data je neka tačka P (x, y). Treba odrediti da li postoji trougao ABC i ako postoji da li tačka P leži unutar njega.
Ukoliko se tačka P nalazi unutar trougla, onda će povrsina(APB)+povrsina(APC)+povrsina(BPC)=povrsina (ABC).
Ovo je kod koji sam ja iskucala:

HTML kod:
public static double rastojanje (double x1, double y1, double x2, double y2){
		double rast=Math.sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
		return rast;
	}
	public static double povrsina (double a, double b, double c){
		double s=((a+b+c)/2);
		double pov=Math.sqrt(s*(s-a)*(s-b)*(s-c));
		return pov;
	}
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner ulaz=new Scanner (System.in);
		double a1, a2, b1, b2, c1, c2, x, y;
		a1=ulaz.nextDouble();
		a2=ulaz.nextDouble();
		b1=ulaz.nextDouble();
		b2=ulaz.nextDouble();
		c1=ulaz.nextDouble();
		c2=ulaz.nextDouble();
		x=ulaz.nextDouble();
		y=ulaz.nextDouble();
		
		double a=rastojanje (b1, b2, c1, c2);
		double b=rastojanje (a1, a2, c1, c2);
		double c=rastojanje (b1, b2, c1, c2);
		
		if (a+b>c && a+c>b && b+c>a){
			double pc=rastojanje (x, y, c1, c2);
			double pa=rastojanje (x, y, a1, a2);
			double pb=rastojanje (x, y, b1, b2);
			double pov=povrsina(a, b, c);
			double pov1=povrsina(pa, pc, b);
			double pov2=povrsina(pa, pb, c);
			double pov3=povrsina (pb, pc, a);
			double povuk=pov1+pov2+pov3;
			if (povuk==pov){
				System.out.print("Trougao postoji i tacka sa koordinatama: " + x + y + " pripada trouglu");
			}
			else {
				System.out.print("Trougao postoji ali tacka ne pripada trouglu");
			}
		}
		else 
			System.out.print("Trougao ne postoji");
	}
ali, problem je u tome što ni za očigledan primjer mi ne pokazuje tačno, tj. iako je tačka unutar trougla meni štampa da tačka nije unutar trougla.

Da li neko možda zna gdje je greška?
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 5.1.2016, 0:33   #243
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 10.161
Zahvalnice: 1.574
Zahvaljeno 4.371 puta na 2.445 poruka
Određen forumom Re: How to... Java

Pre nego što uradiš "if (povuk == pov)", uradi

System.out.println("Povuk: " + povuk + ", pov: " + pov);

I vidi da li su brojevi baš različiti, ili su blizu. U prvom slučaju ti ne valja algoritam, u drugom se radi o grešci u zaokruživanju.

Kod reprezentacije realnih brojeva na kompjuteru uvek može da postoji greška u zaokruživanju (vidi floating point na wikipediji), a pritom ako vršiš sabiranje (kao npr pov1 + pov2 + pov3), greška se samo povećava. Zato se preporučuje da se double i float vrednosti ne porede direktno sa == , nego sa nekom tolerancijom, na primer za toleranciju od 2%:

if ((povuk > pov * 0.98) && (povuk < pov * 1.02)) { ... }
voodoo_ je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku voodoo_ na korisnoj poruci:
ballerina72 (6.1.2016)
Stara 5.1.2016, 1:03   #244
Neutrino
Deo inventara foruma
 
Član od: 17.6.2011.
Poruke: 6.519
Zahvalnice: 88
Zahvaljeno 2.782 puta na 1.722 poruka
Određen forumom Re: How to... Java

What Every Computer Scientist Should Know About Floating-Point Arithmetic

Dosadna matematika može da se preskoči.
Neutrino je offline   Odgovor sa citatom ove poruke
Stara 5.1.2016, 15:59   #245
korisnickoime
Član
 
Član od: 15.12.2011.
Poruke: 149
Zahvalnice: 27
Zahvaljeno 48 puta na 43 poruka
Određen forumom Re: How to... Java

Citat:
voodoo_ kaže: Pregled poruke
if ((povuk > pov * 0.98) && (povuk < pov * 1.02)) { ... }
ili ovako nekako:
Kod:
double eps = 0.0001;
if (Math.abs(var1 - var2) < eps) {...}
korisnickoime je offline   Odgovor sa citatom ove poruke
Sledeći korisnik se zahvaljuje korisniku korisnickoime na korisnoj poruci:
voodoo_ (5.1.2016)
Stara 5.1.2016, 20:34   #246
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 10.161
Zahvalnice: 1.574
Zahvaljeno 4.371 puta na 2.445 poruka
Određen forumom Re: How to... Java

U moju odbranu, kucao sam kasno posle dugog radnog dana
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 6.1.2016, 12:49   #247
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Ipak nije greška u zaokruživanju

Ali u svakom slučaju, hvala na savjetima!
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 6.1.2016, 15:57   #248
ETR1
Veteran
 
Član od: 7.9.2012.
Poruke: 628
Zahvalnice: 96
Zahvaljeno 99 puta na 84 poruka
Određen forumom Re: How to... Java

Možda da u IF-u staviš u zagradu (a+b) > c, itd... ovako možda samo poredi b sa c.
ETR1 je offline   Odgovor sa citatom ove poruke
Stara 6.1.2016, 23:20   #249
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Nije tu problem... Danas nisam imala vremena, ali ću sjutra zadatak odraditi (kako bi moja baba rekla) 'Jovo nanovo', pa nadam se da će program ispravno raditi. Ako to ne uspije, pa ništa, čekam da počne škola profesoricu da pitam.
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 8.1.2016, 15:13   #250
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 10.161
Zahvalnice: 1.574
Zahvaljeno 4.371 puta na 2.445 poruka
Određen forumom Re: How to... Java

Za svaki slučaj, nakon unosa parametara uradi i njihov ispis, možda Scanner nije lepo isparsirao...
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 17:30   #251
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Pronašla sam grešku, formula za rastojanje između dvije tačke u koordinatnom sistemu mi je bila pogrešna, treba da stoji (x1-y1)^2 + (x2-y2)^2 a ne (x1-x2)^2 + (y1-y2)^2...

ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 18:13   #252
Andross
Kekule Mekule
 
Avatar korisnika Andross
 
Član od: 8.12.2005.
Lokacija: Beograd
Poruke: 3.522
Zahvalnice: 545
Zahvaljeno 930 puta na 495 poruka
Slanje poruke preko Skypea korisniku Andross
Određen forumom Re: How to... Java

Formula za rastojanje jeste koren iz (x-x1)^2 + (y-y1)^2...
Andross je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 19:56   #253
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

https://profesorka.wordpress.com/201...inatnoj-ravni/

Ovdje sam ovu formulu našla... O.o
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 22:21   #254
ivan90BG
Veteran
 
Član od: 3.5.2008.
Lokacija: Beograd
Poruke: 760
Zahvalnice: 81
Zahvaljeno 213 puta na 144 poruka
Određen forumom Re: How to... Java

Lapsus običan u tekstu. A ti si lapsus napravila ovde:
Kod:
double a=rastojanje (b1, b2, c1, c2);
double b=rastojanje (a1, a2, c1, c2);
double c=rastojanje (b1, b2, c1, c2);
Napisala si istu stvar u prvoj i trećoj liniji, fali ti rastojanje između (a1,a2) i (b1,b2). Debagovao sam, to je to. Inače umesto povuk==pov stavi ono što je @korisnickoime napisao, bez toga će uvek da iskače.

Još jedna sugestija, za proveru postojanja trougla dovoljno je da se proveri da li su sve stranice duže od 0 (trougao je dat u koordinatama, pa se ne može desiti da jedna od stranica bude duža od zbira druga dve)

Poslednja ispravka: ivan90BG (10.1.2016 u 23:21)
ivan90BG je offline   Odgovor sa citatom ove poruke
Stara 10.1.2016, 23:35   #255
ballerina72
Član
 
Član od: 21.5.2014.
Lokacija: Podgorica
Poruke: 76
Zahvalnice: 36
Zahvaljeno 19 puta na 13 poruka
Slanje poruke preko Skypea korisniku ballerina72
Određen forumom Re: How to... Java

Citat:
Andross kaže: Pregled poruke
Formula za rastojanje jeste koren iz (x-x1)^2 + (y-y1)^2...
Kad sam sve nanovo kucala provjerila sam da li mi je dobra formula za rastojanje i gledala sam samo glavnu formulu (na ovom linku koji sam gore stavila), koja je očigledno pogrešna, a ja nisam ni malo razmišljala...


Citat:
ivan90BG kaže: Pregled poruke

Napisala si istu stvar u prvoj i trećoj liniji, fali ti rastojanje između (a1,a2) i (b1,b2). Debagovao sam, to je to. Inače umesto povuk==pov stavi ono što je @korisnickoime napisao, bez toga će uvek da iskače.
Sad u potpunosti radi!

Hvalaaa!!!
Ubuduće odmah ću kod kucati nanovo i trudiću se da ne postavljam ovako lagane zadatke sa ovako glupim greškama...
ballerina72 je offline   Odgovor sa citatom ove poruke
Stara 6.3.2016, 2:27   #256
Markonije
Veteran
 
Član od: 14.3.2009.
Poruke: 1.171
Zahvalnice: 200
Zahvaljeno 268 puta na 173 poruka
Određen forumom Re: How to... Java

Jednom nam je profa iz programiranja rekao ,ako ima vise od 6 linija koda , ne pitajte me zasto ne radi kako treba
Markonije je offline   Odgovor sa citatom ove poruke
Stara 29.4.2016, 22:21   #257
brano88
Član
 
Član od: 1.7.2014.
Lokacija: Bijeljina
Poruke: 228
Zahvalnice: 25
Zahvaljeno 59 puta na 46 poruka
Određen forumom Re: How to... Java

Citat:
Markonije kaže: Pregled poruke
Jednom nam je profa iz programiranja rekao ,ako ima vise od 6 linija koda , ne pitajte me zasto ne radi kako treba
Vidim i zasto je profesor a ne developer.
brano88 je offline   Odgovor sa citatom ove poruke
Sledećih 2 korisnika se zahvaljuje korisniku brano88 na korisnoj poruci:
analayzer (30.4.2016), voodoo_ (30.4.2016)
Stara 30.4.2016, 12:56   #258
analayzer
Starosedelac
 
Član od: 2.6.2008.
Poruke: 1.668
Zahvalnice: 86
Zahvaljeno 289 puta na 272 poruka
Određen forumom Re: How to... Java

Citat:
brano88 kaže: Pregled poruke
Vidim i zasto je profesor a ne developer.
Ja bi da dodam da profa zna programing bio bi mali Bil Gejts a ne profesor.
analayzer je offline   Odgovor sa citatom ove poruke
Stara 24.5.2016, 14:43   #259
voodoo_
V.I.P. GNU/Linux
 
Avatar korisnika voodoo_
 
Član od: 1.11.2005.
Poruke: 10.161
Zahvalnice: 1.574
Zahvaljeno 4.371 puta na 2.445 poruka
Određen forumom Re: How to... Java

Ne znam gde ću, pa ću ovde:

Konkurs za Android i/ili iOS programera:

https://poslovi.infostud.com/posloda...ture-doo/43000
voodoo_ je offline   Odgovor sa citatom ove poruke
Stara 23.8.2016, 13:35   #260
Dreamfall
Starosedelac
 
Član od: 8.7.2006.
Lokacija: Tir ná Lia
Poruke: 1.848
Zahvalnice: 572
Zahvaljeno 888 puta na 511 poruka
Određen forumom Re: How to... Java

Posle flopa sa proucavanjem C++ krenuo bih ozbiljno da ucim Javu(osnove sam prosao, citao sam beginner knjige; Head First Java, 2nd Edition itd.) i sada planiram da odradim neki kurs koji ce me uputiti u neke ozbiljnije stvari. Ortak se kune u Aleph (tj Levi9 ) kurseve u Novom Sadu( Linak ).

Problem je sto ne znam koji od ponudjenih kurseva da izaberem jer bih mogao da radim sve u Javi Nekako me najvise zanima programiranje za Android, ali ne znam koliko je isplativo to znati Naravno znam da je kurs samo pocetak, a da se sve nadalje samostalno uci i to mi nije problem. Zanima me da li neko moze da podeli neka svoja iskustva sa ucenjem jave i da me posavetuje sa kojim kursem da krenem. Unapred hvala
Dreamfall je offline   Odgovor sa citatom ove poruke
Odgovor

Bookmarks sajtovi

Tagovi
java

Alatke vezane za temu
Vrste prikaza

Vaš status
Ne možete postavljati teme
Ne možete odgovarati na poruke
Ne možete slati priloge uz poruke
Ne možete prepravljati svoje poruke

BB kod: uključeno
Smajliji: uključeno
[IMG] kod: uključeno
HTML kod: isključeno


Slične teme
tema temu započeo forum Odgovora Poslednja poruka
Java - out of Memory Vajsmilan Aplikativni softver 6 6.2.2012 20:54
Android - pozivanje Java metoda iz native koda voodoo_ Programiranje 5 14.10.2011 8:59
Samsung D600 Java upload (USB cable) Aleksandar Programi za mobilne telefone 0 16.6.2008 13:54
Jel' se ovo misli na Java Script ili? Tim85 Internet tehnologije 2 7.12.2006 12:33
G-thing program za LG(imam U8180) za java igre trazim gde ima? besplatno?trial? Ilic Marko Programi za mobilne telefone 1 9.2.2006 14:09


Sva vremena su po Griniču +2 h. Sada je 15:27.


Powered by vBulletin® verzija 3.8.7
Copyright ©2000–2019, vBulletin Solutions, Inc.
Hosted by Beograd.com