Hola a todos soy nuevo en el foro.
Estaba realizando unos ejercicios propuestos de un curso de java que estoy tomando el problema a resolver es el siguiente
"Confeccionar un programa que lea n pares de datos, cada par de datos corresponde a la medida de la base
y la altura de un triángulo. El programa deberá informar:
a) De cada triángulo la medida de su base, su altura y su superficie.
b) La cantidad de triángulos cuya superficie es mayor a 12. "
Hasta ahora lo que he echo es calcular la superficie y mostrarla, tambien mostrar los triangulos con superficies mayores a 12, el problema llega cuando tengo que mostrar la base y la altura de cada triangulo.Como lo podria hacer????
Muchas gracias a todos por su precioso tiempo ;D ;D.
Aclaro que apena estoy empezando en esto de la programacion.
El codigo que llevo hasta ahora es el siguiente:
import javax.swing.*;
public class Problemas1 {
public static void main(String[] args) {
float base_n = 0;
float altura_n = 1;
float superficie_n = 0;
int c= 0;
int dato_n = 1;
String dato = JOptionPane.showInputDialog("A cuantos triangulo le desea averiguar la superficie???");
dato_n=Integer.parseInt(dato);
int cantidad = 0;
for (c=1;c<=dato_n;c ++){
String base = JOptionPane.showInputDialog("Digite la base del triangulo"+" Triangulo=>"+c);
String altura = JOptionPane.showInputDialog("Digite la altura del triangulo"+"Triangulo=>"+c);
base_n = Float.parseFloat(base);
altura_n =Float.parseFloat(altura);
superficie_n = altura_n*base_n/2;
JOptionPane.showMessageDialog(null,"la superficie es: "+superficie_n);
if (superficie_n>12){
cantidad = cantidad + 1;
}
}
JOptionPane.showMessageDialog(null," Los triangulos con superficies mayores a 12 son: "+cantidad);
}
}
Por favor explicate mejor, no puedo entenderte
¿Quieres mostrar la base y altura de cada uno?
en que momento?
podrias agregar una linea de codigo joptionpane:
String mensaje = "Triangulo de " + base_n + " de base";
mensaje += "\nY de " + altura_n + " de altura";
JOptionPane.showMessageDialog(null, mensaje + "\nSu superficie es: " +superficie_n);
// '\n' es un salto de linea (Por si no lo sabes)
quiero mostrar la base y la altura de todos los triangulos ingresados anteriormente espero me entiendas
Muchas graciass por tu ayuda :D :D :D
Hmm
Todo depende de cuantos triangulos agregues:
Osea puedes hacer un Vector de 'floats' (o varios) que almacene todos los datos que ingresaron
entonces:
import javax.swing.*;
public class Problemas1 {
public static void main(String[] args) {
float base_n = 0;
float altura_n = 1;
float superficie_n = 0;
int c = 0;
int dato_n = 1;
String dato = JOptionPane
.showInputDialog("A cuantos triangulo le desea averiguar la superficie???");
dato_n = Integer.parseInt(dato);
// Creo dos vectores de 'float' de tamaño del numero de triangulos
// Que almacenen todas las bases y las alturas
float[] bases = new float[dato_n];
float[] alturas = new float[dato_n];
int cantidad = 0;
for (c = 1; c <= dato_n; c++) {
String base = JOptionPane.showInputDialog("Digite la base del triangulo Triangulo=>" + c);
String altura = JOptionPane.showInputDialog("Digite la altura del triangulo Triangulo=>" + c);
base_n = Float.parseFloat(base);
altura_n = Float.parseFloat(altura);
// Por cada iteracion del for se van agregando las alturas
// y las bases ( pos c-1 ya que el arreglo empieza en 0 )
bases[c-1] = base_n;
alturas[c-1] = altura_n;
superficie_n = altura_n * base_n / 2;
JOptionPane.showMessageDialog(null, "\nSu superficie es: " +superficie_n);
if (superficie_n > 12) {
cantidad = cantidad + 1;
}
}// <- cierre del for
// Creo un string donde se va a guardar un largo mensaje
// Con todas las alturas y bases de todos los triangulos ingresados
String mensaje = "";
// Abro otro 'for' para mostrar todas las alturas
// Desde 'i' igual a 0 hasta el tamanio de las bases (tambien puede ser de las alturas)
for(int i = 0; i < bases.length; i++){
// A mensaje le sumo el numero del triangulo (i+1) porque empieza en 0
mensaje += "Triangulo " + (i+1);
// Le sumo la base y la altura
mensaje += " - base: " + bases[i] + " - altura: " + alturas[i];
// Y un salto de linea
mensaje += "\n";
}
// Muestro al final un mesaje con el string 'mensaje'
JOptionPane.showMessageDialog(null, mensaje);
JOptionPane.showMessageDialog(null, " Los triangulos con superficies mayores a 12 son: "
+ cantidad);
}
}
PD: Tambien puedes agregar otro arreglo de floats con los datos de la superficie, y lo llenas de igual manera que las bases y alturas , y simplemente en el otro 'for' añades una linea.
Algo como: mensaje += "- Superficie: " + superficies ;
Si entiendes el codigo será facil añadirlo
(Presioné 'Quote' en vez de 'Modify' y postee dos veces, lo siento :( )
Genial muchas gracias te lo agradezco mucho :D ;D ;-) ;-)
resolviste mi problema pero yo aun no manejo ventores apenas estoy empezando en esto
muchas gracias