Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 Ditra 25

Casti USB-C ptr A-54

Aplicatie medicala / asistent med...

De ce vor atația politicieni...
 ERR_ADDRESS_UNREACHABLE

Legea 18/1968 Se mai aplica?

Digi conectare 2 routere prin fir

Succesiune notar versus instanta ...
 Montaj aer conditionat in balcon ...

Cont curent mulți valuta far...

Sugestii plan casa

Experiente cu firme care cumpara ...
 

problema programare Java

- - - - -
  • This topic is locked This topic is locked
49 replies to this topic

#1
adryan_2525

adryan_2525

    New Member

  • Grup: Junior Members
  • Posts: 7
  • Înscris: 20.08.2017
Salutare. Am o problema de programare de facut in Java aceasta fiind urmatoarea: sa se calculeze unghiurile unui triunghi dat prin coordonatele varfurilor. M-ar ajuta un raspuns si ce formula as putea aplica de geometrie. Multumesc frumos

#2
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,428
  • Înscris: 10.08.2005
diferenta de arc tangent

#3
Qupidqu

Qupidqu

    Member

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017

View Postadryan_2525, on 20 august 2017 - 17:55, said:

Salutare. Am o problema de programare de facut in Java aceasta fiind urmatoarea: sa se calculeze unghiurile unui triunghi dat prin coordonatele varfurilor. M-ar ajuta un raspuns si ce formula as putea aplica de geometrie. Multumesc frumos

Salut  ti-am facut repejor un mic programel care face ce vrei tu:


import java.util.ArrayList;
public class App {
public static class Consola {
public static void tipareste(Object obj){
System.out.println(obj);
}
}
public static class Mesaje {
public static final String DREAPTA_OBLICA	 = "dreapta oblica";
public static final String DREAPTA_VERTICALA = "dreapta verticala";
public static final String DREAPTA_ORIZONTALA = "dreapta orizontala";
}

public class EroareTriunghi extends Exception {
private static final long serialVersionUID = 1L;
private String msg = "";
public EroareTriunghi(String msg) {
this.msg = msg;
}
@Override
public String getMessage() {
return "[Eroare validare triunghi]: " + this.msg;
}
}

public class Punct{
public int x = 0;
public int y = 0;

public Punct() {}
public Punct(int x, int y ) {
this.x = x;
this.y = y;
}
}

public class Dreapta{
public Punct A = new Punct();
public Punct B = new Punct();
public String pozitie = "";
public double panta = 0.0;
public boolean estePantaValida = false;
public String ecuatie = "y-yA = [(yB-yA)/(xB-xA)](x-xA)";
public double unghiInGradeCuAltaDreapta = 0.0;

public Dreapta() {}
public Dreapta(Punct A, Punct B) {
this.A = A;
this.B = B;
if (this.A.x == this.B.x) {
this.pozitie = Mesaje.DREAPTA_VERTICALA;
this.ecuatie = "x = xA";
}
else if (this.A.y == this.B.y) {
this.pozitie = Mesaje.DREAPTA_ORIZONTALA;
this.ecuatie = "y = yA";
this.estePantaValida = true;
}
else {
this.pozitie = Mesaje.DREAPTA_OBLICA;
this.estePantaValida = true;
}

this.ecuatie = this.ecuatie
		 .replace("xA", "" + this.A.x)
		 .replace("yA", "" + this.A.y)
		 .replace("xB", "" + this.B.x)
		 .replace("yB", "" + this.B.y);

}

public Dreapta calculUnghiCuAltaDreapta(Dreapta dreapta) {
if (dreapta.estePantaValida && this.estePantaValida) {
double raport = (dreapta.calculPanta() - this.calculPanta()) /(1.0 + dreapta.panta * this.panta);
this.unghiInGradeCuAltaDreapta = Math.atan(Math.abs(raport)) * 180.0/Math.PI;
}
else {
this.unghiInGradeCuAltaDreapta = 90.0;
}
return this;
}

private double calculPanta() {
double result = 0.0;
if(this.estePantaValida) {
//(yB-yA)/(xB-xA)
result = (this.B.y - this.A.y) * 1.0 / (this.B.x - this.A.x) * 1.0;
}
this.panta = result;
return this.panta;
}

}

public class Triunghi {
public double unghiA = 0.0;
public double unghiB = 0.0;
public double unghiC = 0.0;

public Dreapta AB = new Dreapta();
public Dreapta BC = new Dreapta();
public Dreapta CA = new Dreapta();

public Triunghi(Dreapta AB, Dreapta BC, Dreapta CA) throws EroareTriunghi{
double unghiA = AB.calculUnghiCuAltaDreapta(BC).unghiInGradeCuAltaDreapta;
double unghiB = BC.calculUnghiCuAltaDreapta(CA).unghiInGradeCuAltaDreapta;
double unghiC = CA.calculUnghiCuAltaDreapta(AB).unghiInGradeCuAltaDreapta;
boolean esteTriunghiulValid = (unghiA + unghiB + unghiC) <= 180.0;
if (esteTriunghiulValid) {
this.unghiA = unghiA;
this.unghiB = unghiB;
this.unghiC = unghiC;

this.AB = AB;
this.BC = BC;
this.CA = CA;
}
else {
throw new EroareTriunghi("dreptele nu formeaza un triunghi");
}
}

private String infoDreapta(String token, Dreapta dreapta) {
return "<token> are ecuatia <ecuatie> cu panta = <panta>"
	 .replace("<token>", token)
	 .replace("<ecuatie>", dreapta.ecuatie)
	 .replace("<panta>", dreapta.estePantaValida ? ("" + dreapta.panta) : "NEDEFINITA");
}

private String infoUnghi(String tokenA, String pozitie, double unghi, String tokenB) {
return "<tokenA> este <pozitie> si face un unghi de <unghi> grade cu <tokenB>"
	 .replace("<tokenA>",tokenA)
	 .replace("<pozitie>", pozitie)
	 .replace("<unghi>","" + unghi)
	 .replace("<tokenB>",tokenB);
}

public void genereazaRaportTriunghi() {
class Element{
	 public String token	 = "";
	 public Dreapta dreapta = new Dreapta();
	 public String nextToken = "";
	 public double unghi	 = 0.0;
	
public Element(String token, Dreapta dreapta, double unghi, String nextToken) {
	 this.token	 = token;
	 this.dreapta = dreapta;
	 this.unghi	 = unghi;
	 this.nextToken = nextToken;
}
}
ArrayList<Element> list = new ArrayList<Element>();
list.add(new Element("dreapta AB", AB, this.unghiA, "dreapta BC"));
list.add(new Element("dreapta BC", BC, this.unghiB, "dreapta CA"));
list.add(new Element("dreapta CA", CA, this.unghiC, "dreapta AB"));

list.forEach(elm->{
Consola.tipareste(this.infoDreapta(elm.token, elm.dreapta));
Consola.tipareste(this.infoUnghi(elm.token, elm.dreapta.pozitie, elm.unghi, elm.nextToken));
Consola.tipareste("");
});
}
}

public void run() {
try {
new Triunghi(
	 new Dreapta(new Punct(20, 50), new Punct(90, 50)),
	 new Dreapta(new Punct(12, 40), new Punct(90, 60)),
	 new Dreapta(new Punct(10, 30), new Punct(35, 75))
).genereazaRaportTriunghi();
} catch (EroareTriunghi errT) {
Consola.tipareste(errT.getMessage());
}
}

public static void main(String[] args) {
new App().run();
}
}

iar mai jos ai outputul pt un sample:
dreapta AB are ecuatia y = 50 cu panta = 0.0
dreapta AB este dreapta orizontala si face un unghi de 14.381394591090602 grade cu dreapta BC

dreapta BC are ecuatia y-40 = [(60-40)/(90-12)](x-12) cu panta = 0.2564102564102564
dreapta BC este dreapta oblica si face un unghi de 46.56400130983226 grade cu dreapta CA

dreapta CA are ecuatia y-30 = [(75-30)/(35-10)](x-10) cu panta = 1.8
dreapta CA este dreapta oblica si face un unghi de 60.94539590092286 grade cu dreapta AB

