Foros del Web » Programación para mayores de 30 ;) » Java »

Duda con programa java

Estas en el tema de Duda con programa java en el foro de Java en Foros del Web. Buenas tardes necesito crear un programa que realice las operaciones aritméticas de tipo entero (suma, resta, multiplicación y división), para un conjunto de datos que ...
  #1 (permalink)  
Antiguo 25/05/2015, 14:59
 
Fecha de Ingreso: mayo-2015
Mensajes: 1
Antigüedad: 8 años, 11 meses
Puntos: 0
Duda con programa java

Buenas tardes necesito crear un programa que realice las operaciones aritméticas de tipo entero (suma, resta, multiplicación y división), para un conjunto de datos que fueron leídos de un archivo. Este programa se ejecuta en un ciclo que repita el proceso 1000 veces, no conozco mucho del tema si me pueden ayudar por fa, gracias.

package clases;

import java.io.File;
import java.util.Scanner;

class main {

public void archivostxt() {

Scanner archivo = null;
try{
archivo = new Scanner(new File("C:\\Users\\camilo\\Desktop\\Lectura\\texto\\ numeros.txt"));
}
catch (Exception e) {
System.err.println("No se encontro archivo");

int num1=0,num2=0,suma=0,resta=0,mul=0,div=0;
while(archivo.hasNext())
{
num1=archivo.nextInt();
num2=archivo.nextInt()+1;
suma=num1+num2;
resta=num1-num2;
mul=num1*num2;
div=num1/num2;
System.out.println(num1+" + "+num2+" = "+suma);
System.out.println(num1+" - "+num2+" = "+resta);
System.out.println(num1+" * "+num2+" = "+mul);
System.out.println(num1+" / "+num2+" = "+div);
}
}

}

}
  #2 (permalink)  
Antiguo 25/05/2015, 16:24
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Duda con programa java

Si quiere que se repita 1000 veces puedes usar while, do while, for

yo creería que si te pusieron ese trabajo vieron for que es el mas fácil

for(int x=0;x=1000;x++){
//Aqui adentro iria el codigo que hiciste
}
  #3 (permalink)  
Antiguo 27/05/2015, 15:47
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
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

Etiquetas: javascript, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:26.