Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Eduardo Paim

[Resolvido] iniciante.

Recommended Posts

Bom, sou super iniciante no Java. Estou aprendendo a programar nesta plataforma com ajuda de algumas apostilas que encontro na internet. E nestas apostilas estou me debatendo com alguns problemas...

Na 1ª apostila o autor deseja criar um exemplo de objeto simples, então ele nos oferece:

class meuObjeto
{
String nome;
int idade;
String telefone;
}

Depois ele diz que instacia este objeto assim:

meuObjeto amigo = new meuObjeto();

E define dados:

amigo.nome = "Joao";
amigo.idade = 33;
amigo.telefone = "2223311";

Ainda nos oferece um comando para imprimir um dado na tela:

System.out.println (amigo.nome);

E ai ele pede:

"- Digitem o exemplo acima e façam o mesmo funcionar."

 

Como eu organizo tais dados para poder compila-lo? Onde eu posiciono a definição de dados e o comando println?

 

Na 2ª apostila o autor nos da como exemplo aritmético:

class ArithmeticTest {
public static void main ( Strings args[] ) {
short x = 6;
int y = 4;
float a = 12.5f;
float b = 7f;
System.out.println ( “x é “ + x + “, y é “ + y );
System.out.println ( “x + y = “ + (x + y) );
System.out.println ( “x - y = “ + (x - y) );
System.out.println ( “x / y = “ + (x / y) );
System.out.println ( “x % y = “ + ( x % y ) );
System.out.println ( “a é “ + a + “, b é “ + b );
System.out.println ( “ a / b = “ + ( a / b ) );
}
}

Mas ocorre algum erro na compilação. :X

Eu utilizo o IDE NetBeans e ele diz haver erro nas linhas 11, e 15 à 23.

 

Desde já agradeço.

Att, Eduardo Paim. :]

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro.

 

Crie uma classe / Arquivo com o nome MeuObjeto (nunca nomeie classes com a primeira letra em minúsculo).

public class MeuObjeto {
 String nome;
 int idade;
 String telefone;
}

 

Crie uma segunda classe / Arquivo com o nome App.

public class App {
 public static void main(String[] args) {
   MeuObjeto mo = new MeuObjeto();
   mo.nome = "nome";
   mo.idade = 123;
   mo.telefone = "12345678";

   System.out.println(mo.nome);
 }
}

 

Lembrando que só vai funcionar se as duas classes estiverem no mesmo pacote devido à visibilidade dos atributos da classe MeuObjeto. Mas isso é um assunto que você verá um pouco mais adiante.

 

No segundo exercício, a única coisa que vi de errado é a declaração do método main. Não existe a classe Strings, e sim String.

Errado.

public static void main(Strings args[])

 

Correto.

public static void main(String args[])

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro fiz melhor, compilei todo code num único arquivo:

public class MeuObjeto1 {
   String nome;
   int idade;
   String telefone;

   public static void main(String[] args) {
       MeuObjeto1 amigo = new MeuObjeto1();
       amigo.nome = "nome";
       amigo.idade = 123;
       amigo.telefone = "12345678";

       System.out.println(amigo.nome);
   }
}

 

Mas no segundo ainda ocorre algum erro na compilação :X ....

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro fiz melhor, compilei todo code num único arquivo:

public class MeuObjeto1 {
   String nome;
   int idade;
   String telefone;

   public static void main(String[] args) {
       MeuObjeto1 amigo = new MeuObjeto1();
       amigo.nome = "nome";
       amigo.idade = 123;
       amigo.telefone = "12345678";

       System.out.println(amigo.nome);
   }
}

 

Mas no segundo ainda ocorre algum erro na compilação :X ....

 

Na verdade, no primeiro exercício você fez pior. Mas já que está apenas começando está perdoado. :P

 

Quanto ao segundo, se você postar a pilha de erros ficará mais fácil de ajudar. Sem saber o que está errado não dá... ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade, no primeiro exercício você fez pior. Mas já que está apenas começando está perdoado. :P

 

Quanto ao segundo, se você postar a pilha de erros ficará mais fácil de ajudar. Sem saber o que está errado não dá... ;)

 

Humm... É melhor então criar 2 arquivos/class?

 

No segundo o NetBeans acusa:

run:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: <any>

at testes1.Testes1.main(Testes1.java:19)

Java Result: 1

CONSTRUÍDO COM SUCESSO (tempo total: 2 segundos)

 

b7f1307d82.jpg

 

Print do ERRO no NetBeans :]

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso do exercício 1 é melhor ter duas classes, pois você tem dois assuntos bem diferentes. Uma classe trata do modelo de dados e a outra trata da interface com o usuário. Orientação a Objetos é isso e algumas outras coisas mais.

 

