Olá, preciso que meu programa em Java leia um arquivo .txt com 12 linhas, some os valores e armazene o resultado na variável “salario”, para que a partir disso eu consiga executar o resto do código. Alguém pode me ajudar? (Não sei como fazer isso)
Scanner ler = new Scanner(System.in);
System.out.printf("Informe o nome de arquivo texto:\n");
String nome = ler.nextLine();
System.out.printf("\nConteúdo do arquivo texto:\n");
try {
FileReader arq = new FileReader(nome);
BufferedReader lerArq = new BufferedReader(arq);
String linha = lerArq.readLine(); // lê a primeira linha
// a variável "linha" recebe o valor "null" quando o processo
// de repetição atingir o final do arquivo texto
while (linha != null) {
System.out.printf("\n%d", linha);
linha = lerArq.readLine(); // lê da segunda até a última linha
}
O que vc não consegue fazer? a soma? o código todo? e esse códigão que vc postou aqui? explica essa jogada
Exemplo:
import java.util.List;
import java.util.Scanner;
import java.util.ArrayList;
import java.io.FileReader;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.FileNotFoundException;
public class Teste {
//private static final String pathArquivo = "C:/Users/JFSJUNIOR/Desktop/teste/numerais.txt";
public static void main(String[] args){
int soma = 0;
int produto = 1;
String nomeArquivo;
Scanner leitor = new Scanner(System.in);
List<String> numeros = new ArrayList<>();
System.out.print("Caminho do arquivo: ");
nomeArquivo = leitor.nextLine();
try{
FileReader leitorArquivo = new FileReader(nomeArquivo);
BufferedReader buffer = new BufferedReader(leitorArquivo);
String linha = buffer.readLine();
while(linha != null){
numeros.add(linha);
linha = buffer.readLine();
}
leitorArquivo.close();
}catch(IOException ioex){
System.out.println("ERRO: " + ioex.getMessage());
}
for(String numero : numeros){
soma += Integer.valueOf(numero).intValue();
produto *= Integer.valueOf(numero).intValue();
}
System.out.println("Soma: " + soma + " Produto: " + produto);
}
}
Rodando…

Foi a soma que eu não tava conseguindo
Obrigado. Você tem algum contato para me explicar melhor? Passei o dia todo tentando fazer e quero entender um pouco mais sobre. Irei marcar aqui como questão solucionada
O que você não entendeu? Eu pesquisei um pouco e achei o seguinte artigo: Devmedia - Como Ler Dados de um Arquivo Txt. Também fiz uso da documentação do Java: Oracle Docs - Java.
O seu código nem vai compilar, muito menos executar.
O método nextLine()
retorna um objeto do tipo String
e sua variável nome
foi declarada como sendo do tipo Double
.
No código eu já tinha alterado, mas esqueci de alterar aqui
O que aconteceu nessa linha? no for sempre uso " ; " e nessa linha tem " : "
Pelo que entendi ele tem que converter o objeto em um objeto inteiro para depois em um int, correto?
E o soma “+=” é o meso que “soma = soma + Integer.valueOf(numero).intValue();” ?
Essa é a sintaxe do enhanced for.
Você escrever:
for (String numero : numeros) {
Equivale a escrever isso aqui:
for (int i = 0; i < numeros.size(); i++) {
String numero = numeros.get(i);
Ou então escrever isso aqui:
Iterator<String> it = numeros.iterator();
while (it.hasNext()) {
String numero = it.next();