Mult succes in studiere codului
De asemeni ti-am atasat proiectelul din Eclipse ca sa-l poti rula ca sa studiezi work-flowul
Ca breviar teoretic, programelul implementeaza urmatorul breviar matematic: bye

Attached Files


Edited by Qupidqu, 03 September 2017 - 12:16.


#4
Qupidqu

Qupidqu

    Member

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017
Erata:
programelul are o un bug, pe care l-am gasit mai tarziu:
linia
 boolean esteTriunghiulValid = (unghiA + unghiB + unghiC) <= 180.0;  
se inlocuieste cu
boolean esteTriunghiulValid = ((int)(unghiA + unghiB + unghiC)) == 180;

Astfel pt datele de intrare
new Triunghi(
	 new Dreapta(new Punct(20, 50), new Punct(90, 50)),
	 new Dreapta(new Punct(112, 40), new Punct(90, 60)),
	 new Dreapta(new Punct(10, 30), new Punct(35, 75))
).genereazaRaportTriunghi();


avem outputul:
dreapta AB are ecuatia y = 50 cu panta = 0.0
dreapta AB este dreapta orizontala si face un unghi de 42.27368900609373 grade cu dreapta BC

dreapta BC are ecuatia y-40 = [(60-40)/(90-112)](x-112) cu panta = -0.9090909090909091
dreapta BC este dreapta oblica si face un unghi de 76.78091509298342 grade cu dreapta CA

dreapta CA are ecuatia y-30 = [(75-30)/(35-10)](x-10) cu panta = 1.8
dreapta CA este dreapta oblica si face un unghi de 60.94539590092286 grade cu dreapta AB


Edited by Qupidqu, 03 September 2017 - 13:29.


#5
adryan_2525

adryan_2525

    New Member

  • Grup: Junior Members
  • Posts: 7
  • Înscris: 20.08.2017
Multumesc pentru raspunsuri.

Eu intre timp am incercat sa fac rezolvarea ei pe hartie in felul urmator:

Am calculat lungimea segmentelor AB,BC,AC conform datelor de intrare (x,y)

https://imgur.com/Cn3DEDI

Apoi am facut cosinus pentru fiecare unghi

https://imgur.com/oZmu7rk

Apoi am calculat arccosinus de unde mi-a rezultat unghiul fiecarui punct.

Problema o am de facut pentru facultate la o materie cu numele de Programare Distribuita si trebuie sa o implementez prin anumite tehnologii si anume: Servlet, JSP, Sockets, RMI.

#6
Qupidqu

Qupidqu

    Member

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017

View Postadryan_2525, on 04 septembrie 2017 - 12:29, said:

Multumesc pentru raspunsuri.

Eu intre timp am incercat sa fac rezolvarea ei pe hartie in felul urmator:

Am calculat lungimea segmentelor AB,BC,AC conform datelor de intrare (x,y)

https://imgur.com/Cn3DEDI

Apoi am facut cosinus pentru fiecare unghi

https://imgur.com/oZmu7rk

Apoi am calculat arccosinus de unde mi-a rezultat unghiul fiecarui punct.

Problema o am de facut pentru facultate la o materie cu numele de Programare Distribuita si trebuie sa o implementez prin anumite tehnologii si anume: Servlet, JSP, Sockets, RMI.
Intersanta  rezolvarea pe care ai gasit-o.
Insta trebuie sa pui conditia ca
 (int) (arccosA + arccosB + arccosC) == 180 
ca sa formeze cele 3 drepte un triunghi.

Apoi metoda poti s-o pui in clasa servletului pe care o sa-l faci , servlet ce o sa primeasca ca parametrii de request coordonatele punctelor via un GET
deci clasa ta care va extinde  clasa servlet va trebui sa-i faci override la metoda doGet(...), de unde vei citii param de request si ii vei introduce in metoda ta , de unde ii
vei trimite fie catre un JSP via  obiectului PrintWriter  sau poti sa-i faci un JavaBean unde vei stoca rezultatul metodei,.
Apoi metodele obiectului JavaBean vor putea fi accesate direct din JSP prin intermediul  fie lui JSTL sau JSP-EL.