Quanto ao exercício dois, acredito que o problema seja quanto à visibilidade da sua classe. Acrescente um public antes de class. Assim a classe ficará visível para a JVM.

public class ArithmeticTest { }

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso do exercício 1 é melhor ter duas classes, pois você tem dois assuntos bem diferentes. Uma classe trata do modelo de dados e a outra trata da interface com o usuário. Orientação a Objetos é isso e algumas outras coisas mais.

 

Quanto ao exercício dois, acredito que o problema seja quanto à visibilidade da sua classe. Acrescente um public antes de class. Assim a classe ficará visível para a JVM.

public class ArithmeticTest { }

 

Mas já está visivel/ com public

 

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

/**
*
* @author Administrador
*/
public class Testes1 {

   public static void main(String[] args) {
       short x = 6;
       int y = 4;
       float a = 12.5f;
       float b = 7f;

       System.out.println ( “x é “ + x + “, y é “ + y );
       System.out.println ( “x + y = “ + (x + y) );
       System.out.println ( “x - y = “ + (x - y) );
       System.out.println ( “x / y = “ + (x / y) );
       System.out.println ( “x % y = “ + ( x % y ) );
       System.out.println ( “a é “ + a + “, b é “ + b );
       System.out.println ( “ a / b = “ + ( a / b ) );
   }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri qual era o erro no Exemplo Aritmetico, eu estava copiando e colando os codigos do pdf, mas as aspas "" era de outra formatação e o NetBeans não suportava :]

 

Desde já agradeço a ajuda !

att Eduardo Paim

Compartilhar este post


Link para o post
Compartilhar em outros sites

Puts! Agora que eu vi que tinha uma imagem num dos posts acima. Pelo menos o problema está resolvido! :joia:

Compartilhar este post


Link para o post
Compartilhar em outros sites

No primeiro fiz melhor, compilei todo code num único arquivo:

public class MeuObjeto1 {
   String nome;
   int idade;
   String telefone;

   public static void main(String[] args) {
       MeuObjeto1 amigo = new MeuObjeto1();
       amigo.nome = "nome";
       amigo.idade = 123;
       amigo.telefone = "12345678";

       System.out.println(amigo.nome);
   }
}

 

Mas no segundo ainda ocorre algum erro na compilação :X ....

 

Eu acho que tu está pensando de forma errada. A classe não é objeto, o objeto é quando você o cria quando instancia a classe. Ou seja, assim:

 

public class MinhaClasse {
   String nome;
   int idade;
   String telefone;

   public static void main(String[] args) {
       MinhaClasse objetoAmigo = new MinhaClasse();
       objetoAmigo.nome = "nome";
       objetoAmigo.idade = 123;
       objetoAmigo.telefone = "12345678";

       System.out.println(objetoAmigo.nome);
   }
}

 

Ou seja, apartir que tu criou este objeto (desta classe), você vai usá-lo para acessar os métodos de outra classe que desejar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que tu está pensando de forma errada. A classe não é objeto, o objeto é quando você o cria quando instancia a classe. Ou seja, assim:

 

public class MinhaClasse {
   String nome;
   int idade;
   String telefone;

   public static void main(String[] args) {
       MinhaClasse objetoAmigo = new MinhaClasse();
       objetoAmigo.nome = "nome";
       objetoAmigo.idade = 123;
       objetoAmigo.telefone = "12345678";

       System.out.println(objetoAmigo.nome);
   }
}

 

Ou seja, apartir que tu criou este objeto (desta classe), você vai usá-lo para acessar os métodos de outra classe que desejar.

 

Humm... Agora deu pra entender bem ^^ Eu crio a classe, instacio os atributos, depois os metodos e assim eu crio um objeto apartir dela, certo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que tu está pensando de forma errada. A classe não é objeto, o objeto é quando você o cria quando instancia a classe. Ou seja, assim:

 

public class MinhaClasse {
   String nome;
   int idade;
   String telefone;

   public static void main(String[] args) {
       MinhaClasse objetoAmigo = new MinhaClasse();
       objetoAmigo.nome = "nome";
       objetoAmigo.idade = 123;
       objetoAmigo.telefone = "12345678";

       System.out.println(objetoAmigo.nome);
   }
}

 

Ou seja, apartir que tu criou este objeto (desta classe), você vai usá-lo para acessar os métodos de outra classe que desejar.

 

Humm... Agora deu pra entender bem ^^ Eu crio a classe, instacio os atributos, depois os metodos e assim eu crio um objeto apartir dela, certo?

 

Exato. Você cria o objeto quando instancia a classe. Depois que criou o objeto, aí voce irá chamar os seus métodos. Você só consegue usar seus métodos depois que criar seu objeto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.