Set ArrayList

Estou tentando da um “set” em um ArrayList meu, a sintaxe correta seria " list.set(0,variável); ". Só que este valor int do índice do arraylist quero passar através de uma variável, bom postarei o código abaixo para melhor entendimento. Se trata de um pequeno programa para gerenciar uma clínica odontológica e no caso ali irei atualizar os dados do paciente.

[code] public void setPaciente (String rg) {
Paciente p = null;
for (int i = 0; i < listaPaciente.size(); i++) {
p = (Paciente) listaPaciente.get(i);
if (p.getRg().equals(rg)) {
// entrada dos dados ocultei para diminuir o código

  this.nome=nome;
  this.rg=rg;
  this.endereco=endereco;
  this.telefone=telefone;
  this.profissao=profissao;
  this.idpaciente=idpaciente;
  listaPaciente.set(i, (Paciente nome,rg,endereco,telefone,profissao,idpaciente));
}

}
}[/code]

O problema não está no set, mas sim, na sintaxe:

(Paciente nome,rg,endereco,telefone,profissao,idpaciente)

Que simplesmente não existe em Java.

O código correto seria:

[code] public void setPaciente (String rg) {
Paciente p = null;
for (int i = 0; i < listaPaciente.size(); i++) {
p = (Paciente) listaPaciente.get(i);
if (p.getRg().equals(rg)) {
// entrada dos dados ocultei para diminuir o código

  this.nome=nome;
  this.rg=rg;
  this.endereco=endereco;
  this.telefone=telefone;
  this.profissao=profissao;
  this.idpaciente=idpaciente;
  listaPaciente.set(i, new Paciente (nome,rg,endereco,telefone,profissao,idpaciente));
}

}
}[/code]

Então vinigodoy já tentei também desta maneira e não foi, aparece o seguinte erro:
[color=red]no suitable constructo found for Paciente (java.lang.String,java.lang.String) constructor Paciente.Paciente(java.lang.String,java.lang.String) is not applicable;[/color]

Poste sua classe paciente. Mas aparentemente você não tem um construtor que aceite tantos parâmetros.

[color=red]EDITED.[/color] [color=#444444]Meu erro era por questão de parametros do construtor ao ArrayList, o código que alterei agora funciona, caso alguém esteja com a mesma dúvida. [/color]

[code]import java.util.*;
import java.util.ArrayList;

public class Paciente {
String nome,rg,dtnasc,endereco,telefone,profissao;
int idpaciente;
ArrayList listaPaciente = new ArrayList ();

Scanner input = new Scanner (System.in);

public Paciente (String nome,String rg,String dtnasc,String endereco,String telefone,String profissao) {
this.nome=nome;
this.rg=rg;
this.dtnasc=dtnasc;
this.endereco=endereco;
this.telefone=telefone;
this.profissao=profissao;
this.idpaciente=idpaciente;
}
public Paciente () {

}
public void cadastrarPaciente () {
Paciente x = new Paciente(nome,rg);
listaPaciente.add(x);
System.out.println (listaPaciente.get(0).nome);
System.out.println (listaPaciente.get(0).rg);
}

public void buscarCliente (String rg) {
Paciente p = null;
for (int i = 0; i < listaPaciente.size(); i++) {
p = (Paciente) listaPaciente.get(i);
if (p.getRg().equals(rg)) {
System.out.println (p.getNome());
System.out.println (p.getRg());
}
}

}
public void setPaciente (String rg) {
Paciente p = null;
for (int i = 0; i < listaPaciente.size(); i++) {
p = (Paciente) listaPaciente.get(i);
if (p.getRg().equals(rg)) {
//entrada dos dados
System.out.println (“Digite o nome do paciente :”);
nome=input.next();
System.out.println (“Digite o rg :”);
rg=input.next();
System.out.println (“Digite o endereco completo :”);
endereco=input.next();
System.out.println (“Digite a data de nascimento :”);
dtnasc=input.next();
System.out.println (“Digite a profissão :”);
profissao=input.next();

  this.nome=nome;
  this.rg=rg;
  this.endereco=endereco;
  this.telefone=telefone;
  this.profissao=profissao;
  this.idpaciente=idpaciente;
  listaPaciente.set(i, new Paciente (nome,rg,dtnasc,endereco,telefone,profissao));
}

}
}

public void excluirCliente (String rg) {
Paciente p = null;
for (int i = 0; i < listaPaciente.size(); i++) {
p = (Paciente) listaPaciente.get(i);
if (p.getRg().equals(rg)) {
char op=‘S’;
System.out.println (p.getNome());
System.out.println (“Você irá excluir o cadastro de”+ p.getNome()+" - Tem certeza im / ão");
op=input.next().charAt(0);
if (op == ‘S’ || op == ‘s’) {
listaPaciente.remove(i);
System.out.println (“Cadastro excluído com sucesso.”);
}
}
}
}
public String getNome () {
return nome;
}
public void setNome (String nome) {
this.nome=nome;
}

public String getRg () {
return rg;
}
public void setRg (String rg) {
this.rg=rg;
}

public String getEndereco () {
return endereco;
}
public void setEndereco (String endereco) {
this.endereco=endereco;
}

public String getTelefone () {
return telefone;
}
public void setTelefone (String telefone) {
this.telefone=telefone;
}

public String getProfissao () {
return profissao;
}
public void setProfissao (String profissao) {
this.profissao=profissao;
}
}[/code]