Jump to content

dúvidas com editar linha de ficheiro


caxinaswin
 Share

Recommended Posts

tenho um exercicio que basicamente me pede para ir inserindo items para auxiliar nas compras de produtos, se for inserido um item que já exista esse será incrementado, basicamente tenho que adicionar items da seguinte forma

introduza um item: bola txt: bola#1

" " "" "" : bola txt: bola#2

tou a ter alguns problemas com o seguinte codigo talvez o loop não esteja muito bem

public static void alterarDados(String nome,int quantidade)
{

String linha = "";
for(int i = 0;i<linhas.size();i++)   // linhas defenido como global var, armazena num metodo anterior													  todas as linhas do ficheiro
{
linha = linhas.get(i);
  String[] campos = linha.split("#");   // separa os campos
  if(nome.equals(campos[0]))   // quando o primeiro campo for igual ao nome inserido
  {
int aux = 0;
int campo1 = 0;
   campo1 = Integer.parseInt(campos[1]);
System.out.print(campo1 + " ");
aux = campo1 + quantidade;  
String linha1 = nome + "#" + aux;
linhas.remove(i);
linhas.add(i,linha1);

  }


}

agradecia ajuda :S

}

Edited by apocsantos
geshi
Link to comment
Share on other sites

Boas:

linhas o que é? uma Lista de Strings?

Duas coisas:

1. Utilizar linhas.remove(i) num loop que precorre os valores de linhas é perigoso...

2. Se o objectivo é actualizar o valor porque o apagas e crias um novo?

Finalmente nao sei se faz parte do exercicio mas utilizar Strings para esta finalidade é muito pouco eficiente, devias utilizar uma classe do tipo:

Class Produto {

String nome;
int quantidade;
}

depois tinhas uma List<Produto> listaDeProdutos = new ArrayList<>();
e para encontrar e actualizar:

for(Produto p : listaDeProdutos){
  if(p.nome.equals(nome){
p.quantidade = quantidade;
}

}

se nao encontrar adicona à lista.....

Edited by apocsantos
tag code + geshi
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.