Ayuda Suma de numeros en java

Ger Hilton

Bovino Milenario
#1
Sumar tres enteros.
Entrada (data.in):
n
a b c
.
.
.
n sera el numero de casos de prueba.

Salida (data.out):
n lineas contenendo las sumas

ejemplo:
Entrada:
3
1 2 3
5 2 7
1 0 -1

Salida:
6
14
0

Este es el programa, hasta ahora llevo lo primero la lectura, y puedo leer caracter por caracter pero aun no me permite sumarlo, alguien me podria ayudar?, el programa es mediante el uso de archivos


import java.io.BufferedReader; import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public
class Archivos {
public static void main(String[] args) throws IOException {
File f =
new File( "C:\\archivo.txt" );
BufferedReader entrada;
StringBuffer str=
new StringBuffer();
try{
entrada =
new BufferedReader( new FileReader( f ) );
String linea;
int l,i,c,cont,k;
int a[]=new int [20];
linea= entrada.readLine();
l = Integer.parseInt(linea);
k=l+l;
cont=1;
//System.out.print();
for(i=1;i<=l;i++){
if(cont<=l){
while((c=entrada.read())!=-1){
str.append((
char)c);
a=c;
}
}}


for(i=0;i<=l;i++)
System.out.println("a["+i+"]="+a);

}

}
catch (IOException e) {

e.printStackTrace();

}}}
 

edoardini

Bovino maduro
#2
Seria algo asi:

package model;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Archivos {
public static void main(String[] args) throws IOException {
String linea;
String[] numeros = null;
File f = new File("C:\\archivo.txt");
BufferedReader entrada;
try {
entrada = new BufferedReader(new FileReader(f));

while (true) {
linea = entrada.readLine();
int suma = 0;
if (linea != null) {
numeros = linea.split(" ");
for (int i = 0; i < numeros.length; i++) {
suma = suma + Integer.parseInt(numeros);
}
System.out.println("la suma es: " + suma);
} else {
break;
}

}
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
 

bior

Baneado :(
#3
Hola, me parece que quieres que el contenido de la primera línea del archivo de texto determine el numero de sumas a realizar, así que modifique el programa de edoardini, de la siguiente forma:

Código:
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

public class Archivos {
    public static void main(String[] args) throws IOException {
        String linea;
        String[] numeros = null;
        File f = new File("C:\\archivo.txt");
        BufferedReader entrada;
        try {
            entrada = new BufferedReader(new FileReader(f));
            linea = entrada.readLine();
            
            if(linea!=null){
                int numeroSumas=Integer.parseInt(linea);
                System.out.println("Se realizaran " + numeroSumas+" sumas\n");
                for(int i=0;i<numeroSumas;i++){
                    linea = entrada.readLine();
                    int suma = 0;
                    if (linea != null) {
                        numeros = linea.split(" ");
                        for (int j = 0; j < numeros.length; j++) {
                            suma = suma + Integer.parseInt(numeros[j]);
                        }
                        System.out.println("El resultado de la suma "+(i+1)+" es: " + suma);
                    }
                }    
            }
            
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}
Con el ejemplo que diste produce la siguiente salida:

Se realizaran 3 sumas

El resultado de la suma 1 es: 6
El resultado de la suma 2 es: 14
El resultado de la suma 3 es: 0

Igual puedes agregar una validación para verificar si el primer dato es en realidad un número positivo y no un cero o negativo.
Saludos
 
Arriba