PS: Cand o sa timp o sa-ti fac un mic exemplu de proiect in Java EE care face ce am zis mai sus, insa cu metoda gasita de tine.
Proiectelul va folosi  serverul Tomcat de la apache.
Acum sunt prins in niste dead-lineuri dar cum scap de ele voi atasa proiectelul in  Java EE , aici
Toate cele bune.

Edited by Qupidqu, 04 September 2017 - 14:57.


#7
adryan_2525

adryan_2525

    New Member

  • Grup: Junior Members
  • Posts: 7
  • Înscris: 20.08.2017
Multumesc. O sa ma revansez fata de tine.

#8
Qupidqu

Qupidqu

    Member

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017

View Postadryan_2525, on 05 septembrie 2017 - 09:15, said:

Multumesc. O sa ma revansez fata de tine.
Nu trebuie, eu ajut pe cine se ajuta.Posted Image

#9
IllusiveMan

IllusiveMan

    Member

  • Grup: Members
  • Posts: 750
  • Înscris: 02.07.2017

View Postadryan_2525, on 05 septembrie 2017 - 09:15, said:

Multumesc. O sa ma revansez fata de tine.
Aha... multumeste-i pentru dume... dincolo de diverse balarii aiuristice oop/java din codul lui Qupidqu, codul nu tine cont de cerinta: triunghi dat prin coordonatele varfurilor ... dincolo de asta, programul esueaza lamentabil chiar si daca am lua in cacul zona de triunghi formata de niste drepte infinite... caci programelul ofera raspunsuri aparent valide la o figura de acest tip:

