La Web del Programador: Comunidad de Programadores
 
    Pregunta:  31535 - DETERMINAR TIPO DE TRIANGULO
Autor:  Alvaro Etcheberry
//estoy recién empezando a programar en java y no puedo descubrir el problema que tengo con el buffer de lectura.
El programa pretende que se ingresen por teclado los lados de un triangulo y determinar si es escaleno, equilatero o isosceles.

import java.io.*;
public class Triangulo {
public static void main(String Args[])throws Exception{
int a;
int b;
int c;
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
a=Integer.ParseInt(bf.readLine());
b=Integer.ParseInt(bf.readLine());
c=Integer.ParseInt(bf.readLine());
If ((a==b)!(a==c));
System.out.println("Trángulo es equilatero");
If (((a!=b)!(a!=c))!((b!=c)));
System.out.println("Trángulo es escaleno");
If ((a==b)!(c!=a));
System.out.println("Trángulo es isosceles");
If((a==c)!(b!=a));
System.out.println("Trángulo es isosceles");
If((b==c)!(a!=b));
System.out.println("Trángulo es isosceles");
}
}

  Respuesta:  Daniel Moniz
// Yo haria ese programa de la siguiente manera:

import java.io.*;
public class Triangulo {
public static void main(String args[]) {

try {

int a = 0, b = 0, c = 0; // Necesitas declarar las variables y asignarles un
// valor principal que en este caso seria 0

String numero;

DataInputStream entrada = new DataInputStream(System.in);

try {
System.out.print("Introduce el lado a ->");
numero = entrada.readLine();
a= Integer.parseInt(numero);
} catch (NumberFormatException e) {System.out.println("Usted no Introdujo un numero");}

try {
System.out.print("Introduce el lado b ->");
numero = entrada.readLine();
b= Integer.parseInt(numero);
} catch (NumberFormatException e) {System.out.println("Usted no Introdujo un numero");}

try {
System.out.print("Introduce el lado c ->");
numero = entrada.readLine();
c= Integer.parseInt(numero);
} catch (NumberFormatException e) {System.out.println("Usted no Introdujo un numero");}

if ((a==b)||(a==c)) {
System.out.println("Triangulo es equilatero"); } else

if ((a!=b)||(a!=c)||(b!=c)){
System.out.println("Triangulo es escaleno"); } else

if ((a==b)||(c!=a)){
System.out.println("Triangulo es isosceles"); } else

if((a==c)||(b!=a)){
System.out.println("Triangulo es isosceles"); } else

if((b==c)||(a!=b)){
System.out.println("Triangulo es isosceles"); }

} catch (IOException e) {} // Cierre del Try
} // Cierre del public static void
} // Cierre del Programa

/* NOTA: El uso del "if" es en minusculas no "If" sino "if".
ejemplo: if (a=b) { operacioness....} else
if (a=c) { }

NOTA 1: No se usa el "!" como operador "y", sino se usa "||", el signo de exclamacion es para diferente de "!=" o cosas asi

Este programa lo probe y funciona correctamente.... cualquier cosa o duda que tengas no dudes en escribirme a mi email y yo te ayudare, no soy un experto pero tampoco soy un novato, se lo esencial de este lenguaje.
*/