Miért nem működik a Math. Sqrt javaban?
Hogyan használom a Math.sqrt-t javaban?:D
Írj futtatható programot, ami a parancssorban kapott számokból minden egymást követő három elemből
kiszámolja a számok (mint oldalhosszak) által leírt háromszög területét a Hérón-képlet segítségével (tehát
először az első három szám által meghatározott háromszöget, aztán a második-harmadik-negyedik szám
által meghatározott háromszöget), stb... Tárold el melyik három számból készíthető háromszög területe volt
a legnagyobb, és ezt írd ki az alapértelmezett kimenetre. (Tipp: gyökvonáshoz használd a
Math.sqrt(szam) metódust.) (
public class A1 {
public static void main(String[] args) {
double ter;
double legnagyobb = 0;
int[] oldalak = new int[args.length];
int[] legnagyobbteroldalai = new int[3];
for(int i = 0; i < args.length; i++) {
oldalak[i] = Integer.parseInt(args[i]);
}
for(int i = 0; i < oldalak.length; i++) {
if(i <= (oldalak.length - 3)) {
ter = terulet(oldalak[i], oldalak[i+1], oldalak[i+2]);
System.out.println("Terulet a " + oldalak[i] + " a " + oldalak[i+1] +
" a " + oldalak[i+2] + " oldalakbol: " + ter);
if(ter >= legnagyobb) {
legnagyobb = ter;
legnagyobbteroldalai[0] = oldalak[i];
legnagyobbteroldalai[1] = oldalak[i+1];
legnagyobbteroldalai[2] = oldalak[i+2];
}
}
}
System.out.println("A legnagyobb haromszog a " + legnagyobbteroldalai[0] + ", " + legnagyobbteroldalai[1]+
", " + legnagyobbteroldalai[2] + ", szamokbol kepezheto,\nterulete: " + legnagyobb);
}
public static double terulet(double a, double b, double c) {
double s;
double terulet;
s = ((a+b+c) / 2);
terulet = ( s*(s-a)*(s-b)*(s-c) );
Math.sqrt(terulet);
return terulet;
}
}
Az utolsó két sor helyett:
return Math.sqrt(terulet);
legyen. Ugyanis a Math.sqrt nem a paraméterben megadott változót módosítja, hanem ő maga is visszaad egy értéket. Pl: negy=Math.sqrt(16);
Így te ugyan meghívod a függvény(!), az a semminek visszaadja a terulet változód négyzetgyökét, de a terulet változóval semmit sem csinál.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!