Pessoal, criei o método inseriNoArquivo conforme classe abaixo
[code]import java.io.*;
public class Passageiro{
// Atributos
private String nome, rg;
private int poltrona;
public Passageiro(){}
public Passageiro(String nome, String rg, int poltrona){
this.nome = nome;
this.rg = rg;
this.poltrona = poltrona;
}
public String getNome() {
return nome;
}
public String getRg() {
return rg;
}
public int getPoltrona() {
return poltrona;
}
public void setNome(String nome) {
this.nome = nome;
}
public void setRg(String rg) {
this.rg = rg;
}
public void setPoltrona(int poltrona) {
if((poltrona%2)==0)
System.out.println("Poltrona: corredor");
else
System.out.println("Poltrona: janela");
this.poltrona = poltrona;
}
// Criei esse método para inserir os dados dos atributos no arquivo, compilo a classe sem problemas
public static void insereNoArquivo(String nome, String rg, int poltrona){
File f= new File("C:\Trab Interdiciplinar","arq.txt");
try{
FileWriter fw = new FileWriter(f);
BufferedWriter escrita = new BufferedWriter(fw);
escrita.write(nome);
escrita.write(rg);
escrita.write(poltrona);
escrita.newLine();
escrita.close();
}
catch(IOException ex)
{
System.out.println("\n Prolemas com o arquivo");
}
}
} [/code]
Porém no método main, quando compilo apresenta erro no método inseriNoArquivo, conforme classe abaixo
[code]import javax.swing.JOptionPane;
import java.io.*;
public class UsaPassageiro{
static Passageiro[] aPassageiros = new Passageiro[3];
static Passageiro[] inseriArquivo = new Passageiro[3];
public static void main(String args[]){
// loop para pegar todos os passageiros
for(int i=0;i<3;i++){
String nome = JOptionPane.showInputDialog("Digite o nome");
String rg = JOptionPane.showInputDialog("Digite o rg");
int poltrona = 0; // inicio como poltrona = 0
// fico pedindo a poltrona até que ela seja diferente de 0 e desocupada
while (poltrona == 0 || !poltronaLivre(poltrona))
poltrona = Integer.parseInt(JOptionPane.showInputDialog("Digite a poltrona"));
// crio o objeto passageiro (se preferir pode mudar o construtor pra já passar os parâmetros)
Passageiro p = new Passageiro(nome, rg, poltrona);
// adiciono o passageiro na minha lista de passageiros
aPassageiros[i] = p;
}
// loop para imprimir todos os passageiros
for(int i=0;i<aPassageiros.length;i++){
System.out.println("Nome: " + aPassageiros[i].getNome());
System.out.println("Rg: " + aPassageiros[i].getRg());
System.out.println("Nome: " + aPassageiros[i].getPoltrona());
}
// chamo o método
insereNoArquivo(aPassageiros);
}
/**
* Verifico se a poltrona de número p passada está livre, ou seja, se ela não pertence a nenhum outro passageiro
* ainda.
* @param p
* @return
*/
private static boolean poltronaLivre(int p){
for(int i = 0; i < aPassageiros.length; i++){
// como já configurei que o array terá 3 posições, ele percorre até 3,
//só quem nem sempre tem um passageiro na posição
// do array, a posição pode estar null, por isso tava dando aquele erro.
if ((aPassageiros[i] != null) && (p == aPassageiros[i].getPoltrona())){
//System.out.println("Poltrona ocupada!!!");
JOptionPane.showMessageDialog(null,"Poltrona ocupada");
return false;
}
}
return true;
}
}[/code]
Quando compilo, apresenta erro conforme abaixo:
C:\Trab Interdiciplinar\UsaPassageiro.java:32: cannot find symbol
symbol : method insereNoArquivo(Passageiro[])
location: class UsaPassageiro
insereNoArquivo(aPassageiros);
Você que tem vivência em programação, será que está errado a maneira de chamar o método