Desenvolvendo meu primeiro projeto em JAVA

11/01/2012

0

SEEK estive ausente esses dias e estarei novamente apartir de amanhã, juro que perdi um pouco do rumo que tinha tomando desde o sábado... Vamos deixar de conversa mole e vamos ao que interessa... Como você me intimou, primeiro tenho que ler bastante pra evitar fazer algo estruturado numa ambiente orientado a objeto, entendi bem, só tem umas coisas que era complexas pra burro e não teve jeito(mas também achei que aquilo era coisa bem avançada)... Pelo que eu vi, o jeito é fazer pelo console(bem diferente comparado ao Shell do Python(tela preta)), só que eu tô com uma ideia desgraçada na cabeça que eu posso avançar já pra GUI(devo estar ficando louco pra poder desenvolver alguma coisa legal(clicável eu acho kkkkkk) me da um norte cara... Eu sou um cara que tem muita força de vontade só que sem muitas ideias(tenho que mudar isso urgente), a unica ideia que tenho é passar meu projeto do Python pra Java, e logo com GUI... Enfim eu acho que posso e não tenho dúvidas, não sei de tudo, mais gosto de estudar e fazer na hora, to afim de tentar meter a cara no negocio difícil sem medo de errar(até por que ainda estou estudando) me ajuda cara? Tô pensando em desenhar o programa(como ficaria a interface), ver os nomes dos JAlgumaCoisa(componentes que irei usar) para estudar mais sobre eles... e acho que a parada das classes já ta bem fixada na minha cabeça... ME AJUDA?! PS: Num sei se você é professor ou se já é um cara fodão da área sei que você pode me ajudar demais =D enfim... Qualquer coisa serve! Vlw aguadando... [img]http://javafree.uol.com.br/files_user/files/7/51/6E/challenge.jpg[/img]
Murilo Lopes

Murilo Lopes

Responder

Post mais votado

27/01/2012

[quote="Murilo Lilo"]Por que:
p.addTelefone("1234-5678");
? Se p(pessoa) só tem como parâmetro o nome como eu vou add telefone?
[img]http://javafree.uol.com.br/forum/images/smiles/tantan.gif[/img]

Luciano Cargnelutti

Luciano Cargnelutti
Responder

Mais Posts

17/01/2012

Renan Zimmer

[quote="Murilo Lilo"]LEO: É isso ai que o SEKK falou! SEKK: Vou corrigir esses erros agora, jaja posto eles. Só que eu boto pra retornar o que?
se os métodos não tiverem tipo (void), não precisa retornar nada. Ou você pode chamar apenas
return;
Mas não precisa, se ele chegar ao final do método, ele retorna sozinho.
Responder

17/01/2012

Murilo Lopes

Eu não sei pra que serve isso:
[...]
.equals(nome)
[...]
Explica ai por favor. @EDIT: Você disse que meus métodos não retornam nada, como resolvo isso?
Responder

17/01/2012

Douglas Eric

[quote="Murilo Lilo"]Eu não sei pra que serve isso:
...
.equals(nome)
...
Explica ai por favor.
já expliquei http://javafree.uol.com.br/topic-884651-Desenvolvendo-meu-primeiro-projeto-em-JAVA.html?page=2#216669
Responder

17/01/2012

Murilo Lopes

A desculpa ai, esqueci, lembrava de ter visto isso só que não sabia onde =D...
Responder

17/01/2012

Renan Zimmer

[quote="Murilo Lilo"] Você disse que meus métodos não retornam nada, como resolvo isso?
Eu disse que seus métodos nunca retornam. *ponto* Nunca retornar é ruim, você precisar deixar seu método terminar. No seu programa, o seu método chama outro método que chama outro e que chama outro e vai chamando.. você precisa deixar seu método terminar, faz o que precisa e termina, não chama mais métodos. Exemplo, seu método para mostrar mensagem, ele só precisa mostrar a mensagem e terminar, não chamar o menu() todas essas chamadas de menu() devem ser retiradas. sobre não retornar nada, isso não é um problema, se seu método não precisa retornar nada, então não retorne nada!
Responder

17/01/2012

Renan Zimmer

Murilo, Seus métodos estão chamando menu() de volta. Não há necessidade, pois quando um método que foi chamado pelo menu termina ele continua no menu. Pense num programa estruturado. Na linha 100, por exemplo, ele chama uma função qualquer. Quando ele chega nessa linha, ele irá para a função, fará a função, e quando a função terminar, ele continuará de onde ele parou, na linha 101. No seu caso, ele chama um método pelo menu(). Fará o método, o método terminará, e então ele continuará o menu(). Se vc chamar o menu de novo, o primeiro ficará na pilha. E essa pilha só sumirá quando vc fechar o programa. Entendeu?
Responder

17/01/2012

Renan Zimmer

[quote="MathewsMotta"] Pense num programa estruturado. Na linha 100, por exemplo, ele chama uma função qualquer. Quando ele chega nessa linha, ele irá para a função, fará a função, e quando a função terminar, ele continuará de onde ele parou, na linha 101.
Só uma correção, uma função retorna para a mesma linha a qual ela foi chamada. Então se ela veio da linha 100, quando ela terminar, vai voltar pra linha 100.
Responder

17/01/2012

Murilo Lopes

package ListaPackage;

import java.util.ArrayList;
import java.util.Scanner;

public class Agenda{

	private ArrayList<Pessoa> pessoas;
	private Scanner scanner;
	
	public boolean existe(String nome){
		int i=0;
		boolean tem = true;
		for (Pessoa p: pessoas){
			if (p.getNome().equals(nome) == true){
				i++;
			}
		}
			if (i==0){tem = false;}
			if (i>0){tem = true;}
		return tem;
	}
	
	public void apagar(){
		System.out.println("Digite o nome que deseja apagar:");  
	    String nome = scanner.nextLine();
	    for (Pessoa p : pessoas)
	    	if(p.getNome().equals(nome)){  
	            pessoas.remove(p);
	            break;
	    	}
		System.out.println("Cadastro apagado com sucesso!");
		msgVoltar();
	}
	
	public void listar(){
		int a = pessoas.size();
		System.out.println("A agenda tem "+a+" número(s) cadastrado(s)!");
		System.out.println("===========================");
		System.out.println("Nome		Telefone		Email");
		for (Pessoa p : pessoas)
			System.out.println(p.getNome()+" "+p.getTelefone()+" "+p.getEmail());
		System.out.println("===========================");
		
		msgVoltar();
	}
	
	public void procurar(){	
	}
	
	public void msgVoltar(){
		System.out.println("Tecle Enter para voltar!");
		String opc = scanner.nextLine();
	}

	public void cadastrar(){		
		System.out.println("Formulário de cadastro:");
		System.out.println("Digite o nome:");  
	    String nome = scanner.nextLine();
	    System.out.println("Digite o telefone:");  
	    String telefone = scanner.nextLine();
	    System.out.println("Digite o email:");  
	    String email = scanner.nextLine();
	    
	    if (existe(nome) == false){
	    	Pessoa pessoa = new Pessoa(nome, telefone, email);
		    pessoas.add(pessoa);
		    System.out.println("Cadastro realizado com sucesso!");
		    msgVoltar();	    	
	    }else{
	    	System.out.println("Nome já cadastrado, favor tente outro nome!");
	    	msgVoltar();
	    }
	}
	
	public void sair(){
	}
		
	public void menu(){
		System.out.println("=================");
		System.out.println("Agenda Telefônica");
		System.out.println("=================");
		System.out.println("1 - Cadastrar");
		System.out.println("2 - Procurar");
		System.out.println("3 - Listar todos");
		System.out.println("4 - Apagar");
		System.out.println("0 - Sair");
		System.out.println("==>");
		
		int opc = Integer.parseInt(scanner.nextLine()); 
		
		while (opc != 0){
			if (opc == 1){
				cadastrar();
			}
			if (opc == 2){
				procurar();
			}
			if (opc == 3){
				listar();
			}
			if (opc == 4){
				apagar();
			}
			menu();
		}
	}
	
	public Agenda(){
		this.pessoas = new ArrayList<Pessoa>();
		this.scanner = new Scanner(System.in);
		}
	
}
Iai gente? Ainda consegui fazer funcionar o "Verificador" quase enlouqueço aqui mais saiu =D
Responder

17/01/2012

Murilo ângelo

Cheguei hoje e ja estou acompanhando aqui tbm..rsrs
Responder

17/01/2012

Douglas Eric

Mas você ainda está chamando o menu no final do próprio menu! e cade o switch que tava ali? ???
Responder

17/01/2012

Murilo Lopes

Eita vei, pensei que tinha progredido =(, vê só deixa eu explicar o que eu fiz. Quando eu estudava Python o professor disse que essa era a melhor maneira de gerenciar o menu(pelo jeito só na estruturada mesmo). Quando uso o while ele fica nesse loop até o cara digitar "0" pra sair, dessa maneira se ele digita "1" executa o cadastrar e faz o que tem que fazer, assim que termina se não tivesse o menu ali embaixo ele continuaria no loop do "1". Ainda não vi como eu vou chamar tudo uma única vez! Da uma dica ai =D
Responder

17/01/2012

Mathews Motta

[quote="sekkuar"]Só uma correção, uma função retorna para a mesma linha a qual ela foi chamada. Então se ela veio da linha 100, quando ela terminar, vai voltar pra linha 100.
Sim sim, mas na verdade eu pensei naquela linha 100 tendo APENAS a função. Mas se bem que se seguir exatamente o caminho, o programa iria chegar na linha 100, ler o comando de execução da função, ai ia pra função e qdo terminasse ia voltar exatamente onde parou: após a execução da função. Ou seja, vai pular para a linha 101 pq a 100 acabou, mas se tiver mais algo na linha 100, ele continua da 100. Se vc parar para pensar a própria lógica de execução usa lógica de programação:
*Função acaba de ser executada*
*Pensamento da máquina*
- Função finalizada
- Voltar para a linha onde parei
- Linha 100
SE (linhaAcabou) ENTÃO 
     pularLinha();
SENÃO
     continuar();
Algo assim euhue
Responder

17/01/2012

Douglas Eric

[quote="Murilo Lilo"]Eita vei, pensei que tinha progredido =(, vê só deixa eu explicar o que eu fiz. Quando eu estudava Python o professor disse que essa era a melhor maneira de gerenciar o menu(pelo jeito só na estruturada mesmo). Quando uso o while ele fica nesse loop até o cara digitar "0" pra sair, dessa maneira se ele digita "1" executa o cadastrar e faz o que tem que fazer, assim que termina se não tivesse o menu ali embaixo ele continuaria no loop do "1". Ainda não vi como eu vou chamar tudo uma única vez! Da uma dica ai =D
do jeito que estava antes estava certo. O while vai ficar "em volta" do menu inteiro, inclusive os print que desenham as opções. Ao invez desse monte if, use a switch mesmo, e apaga essa chamada para menu, o laço precisa ficar dentro do próprio menu, não chamar um novo
Responder

17/01/2012

Murilo Lopes

Cara, esse menu ta peidado viu, eu tenho que tirar esse While e deixar só o Switch mesmo? Mais ainda não entendi como eu vou conseguir chamar o menu uma única vez e ele se sustentar sozinho! Que tenso ta ficando... =(
Responder

17/01/2012

Kleber Bogo

[quote="Murilo Lilo"]Cara, esse menu ta peidado viu, eu tenho que tirar esse While e deixar só o Switch mesmo? Mais ainda não entendi como eu vou conseguir chamar o menu uma única vez e ele se sustentar sozinho! Que tenso ta ficando... =(
não não não, o switch vai ficar dentro do while, assim
do{


   //println do menu
   //println do menu
   //println do menu
   //println do menu

   //lê opção do usuário

  switch(opc){
      case 1: //caso 1

      case 2: //caso 2
  
      case 3: //caso 3 

      //...

  }

}while(opc!=0);
entendeu?
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar