Vai al contenuto
Il server del mese è
Visita la nostra nuova lista server!

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

FrankHunter

Equazione Di Secondo Grado In Java

Recommended Posts

Ciao a tutti in questi giorni sto ripassando un paio di esercizi di informatica visto che tra poco ho gli esami e ho un piccolo problema con questo esercizio in cui devo scrivere un programma capace di calcolare un equazione di secondo grado e darmi una soluzione errata se il delta è minore o uguale a zero [spoiler]import java.util.*;
public class EquazioneSecondoGrado{
public static void main(String[]args){
Scanner in;
in=new Scanner(System.in);
double a,b,c,x1,x2;
a=in.nextDouble();
b=in.nextDouble();
c=in.nextDouble();
double delta=0;
delta=((b*b)-(4*a*c));
if (delta>=0)
{x1=(-b)+(Math.sqrt(delta))/(2*a);
x2=(-b)-(Math.sqrt(delta))/(2*a);   
System.out.println(x1);
System.out.println(x1);
System.out.println(delta);}
else
System.out.println("soluzione errata");
}}
 

 

[/spoiler]

 

il codice è giusto ,sono le parentesi delle formule che non mi convincono tanto...

 

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Non ne sono sicuro, ma se il delta è uguale a zero l'equazione è possibile D:

Edit: mio fratello dice soluzioni reali e coincidenti.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Infatti se il delta è uguale a zero esce "soluzione errata" infatti ho fatto una prova per verificare :ahsisi:  , il problema è che con questa equazione x2-5x-6 le soluzioni sono 3 e 2 ma a me escono valori sballati :pioggiapeo:  

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Se Δ=0 allora x1=x2 per essere precisi.

Poi la tua equazione ha come soluzioni 6 e -1.

E la corretta impostazioni delle parentesi è questa: ((-b)+(sqrt(delta)))/2*a.

Hai scritto due volte di stampare x1.

Sintatticamente è corretto, spero sia indentato anche correttamente.

Ah, le soluzioni dovrebbero essere float. Double era la metà di float giusto?

Aggiungi un elif che imponga a != 0 e dentro all'else un altro if dove se a=0 la risolve come un'equazione di primo grado.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Se Δ=0 allora x1=x2 per essere precisi.

Poi la tua equazione ha come soluzioni 6 e -1.

E la corretta impostazioni delle parentesi è questa: ((-b)+(sqrt(delta)))/2*a.

Hai scritto due volte di stampare x1.

Sintatticamente è corretto, spero sia indentato anche correttamente.

Ah, le soluzioni dovrebbero essere float. Double era la metà di float giusto?

Aggiungi un elif che imponga a != 0 e dentro all'else un altro if dove se a=0 la risolve come un'equazione di primo grado.

Ecco grazie ora esce! comunque le soluzioni sono 3 e 2 è un esercizio svolto che ho trovato su internet! :asd:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Ecco grazie ora esce! comunque le soluzioni sono 3 e 2 è un esercizio svolto che ho trovato su internet! :asd:


Non è possibile. Forse tu ti riferisci a x^2-5x+6=0 (che ha appunto 3;2) non a x^2-5x-6=0 (che ha 6;-1) fai la prova. :asd:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Si infatti è +6...penso che smetterò di studiare prima di creare altri danni :rotfl:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Comunque come esercizio svolto è fatto male perché non considera il caso in cui a=0.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Se a=0 non è un'equazione di secondo grado. Basta un if else all'inizio del codice

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Infatti se il delta è uguale a zero esce "soluzione errata" infatti ho fatto una prova per verificare :ahsisi:

Ed è sbagliato :fifi:

Se Δ=0 allora x1=x2 per essere precisi.

Soluzioni reali e coincidenti.

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

×
×
  • Crea Nuovo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.