Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/05/2015, 15:47
Kritik
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años, 1 mes
Puntos: 31
Respuesta: Duda con programa java

Lo que estás consiguiendo con este código es:
Sumar el número 1 + el número 2
Restar el número 1 - el numero 2
Multi...etc

Pero después haces:
Sumar el número 2 + el número 3

No haces las operaciones con los 2 siguientes, sino que operas el 1 y el 2, el 2 con el 3, el 3 con el 4... etc. No se si es así como quieres operarlos.

Por otra parte, te has colado en la sintaxis del System.out.println.

La correcta es:
System.out.println("num1+num2="+(num1+num2))
En este caso el resultado te va a poner:
num1+num2=X
num1+num2=Y
num1+num2=Z
etc.

En el caso de que lo que quieras sea:
num1+num2=X
num2+num3=Y
num3+num4=Z
lo que necesitas es un contador. Créate una variable contador por ejemplo "cont" y entonces tus System.out.println. serían así:
System.out.println("num"+cont+"+num"+(cont+1)+"="+ (num1+num2)).

Si ves que las cadenas de texto fallan en los números, en vez de concatenar con + puedes cambiarlo y concatenar con el método .concat de la siguiente manera: "Texto".concat("texto2").concat(numero).concat("te xto3")

Con respecto a usar for o while... yo creo que está perfecto con el while, porque no puedes depender de un número fijo, aunque si usas un contador puedes meter un if que rompa el while al llegar a 1000.... pero no puedes usar directamente un for porque si lo usas y el archivo de registro tiene menos de 1000 registros te dará un error. Por eso está genial el "mientras haya más números en el archivo"

Si te obligasen a la fuerza a usar un for... yo entonces leería con el while todos los números y los guardaría todos en un array, y luego usaría un for para ir recorriendo el array y operando con sus valores, con la condición de término del for la longitud del array, o 1000... lo que llegue antes.

Última edición por Kritik; 27/05/2015 a las 15:56