[ https://i.imgur.com/XTw1h9u.png - Pentru incarcare in pagina (embed) Click aici ]

Avand senzatia ca ar fi vreun triunghi, cand dreptele se intersecteaza doar intr-un punct.

Poate n-ar fi rau sa te chinui tu ceva, decat sa ceri mura-n gura...

Edited by IllusiveMan, 06 September 2017 - 02:44.


#10
adryan_2525

adryan_2525

    New Member

  • Grup: Junior Members
  • Posts: 7
  • Înscris: 20.08.2017
Am reusit sa fac cate ceva in Netbeans dar dau de niste erori..

MyServlet.java

import java.io.IOException;
import static java.lang.Math.sqrt;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletOutputStream;

public class MyServlet extends HttpServlet {
  public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException {
	ServletOutputStream out=res.getOutputStream();
	String ax=req.getParameter("ax");
	String ay=req.getParameter("ay");
	String bx=req.getParameter("bx");
	String by=req.getParameter("by");
	String cx=req.getParameter("cx");
	String cy=req.getParameter("cy");
	String mesaj_eroare = "Valorile introduse nu sunt valide";
	double distantaAB = 0.0;
	double distantaBC = 0.0;
	double distantaAC = 0.0;
	double cosinusA = 0.0;
	double cosinusB = 0.0;
	double cosinusC = 0.0;
   
	 MyServlet at = new MyServlet();
		if(at.isTriangleValid(distantaAB, distantaBC, distantaAC)) {
			double unghiA = at.cosinusA(distantaAB, distantaBC, distantaAC);
			 double unghiB = at.cosinusB(distantaAB, distantaBC, distantaAC);
			  double unghiC = at.cosinusC(distantaAB, distantaBC, distantaAC);
		}else{
			System.out.println("Valoride introduse nu formeaza un triunghi");
		}
	
	res.setContentType("text/html");
	out.println("<html>");
	out.println("<head><title>Servlet</title></head>");
	out.println("<body>");
	out.println("<h2>Calculul unghiurilor unui triunghi</h2>");

  out.println("<p>");
	  double unghiA = 0.1;
				out.println("Valoarea unghiului A este:" + unghiA);
	  double unghiB = 0.0;
				out.println("Valoarea unghiului B este:" + unghiB);
	  double unghiC = 0.0;
				out.println("Valoarea unghiului C este:" + unghiC);
  out.println("</p>");
  out.println("<p>");
  out.println(mesaj_eroare);
  out.println("</p>");

out.println("</body>");
	out.println("</html>");

	out.close();
  }
 
  @Override
  public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException{
	doGet(req,res);
  }
 
  private double distantaAB(double ax, double ay, double bx, double by) {
		double distantaAB = sqrt((bx-ax)*2+(by-ay)*2);	 
		return distantaAB;
	}
  private double distantaBC(double bx, double by, double cx, double cy) {
		double distantaBC = sqrt((cx-bx)*2+(cy-by)*2);	 
		return distantaBC;
	}
  private double distantaAC(double ax, double ay, double cx, double cy) {
		double distantaAC = sqrt((cx-ax)*2+(cy-ay)*2);	 
		return distantaAC;
	}
   private double cosinusA(double distantaAB, double distantaBC, double distantaAC) {
		double cosinusj = distantaBC * 2 + distantaAC * 2 - distantaAB * 2 / 2 * distantaBC * distantaAC;
		return Math.acos(Math.cos(cosinusj));
   }
   private double cosinusB(double distantaAB, double distantaBC, double distantaAC) {
		double cosinusk = distantaAB * 2 + distantaAC * 2 - distantaBC * 2 / 2 * distantaAB * distantaAC;
		return Math.acos(Math.cos(cosinusk));
   }
   private double cosinusC(double distantaAB, double distantaBC, double distantaAC) {
		double cosinusl = distantaBC * 2 + distantaAB * 2 - distantaAC * 2 / 2 * distantaAB * distantaBC;
		return Math.acos(Math.cos(cosinusl));
   }
 
private boolean isTriangleValid(double distantaAB, double distantaBC, double distantaAC) {
		if((distantaAB+distantaBC)>distantaAC && (distantaAB+distantaAC)>distantaBC && (distantaBC+distantaAC)>distantaAB) {
			return true;
		}else {
			return false;
		}
	}
}


index.html

<html>
  <head>
	<title> apache-tomcat Servlet-ul Calcul unghiuri </title>
  </head>
  <body >
	<center>
	<h1> Sa se calculeze unghiurile unui triunghi dat prin coordonatele varfurilor (SERVLET )</h1>
<h5> Introduceti coordonatele varfurilor </h5>
	<form method="post" action="calculeaza">
	
   <p>Introduceti coordonatele pct A*:
 
  X<input type="text" pattern="^[1-9]{1}[0-9]*$" title="Introduceti un numar valid" name="ax">
				Y<input type="text" pattern="^[1-9]{1}[0-9]*$" title="Introduceti un numar valid" name="ay"> 
		   <p>
			   <p>Introduceti coordonatele pct B*:
 
  X<input type="text" pattern="^[1-9]{1}[0-9]*$" title="Introduceti un numar valid" name="bx">
				Y<input type="text" pattern="^[1-9]{1}[0-9]*$" title="Introduceti un numar valid" name="by"> 
		   <p>
			   <p>Introduceti coordonatele pct C*:
 
  X<input type="text" pattern="^[1-9]{1}[0-9]*$" title="Introduceti un numar valid" name="cx">
				Y<input type="text" pattern="^[1-9]{1}[0-9]*$" title="Introduceti un numar valid" name="cy"> 
		   <p>

   <input type="submit" value="Calculeaza">
 
	</form>
	</center>
  </body>
</html>



#11
adryan_2525

adryan_2525

    New Member

  • Grup: Junior Members
  • Posts: 7
  • Înscris: 20.08.2017
UPDATE

import java.io.IOException;
import static java.lang.Math.sqrt;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletOutputStream;

public class MyServlet extends HttpServlet {
  public void doGet(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException {
	ServletOutputStream out=res.getOutputStream();
	String ax=req.getParameter("ax");
	String ay=req.getParameter("ay");
	String bx=req.getParameter("bx");
	String by=req.getParameter("by");
	String cx=req.getParameter("cx");
	String cy=req.getParameter("cy");
	String mesaj_eroare = "Valorile introduse nu sunt valide";
	double distantaAB = 0;
	double distantaBC = 0;
	double distantaAC = 0;
	double cosinusA;
	double cosinusB;
	double cosinusC;
	double unghiA = 0;
	double unghiB = 0;
	double unghiC = 0;
   
	boolean calcul_reusit = isTriangleValid(distantaAB, distantaBC, distantaAC);
	if(calcul_reusit){
	   unghiA = cosinusA(distantaAB, distantaBC, distantaAC);
	   unghiB = cosinusB(distantaAB, distantaBC, distantaAC);
	   unghiC = cosinusC(distantaAB, distantaBC, distantaAC);
	}
	   
	res.setContentType("text/html");
	out.println("<html>");
	out.println("<head><title>Servlet</title></head>");
	out.println("<body>");
	out.println("<h2>Calculul unghiurilor unui triunghi</h2>");

	if(calcul_reusit){
  out.println("<p>");
				out.println("Valoarea unghiului A este:" + unghiA);
				out.println("Valoarea unghiului B este:" + unghiB);
				out.println("Valoarea unghiului C este:" + unghiC);
  out.println("</p>");
	}
	else
	{
  out.println("<p>");
  out.println(mesaj_eroare);
  out.println("</p>");
	}
out.println("</body>");
	out.println("</html>");

	out.close();
  }
 
  @Override
  public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException{
	doGet(req,res);
  }
 
  private double distantaAB(double ax, double ay, double bx, double by) {
		double distantaAB = sqrt((bx-ax)*2+(by-ay)*2);	 
		return distantaAB;
	}
  private double distantaBC(double bx, double by, double cx, double cy) {
		double distantaBC = sqrt((cx-bx)*2+(cy-by)*2);	 
		return distantaBC;
	}
  private double distantaAC(double ax, double ay, double cx, double cy) {
		double distantaAC = sqrt((cx-ax)*2+(cy-ay)*2);	 
		return distantaAC;
	}
   private double cosinusA(double distantaAB, double distantaBC, double distantaAC) {
		double cosinusj = distantaBC * 2 + distantaAC * 2 - distantaAB * 2 / 2 * distantaBC * distantaAC;
		return Math.acos(Math.cos(cosinusj));
   }
   private double cosinusB(double distantaAB, double distantaBC, double distantaAC) {
		double cosinusk = distantaAB * 2 + distantaAC * 2 - distantaBC * 2 / 2 * distantaAB * distantaAC;
		return Math.acos(Math.cos(cosinusk));
   }
   private double cosinusC(double distantaAB, double distantaBC, double distantaAC) {
		double cosinusl = distantaBC * 2 + distantaAB * 2 - distantaAC * 2 / 2 * distantaAB * distantaBC;
		return Math.acos(Math.cos(cosinusl));
   }
 
public static boolean isTriangleValid(double distantaAB, double distantaBC, double distantaAC) {
		if((distantaAB+distantaBC)>distantaAC && (distantaAB+distantaAC)>distantaBC && (distantaBC+distantaAC)>distantaAB) {
			return true;
		}else {
			return false;
		}
	}
}



#12
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,655
  • Înscris: 30.03.2005
la prima vedere :
functiile distantaAB, distantaBC, distantaAC fac acelasi lucru, deci nu ai nevoie de 3, plus ca nu sunt apelate nicaieri.

#13
Qupidqu

Qupidqu

    Member

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017

View Postadryan_2525, on 07 septembrie 2017 - 10:06, said:

Am reusit sa fac cate ceva in Netbeans dar dau de niste erori.
Ce fel de erori ? De business-logic(calcul unghiurilor) sau de rulare a aplicatiei ?

View Postromio79, on 07 septembrie 2017 - 10:57, said:

la prima vedere :
functiile distantaAB, distantaBC, distantaAC fac acelasi lucru, deci nu ai nevoie de 3, plus ca nu sunt apelate nicaieri.
Sunt invocate de metoda doGet a servleltului care la randul sau este invocat conform URL path-ului din deployment-descriptorului aplicatiei.

Edited by Qupidqu, 07 September 2017 - 11:08.


#14
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,655
  • Înscris: 30.03.2005
citeste codul inainte de a zice prostii. daca il citisei atunci nu are sens sa discut cu tine

#15
adryan_2525

adryan_2525

    New Member

  • Grup: Junior Members
  • Posts: 7
  • Înscris: 20.08.2017

View PostQupidqu, on 07 septembrie 2017 - 11:07, said:

Ce fel de erori ? De business-logic(calcul unghiurilor) sau de rulare a aplicatiei ?


Sunt invocate de metoda doGet a servleltului care la randul sau este invocat conform URL path-ului din deployment-descriptorului aplicatiei.

De business-logic.
Nu urmez logica calculelor cum trebuie.

#16
Qupidqu

Qupidqu

    Member

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017

View Postadryan_2525, on 07 septembrie 2017 - 11:22, said:

De business-logic.
Nu urmez logica calculelor cum trebuie.
Dar partea de trimitere a datelor catre servlet iti merge ?

View Postadryan_2525, on 07 septembrie 2017 - 11:22, said:

De business-logic.
Nu urmez logica calculelor cum trebuie.
Stai nu te grabi.

deocamdata avem urmatoarea chestie :

Quote

double distantaAB = 0;
   double distantaBC = 0;
double distantaAC = 0;
double cosinusA;
double cosinusB;
double cosinusC;
double unghiA = 0;
double unghiB = 0;
double unghiC = 0;
  
boolean calcul_reusit = isTriangleValid(distantaAB, distantaBC, distantaAC);
metoda isTriangleValid intra cu 0,0,0 .
Si ai pus asa doarece in codul sursa exista un pericol de confuzie, in sensul ca ai variabile independente care au acelasi nume cu numele unor metode  care au intorc ca valori , variabile locale ce au acelasi nume cu al metodelor.Desi dpdv al compilerului chestia asta nu  reprezinta nici un pericol, pentru factorul uman este, doarece nu permite sa faca distingerea clara cand trebuie sa foloseste variabila sau metoda, doarece au acelasi nume .

etapa 1, cu urmatoarele modificari:
double ax=Double.parseDouble(req.getParameter("ax"));
double ay=rDouble.parseDouble(eq.getParameter("ay"));
double bx=Double.parseDouble(req.getParameter("bx"));
double by=Double.parseDouble(req.getParameter("by"));
double cx=Double.parseDouble(eq.getParameter("cx"));
double cy=Double.parseDouble(req.getParameter("cy"));

double distantaAB = distantaAB(ax,ay, bx,by);
double distantaBC =distantaBC(bx,by, cx,cy);
double distantaAC = distantaAC(ax,ay, cx,cy);

double cosinusA = cosinusA(distantaAB, distantaBC, distantaAC);
double cosinusB = cosinusA(distantaAB, distantaBC, distantaAC);
double cosinusA = cosinusA(distantaAB, distantaBC, distantaAC);

double unghiA = 0;
	 double unghiB = 0;
	 double unghiC = 0;

	 boolean calcul_reusit = isTriangleValid(distantaAB, distantaBC, distantaAC);
	 if(calcul_reusit){
		 unghiA = cosinusA(distantaAB, distantaBC, distantaAC);
		 unghiB = cosinusB(distantaAB, distantaBC, distantaAC);
		 unghiC = cosinusC(distantaAB, distantaBC, distantaAC);
	 }


Edited by Qupidqu, 07 September 2017 - 11:46.


#17
Qupidqu

Qupidqu

    Member

  • Grup: Members
  • Posts: 298
  • Înscris: 04.08.2017

View Postromio79, on 07 septembrie 2017 - 11:21, said:

citeste codul inainte de a zice prostii.
Du-te domne' la impinge-tava sau culege cartofi si nu te mai baga in probleme care te depasesc.Matale ai treaba iar noi te retinem.

Edited by Qupidqu, 07 September 2017 - 11:54.


#18
romio79

romio79

    Active Member

  • Grup: Members
  • Posts: 1,655
  • Înscris: 30.03.2005
am inteles, nu stii sa citesti codul, stii sa jignesti. e si asta un talent

Anunturi

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate