Meu primeiro programa Java

Boa tarde a todos,

  estou tentando fazer meu primeiro programa java  :D, mas estou com problemas  :oops: para rodar o código abaixo:

package projetoteste;

import java.lang.reflect.Constructor;

public class Construtor {
String texto;

public Construtor(String a){
    texto = a;
}

public static void main(String[] args) {
    Construtor teste;
    teste = new Construtor("Testando novamente");
    teste.Imprimir();
}


public void Imprimir(){
    System.out.println(texto);
} 

}

   Sempre que tento executar, aparece a seguinte mensagem:

E:\Java\Teste\ProjetoTeste\src\projetoteste\Main.java:14: class Construtor is public, should be declared in a file named Construtor.java

    Onde será que estou errando?

Agradeço desde já,
Eduardo.

[quote]E:\Java\Teste\ProjetoTeste\src\projetoteste\Main.java:14: class Construtor is public, should be declared in a file named Construtor.java
[/quote]

Siga exatamente o que a mensagem de erro lhe disse. A tradução dela é:

“classe Construtor é pública, deve ser declarada em um arquivo chamado Construtor.java”.

OK?

Isso quer dizer que você tem de renomear o arquivo Main.java para Construtor.java.

Realmente, eu salvei inicialmente com Main.java, depois lembrei-me que o nome da classe do construtor deve ser sempre igual ao nome do arquivo, então mudei o nome do arquivo, através do “Salvar como”, para igual ao nome da classe Construtor. Contudo, ainda continuou dando erro. Precisei excluir o arquivo Main.java para poder executar o programinha. Muito obrigado pela ajuda.

Depois disso, fiquei com outra dúvida: será que “Salvar como” não basta? É necessário excluir o arquivo anterior nesse caso?

[]s
Eduardo.

Devido a registros anteriores no sistema, vc tem que deletar e fazer d novo (já ouviu falar no Windows) rsrssrsrs

Se for netbeans é só dar um renomear, e um refatorar hehe :slight_smile:

Nesse outro programa que anexei, estou tentando criar e escrever um arquivo, mas aparece a mensagem de erro abaixo:

init:
deps-jar:
Created dir: E:\Java\Teste\JavaApplication2\build\classes
Compiling 1 source file to E:\Java\Teste\JavaApplication2\build\classes
compile:
Created dir: E:\Java\Teste\JavaApplication2\dist
Building jar: E:\Java\Teste\JavaApplication2\dist\JavaApplication2.jar
Not copying the libraries.
[color=red]To run this application from the command line without Ant, try:
java -jar “E:\Java\Teste\JavaApplication2\dist\JavaApplication2.jar”
jar:[/color]
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

Alguém pode me orientar?

Eduardo.

Ele disse que não tem classe definida no arquivo.
Isso se da porque você criou uma inner class, e na classe principal não chamou nada…
faça assim:

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */

import java.io.FileWriter;
import java.io.IOException;

/**
*

  • @author Eduardo
    */
    public class Main {

    public static void main(String[] args)
    {
    try
    {
    Main.NomeDaFuncao();
    }
    catch(IOException e)
    {
    e.printStackTrace();
    }
    }

    public static void NomeDaFuncao() throws IOException {
    String source = “test”;
    char buffer[] = new char[source.length()];
    source.getChars(0, source.length(), buffer, 0);

     FileWriter f0 = new FileWriter("file1.txt");
     for (int i = 0; i < buffer.length; i += 2) {
         f0.write(buffer[i]);
     }
     f0.close();
    
     FileWriter f1 = new FileWriter("file2.txt");
     f1.write(buffer);
     f1.close();
    
     FileWriter f2 = new FileWriter("file3.txt");
    
     f2.write(buffer, buffer.length - buffer.length / 4, buffer.length / 4);
     f2.close();
    

    }
    }[/code]

Só não se esqueça de por o seu package ali, coloque certo.

Muito obrigado Thiago.