Preciso ler esse arquivo;
Criar um método que calcule a média da primeira linha;
Criar um método que some os valores da segunda linha;
Criar um método que some os valores da 3ª a 9ª Linha.
Para desenvolver esse problema de forma simples, você poderá fazer.:
1º Pegar linhas por linha o conteudo deste arquivo.
2º Para calcular a média da primeira linha: Você poderá dar um split na virgula, transformar seus valores em inteiros. Somar todo o array e dividir pelo .legth do resultado do split.
3º Criar um método que some os valores da segunda linha: Mesmo do item 2, com exceção da divisão.
4º Criar um método que some os valores da 3ª a 9ª Linha. Sem mistério essa.
O lance é receber linha por linhas este arquivo.
Obs: Essa é uma solução que encontrei de forma simples, claro que existem outras!
Fiz algo rapidinho aqui que você talvez possa tomar como base.
obs: talvez não seja a melhor coisa a ser feita, mas é uma das formas de se fazer isto
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.util.ArrayList;
public class LetoraDeArquivos {
private ArrayList<Linhas> listaDeLinhas = new ArrayList<Linhas>();
public LetoraDeArquivos() {
}
public void lerArquivo(File file) {
try {
FileReader leitor1 = new FileReader(file);
BufferedReader leitor2 = new BufferedReader(leitor1);
String s = null;
while ((s = leitor2.readLine()) != null) {
String[] numeros = s.split("/");
Linhas linha = new Linhas(numeros);
listaDeLinhas.add(linha);
}
leitor2.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public ArrayList<Linhas> getListaLinhas() {
return this.listaDeLinhas;
}
}
public class Linhas {
private int n1;
private int n2;
private int n3;
private int n4;
// ...
public Linhas(String[] numeros) {
n1 = Integer.parseInt(numeros[0]);
n2 = Integer.parseInt(numeros[1]);
n3 = Integer.parseInt(numeros[2]);
n4 = (Integer.parseInt(numeros[3]));
// ...
}
public int getN1() {
return n1;
}
public int getN2() {
return n2;
}
public int getN3() {
return n3;
}
public int getN4() {
return n4;
}
public int calcularMedia() {
int media = n1 + n2 + n3 + n4 / 4;
return media;
}
public int somarNumeros() {
int soma = n1 + n2 + n3 + n4;
return soma;
}
}
import java.util.ArrayList;
public class Teste {
public static void main(String[] args) {
LetoraDeArquivos arquivos = new LetoraDeArquivos();
arquivos.lerArquivo("??");
ArrayList<Linhas> linhas = arquivos.getListaLinhas();
Linhas linha = linhas.get(0);
linha.calcularMedia();
int soma1 = linha.somarNumeros();
Linhas linha2 = linhas.get(1);
linha2.calcularMedia();
int soma2 = linha2.somarNumeros();
System.out.println("Soma das linhas 1 e 2: " + soma1 + soma2);
}
}
public class PReadFile
{
/*======================================================
* Variaveis para manipulação de arquivo. ====================================================/
String is_buffer = “”;
byte[] ih_buffer;
String[] is_linhas;
ListIterator io_linhas;
/*======================================================
* Variavel que pegará a linha atual do arquivo.
*=====================================================*/
String is_linha_atual;
int
media_primeira_linha = 0,
soma_primeira_linha = 0;
int
soma_segunda_linha = 0;
public PReadFile()
{
AbrirArquivo();
is_buffer = new String(ih_buffer);
LerArquivo();
/*=======================================================
* Calculo da média para a primeira linha.
*======================================================*/
// Recebe a primeira linha do arquivo.
is_linha_atual = LinhaAtual();
String[] ls_primeira_linha = is_linha_atual.split("\,");
for (int i = 0; i<ls_primeira_linha.length; i++) {
soma_primeira_linha += Integer.parseInt(ls_primeira_linha[i]);
}
media_primeira_linha = soma_primeira_linha/ls_primeira_linha.length;
System.out.println("A media da primeira linha é: "+media_primeira_linha);
/*=======================================================
* Calculo da soma da segunda linha.
*======================================================*/
// Recebe a segunda linha do arquivo.
is_linha_atual = LinhaAtual();
String[] ls_segunda_linha = is_linha_atual.split("\,");
for (int i = 0; i<ls_segunda_linha.length; i++) {
soma_segunda_linha += Integer.parseInt(ls_segunda_linha[i]);
}
System.out.println("Soma da segunda linha é: "+soma_segunda_linha);
}
public void AbrirArquivo()
{
try
{
// Objeto para manuseio do arquivo ...
FileInputStream lo_is_file = new FileInputStream("teste.txt");
// aloca o espaço para leitura ...
ih_buffer = new byte[lo_is_file.available()-0];
// "Pula" dentro do arquivo até a posição desejada
lo_is_file.skip(0);
// Read file ...
lo_is_file.read(ih_buffer, 0, ih_buffer.length);
// Fecha o arquivo.
lo_is_file.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public void LerArquivo()
{
is_linhas = is_buffer.split("\r\n");
io_linhas = Arrays.asList(is_linhas).listIterator();
}
public String LinhaAtual()
{
return (
io_linhas.hasNext()
? io_linhas.next()
: ""
);
}
public static void main(String args[])
{
new PReadFile();
}