Programa nao roda

o programa abaixo tem erro alguem pode me dizer onde e como eu concerto?
não sei programar em java.
se alguem poder me ajudar agradeço.

:lol:[code]private final static String DADOS = “agenda.txt”;
protected static String carregaDados() {
String texto = “”;
StringBuffer temp = new StringBuffer();
File arq = new File(DADOS);

    try {
        if (arq.exists()) {//Verifico se o arquivo existe.
            // lendo arquivo
            FileReader arquivo = new FileReader(arq);
            BufferedReader ler = new BufferedReader(arquivo);
            // Colocando num StringBuffer que é muito mais rápido e ocupa
            // menos memória que +=
            boolean fim = false;
            //Lembrando que o método readLine() retorna null quando chega ao fim do arquivo...
            while (!fim) {
                String linha = ler.readLine();
                if (linha == null)
                    fim = true;
                else
                    temp.append(linha);
                System.out.println("Leu:");

            }

            texto = temp.toString(); //convertendo o StringBuffer para String
            // Fechando
            ler.close();
            arquivo.close();
        } else
            arq.createNewFile();// Criando Arquivo
    } catch (IOException erro) {
        System.out.print("Erro 01 :" + erro.toString());
    } catch (SecurityException erro2) {
        System.out.print("Erro 02 :" + erro2.toString());
    }
    return texto;

}
protected static String[][] pegaDados() {
// Carregando Dados
String nome = carregaDados();// Pegando retorno de carregaDados();
if (nome.equals("")) {//Se não encontrou nada…
nome = “Agenda Simples;Marcus Becker”;
}//Se encontrou algo…
// Formatando os Dados

    //Lembrando que o nome e o telefone são separados pelo 
    //caractere ?;? (ponto-e-vírgula)
    String[] arrNome = nome.split(";");

    //Como para o arrNome eu coloquei o nome e o telefone, o array de 
    //dados vai ter apenas metade (só o nome) contendo 2 
    //dimensões (nome e telefone)m então divido o tamanho dele por 2.
    String[][] dados = new String[(arrNome.length / 2)][2];
    for (int i = 0, j = 0; i < (arrNome.length - 1); i += 2, j++) {
        dados[j][0] = arrNome[i];
        dados[j][1] = arrNome[i + 1];
    }
    //Aqui eu adiciono ao array dados os nomes e telefones, como sei que 
    //sempre vem primeiro o nome e depois o telefone 
    //referente a esse nome, adiciono os elementos 0 e 1 do arrNome, depois 
    //2 e 3, depois 4 e 5, assim por diante sempre 
    //incrementando o i em 2 (por que se não seria 0 e 1, 1 e 2 ...), já o j 
    //serve para indicar o locar no array dados onde 
    //ficarão os dados... Nem eu mesmo entendi de primeira essa parte do código.

    return dados; //Retorno os dados para a tabela (veja mais a frente).

}
//Recebe os dados já formatados, separado pelo ?;?.. nome;telefone;nome;telefone…
protected static void salvarDados(String texto) {
File arq = new File(DADOS);
try {
if (arq.exists()) {//Se o arquivo existir ele salva, se não, eu não sei…
FileWriter arquivo = new FileWriter(arq);
BufferedWriter grava = new BufferedWriter(arquivo);
grava.write(texto);
grava.close();
arquivo.close();
}
} catch (IOException e) {
System.out.print(“Erro 01 :” + e.toString());
} catch (SecurityException erro2) {
System.out.print(“Erro 02 :” + erro2.toString());
}
}
protected static void salvaTabela(DefaultTableModel modelo) { //Recebendo o objeto
String dados = “”;
StringBuffer temp = new StringBuffer(); //Buffer é mais rápido…
for (int i = 0; i < modelo.getRowCount(); i++) {
String nome = (String) modelo.getValueAt(i, 0);
String tel = (String) modelo.getValueAt(i, 1);
if (!nome.equals("")) {//Se o campo nome não estiver vazio…
//Se o campo telefone for menor que 7 ele não contem um
//numero telefônico válido…
//então substituo ele pelo hífen.
if (tel.trim().length() < 7)
tel = “-”;
else {
tel = tel.trim();//tirando espaços em branco…

                //o ; é usado para separar os dado, para evitar erros
                //inesperados eu substitui sem dó, ele por nada.
                tel = tel.replaceAll(";", "");
            }
            nome = nome.trim();
            nome = nome.replaceAll(";", "");
            //Aqui um exemplo de um método lento, nunca usem.
            // dados += nome + " ; " + tel + " ; "; 
            temp.append(nome + ";" + tel + ";"); // forma correta!
            System.out.println("Nome: " + nome + "\t Tel: " + tel);
        }
    }
    dados = temp.toString();
    salvarDados(dados); //Chamando o método salva dados.

}
protected static void ordenaTabela(DefaultTableModel modelo) {
StringBuffer temp = new StringBuffer();
String dados[] = new String[modelo.getRowCount()];
for (int i = 0; i < modelo.getRowCount(); i++) {
String valorNome = (String) modelo.getValueAt(i, 0);
String valorTel = (String) modelo.getValueAt(i, 1);
// Tirando Valores em Branco…
if (valorNome.trim().length() <= 0)
valorNome = “”;
if (valorTel.trim().length() <= 0)
valorTel = “”;

        dados[i] = valorNome + " ;" + valorTel + ";";

    }
    Arrays.sort(dados);
    // redefineTabela(modelo,dados);
    for (int i = 0; i < dados.length; i++) {
        temp.append(dados[i]);
        System.out.println("Temp: " + dados[i]);
    }
    String nome = temp.toString();
    salvarDados(nome);

}
final String[] COLUNAS = new String[]{“Nome”,“Telefone”};
DefaultTableModel modelo = new DefaultTableModel(NovoMetodos.pegaDados(),COLUNAS); [/code]

acho que a linha que vcs falaram é o numero que aparece depois do nome do programa
se for isso
linha 1, 2 e 141 ‘classe’ or ‘interface’ expected

Qual o erro? Em que linha?

Se for de execução, qual a excessão? Em que linha?

O que o programa não faz que deveria fazer?

Por favor, use a tag code para códigos fontes…

Você seguiu o tutorial http://www.guj.com.br/java.tutorial.artigo.183.1.guj em todos os passos?

Oi, além do que a Cintia falou, você esqueceu também de formatar seu código com a tag code.

Ajude quem quer te ajudar! :slight_smile:

Se você ainda não sabe fazer isso, dá uma lida nesse tópico:
http://www.guj.com.br/posts/list/50115.java

acho que a formatação é assim muito obrigado
o problema é na execução da 3 erros

Ok, acho que vc nunca programou em linguagem orientada à objeto, certo? Vc já programou em que? Alguma linguagem não para web?

Então, todo arquivo em java é uma classe - deixe para entender as interfaces depois … - (veja no GUJ por exemplo o hello world). Tem muito tutorial aqui mesmo no GUJ (use o mecanismo de busca se quiser) e é disto que ele deve estar reclamando. Uma classe tem variáveis e métodos, incluindo o método main…

Eu sugiro que vc comece com exemplos AINDA mais simples, para pegar o ritmo da coisa…

muito obirgado.
é que eu preciso apresentar um programa na segunda
e fica complicado
muito obirgado mesmo assim

Comunicação e tudo.

Será que você poderia colocar as mensagens de erro aqui ? É não quantos erros estão ocorrendo.

Hugo, ele colocou os erros logo abaixo do código.

[code] public class Agenda{
private final static String DADOS = “agenda.txt”;
}
protected static String carregaDados() {
String texto = “”;
StringBuffer temp = new StringBuffer();
File arq = new File(DADOS);

    try {
        if (arq.exists()) {//Verifico se o arquivo existe.
            // lendo arquivo
            FileReader arquivo = new FileReader(arq);
            BufferedReader ler = new BufferedReader(arquivo);
            // Colocando num StringBuffer que é muito mais rápido e ocupa
            // menos memória que +=
            boolean fim = false;
            //Lembrando que o método readLine() retorna null quando chega ao fim do arquivo...
            while (!fim) {
                String linha = ler.readLine();
                if (linha == null)
                    fim = true;
                else
                    temp.append(linha);
                System.out.println("Leu:");

            }

            texto = temp.toString(); //convertendo o StringBuffer para String
            // Fechando
            ler.close();
            arquivo.close();
        } else
            arq.createNewFile();// Criando Arquivo
    } catch (IOException erro) {
        System.out.print("Erro 01 :" + erro.toString());
    } catch (SecurityException erro2) {
        System.out.print("Erro 02 :" + erro2.toString());
    }
    return texto;

}

protected static String[][] pegaDados() {
// Carregando Dados
String nome = carregaDados();// Pegando retorno de carregaDados();
if (nome.equals("")) {//Se não encontrou nada…
nome = “Agenda Simples;Marcus Becker”;
}//Se encontrou algo…
// Formatando os Dados

    //Lembrando que o nome e o telefone são separados pelo 
    //caractere ?;? (ponto-e-vírgula)
    String[] arrNome = nome.split(";");

    //Como para o arrNome eu coloquei o nome e o telefone, o array de 
    //dados vai ter apenas metade (só o nome) contendo 2 
    //dimensões (nome e telefone)m então divido o tamanho dele por 2.
    String[][] dados = new String[(arrNome.length / 2)][2];
    for (int i = 0, j = 0; i < (arrNome.length - 1); i += 2, j++) {
        dados[j][0] = arrNome[i];
        dados[j][1] = arrNome[i + 1];
    }
    //Aqui eu adiciono ao array dados os nomes e telefones, como sei que 
    //sempre vem primeiro o nome e depois o telefone 
    //referente a esse nome, adiciono os elementos 0 e 1 do arrNome, depois 
    //2 e 3, depois 4 e 5, assim por diante sempre 
    //incrementando o i em 2 (por que se não seria 0 e 1, 1 e 2 ...), já o j 
    //serve para indicar o locar no array dados onde 
    //ficarão os dados... Nem eu mesmo entendi de primeira essa parte do código.

    return dados; //Retorno os dados para a tabela (veja mais a frente).

}
//Recebe os dados já formatados, separado pelo ?;?.. nome;telefone;nome;telefone…
protected static void salvarDados(String texto) {
File arq = new File(DADOS);
try {
if (arq.exists()) {//Se o arquivo existir ele salva, se não, eu não sei…
FileWriter arquivo = new FileWriter(arq);
BufferedWriter grava = new BufferedWriter(arquivo);
grava.write(texto);
grava.close();
arquivo.close();
}
} catch (IOException e) {
System.out.print(“Erro 01 :” + e.toString());
} catch (SecurityException erro2) {
System.out.print(“Erro 02 :” + erro2.toString());
}
}
protected static void salvaTabela(DefaultTableModel modelo) { //Recebendo o objeto
String dados = “”;
StringBuffer temp = new StringBuffer(); //Buffer é mais rápido…
for (int i = 0; i < modelo.getRowCount(); i++) {
String nome = (String) modelo.getValueAt(i, 0);
String tel = (String) modelo.getValueAt(i, 1);
if (!nome.equals("")) {//Se o campo nome não estiver vazio…
//Se o campo telefone for menor que 7 ele não contem um
//numero telefônico válido…
//então substituo ele pelo hífen.
if (tel.trim().length() < 7)
tel = “-”;
else {
tel = tel.trim();//tirando espaços em branco…

                //o ; é usado para separar os dado, para evitar erros
                //inesperados eu substitui sem dó, ele por nada.
                tel = tel.replaceAll(";", "");
            }
            nome = nome.trim();
            nome = nome.replaceAll(";", "");
            //Aqui um exemplo de um método lento, nunca usem.
            // dados += nome + " ; " + tel + " ; "; 
            temp.append(nome + ";" + tel + ";"); // forma correta!
            System.out.println("Nome: " + nome + "\t Tel: " + tel);
        }
    }
    dados = temp.toString();
    salvarDados(dados); //Chamando o método salva dados.

}
protected static void ordenaTabela(DefaultTableModel modelo) {
StringBuffer temp = new StringBuffer();
String dados[] = new String[modelo.getRowCount()];
for (int i = 0; i < modelo.getRowCount(); i++) {
String valorNome = (String) modelo.getValueAt(i, 0);
String valorTel = (String) modelo.getValueAt(i, 1);
// Tirando Valores em Branco…
if (valorNome.trim().length() <= 0)
valorNome = “”;
if (valorTel.trim().length() <= 0)
valorTel = “”;

        dados[i] = valorNome + " ;" + valorTel + ";";

    }
    Arrays.sort(dados);
    // redefineTabela(modelo,dados);
    for (int i = 0; i < dados.length; i++) {
        temp.append(dados[i]);
        System.out.println("Temp: " + dados[i]);
    }
    String nome = temp.toString();
    salvarDados(nome);

}
final String[] COLUNAS = new String[]{“Nome”,“Telefone”};

DefaultTableModel modelo = new DefaultTableModel(NovoMetodos.pegaDados(),COLUNAS); [/code]

eu mudei a linha 1 e agora esta dando erro na linha 4 e 145 "class ou interface expected.
eu faço a mesma coisa nestas linhas ? e em que lugar eu devo colocar a chave final? eu uso o nome da classe igual a da linha 4 e 141? ou não é isso? desde ja muito obrigado

Esse erro foi simples, da uma olhada na linha três (3) do post anterior. Tem uma chave fechando a classe e logo abaixo você está defindo um método para a classe.

[u]Na linha 143 também tem um erro , agora está assim:

final String[] COLUNAS = new String[]{"Nome","Telefone"}; 

O correto não seria

final String[] COLUNAS = {"Nome","Telefone"}; 

Falei besteira agora. rsrsrs

então eu devo fechar no fim do programa é isso?

[code]public class Modelo { // Comeco da Classe

  // Seus atributos

  // Seus metodos

} // Final da Classe[/code]

Isso mesmo, você deve fechar a classe somente no final.

e o erro da linha 3 agora e 144 como faço?

nossa agora deu erro pra caramba

linhas 88,118,144,6,6,11,11,12,12,33,73,73,76,76,77,77,82,133,144,144,
cannot find simbol que é isso?

Já tentou buscar por [google]cannot find symbol java[/google] no google?