Algoritmos

15 respostas
unmoralisch

Oi galera sou novo por aqui, e na programação JAVA; na verdade estou engatinhando bem lá longe, me arrastando mesmo…
Bem vamos ao assunto, eu gostaria de saber se tem alguma boa alma que possa me ajudar. Há alguém que tenha por um acaso dois algoritmos de JAVA prontos, é coisa simples, de aprendizado mesmo, podem colar aqui mesmo ou caso saibam de algum post de alguém que já tenha pedido isto, por favor, coloquem o endereço aqui também. Não quero tomar o tempo de ninguém e nem aborrecer, portanto se não vão ajudar, por favor não fiquem respondendo com coisas inúteis. Lá vão as explicações:

1) Um código em JAVA que peça o primeiro nome do usuário e no final imprima uma letra por vez acrescentando em uma escala até completar o nome (preferência que use as estruturas de repetição For e While), EX:

m
ma
mar
mari
maria

2) Um código em JAVA que solicite a data de nascimento em formato dd/mm/aaaa:

20/01/1980

E imprima da seguinte forma:

Você nasceu no dia 20 de janeiro de 1980

Agradeço desde já e até mais pessoal!

15 Respostas

rockstorm

Infelizmente vou ter que te dar uma resposta inutil. …
Tente fazer um código e poste sua dúvida aqui. o motivo do forum existir não é para consegur respostas de prontas e sim esclarecer dúvidas.

Pelo que eu entendi, seus “exercicios” são simples e precisam de lógica.
Utilize um contador para pegar letra a letra do nome…

Poste as duvidas aqui para podermos ajuda-lo…

até

unmoralisch

Não foi uma resposta inútil…
Mas o problema, é que eu nem sei como começar isto, eu queria mesmo estes códigos era para poder entendê-los no eclipse. Exatamente! Estes são exercícios que vi em um livro, mas não tem a resposta é óbvio hahaha
Mesmo assim obrigado!

Foxlol

Não querendo ser chato (mas talvez sendo) … cara primeiro aprenda lógica de programação, estruturas de dados e tudo mais. Se vc jah sabe blz … então aprenda a sintaxe da linguagem que vc deseja utilizar, no caso Java.

Senão tu vai ficar perdido mesmo, não adianta ngm aqui cola o código que tu vai aproveita mto poco como aprendizado.

O ideal eh ir atrás da sintaxe, lógica e estrutura.

Um bom artigo para começar aqui:
http://www.javaman.com.br/artigos/JavaComoComecar.html

Boa sorte

erickcellani

concordo plenamente com o Foxlol…
se vc ver o resultado será mto inútil para vc… se vc conseguir desenvolver isso… ai vc realmente vai aprender…
uma boa dica seria pesquisar… estudar… e saber o que está fazendo…
:wink:

dm_thiago

Discordo de uma coisa que o Foxlol falou.

  • Primeiro: estude lógica. É extremamente necessário.
  • Segundo: estude sintaxe da linguagem que você quer aprender.

Tente fazer esses dois juntos. Estude um pouco lógica e faça um exemplo simples usando sintaxe. Tente esse exemplo que você escreveu aí mesmo, é bom para começar.

  • Terceiro: estude estrutura de dados. Isso não é muito necessário para quem está começando. Acredito que você não pretende implementar uma pilha, fila ou qualquer outra estrutura dessas por agora. Então aconcelho deixar esse por último.

Quando você começar a fazer e as duvidas aparecerem, aí sim é hora de vir aqui perguntar.

[]´s

unmoralisch

Bem, vale ressaltar que não pedi para ninguém fazer para mim, mas sim se caso alguém tenha algum destes dois algoritmos prontos, ou um endereço que apareça algo semelhante, pois segundo o livro são “clássicos” do Java, obviamente deve haver algum lugar que tenha. Apenas pedi isto, desculpe se foi algo tão polêmico assim hahaha
Até mais!

A

aí unmoralisch, meu (nosso) amigo, não tem jeito, vai estudar lógica e a sintaxe da linguagem, senão vc vai perder muito tempo e ainda causar a impressão de que os outros é que irão pensar prá vc…

Isso aí é simples e eu acabei de fazer aqui…mas é como Jesus disse “ensine o homem a pescar, senão ele morrerá de fome”…

Tenta aí q daqui a 1 semana e posto pra vc… mas vc ta certo, da pra fazer com for, com while etc… dica: leia caractera a caractere de uma string, jogue um em cada linha, voltando no loop até completar o tamanho da string…

Pronto, ja te contei como fiz…agora faz ai…

unmoralisch

Ae Galera eu fiz o do nome e foi bem fácil, vejam aí:

import java.util.Scanner;

	public class Nome {
		public static void main(String[] args) {

			Scanner Entrada = new Scanner (System.in);
			System.out.print("Informe seu nome: ");
			String Nome = Entrada.nextLine();

			int i = 0;
			for (i=0;i<=Nome.length();i++){
				System.out.println(Nome.substring(0,i));

			}


	}

}

Já o da data foi mais difícil, eu vou colar aqui, mas já faço uma pergunta, como posso fazer com ele pedindo a data em formato (dd/mm/aaaa)?

import java.util.Scanner;

	public class Data {
		public static void main(String[] args) {

			Scanner Entrada = new Scanner (System.in);
			String mesExtenso = "";
			System.out.print("Informe o dia de seu nascimento: ");
			int dia = Entrada.nextInt();

			System.out.print("Informe o mês de seu nascimento em formato de números: ");
			int mes = Entrada.nextInt();

			System.out.print("Informe o ano de seu nascimento (em formato aaaa): ");
			int ano = Entrada .nextInt();

			switch(mes) {
			case 1:
				mesExtenso = "Janeiro";
				break;

			case 2:
				mesExtenso = "Fevereiro";
				break;

			case 3:
				mesExtenso = "Março";
				break;

			case 4:
				mesExtenso = "Abril";
				break;

			case 5:
				mesExtenso = "Maio";
				break;

			case 6:
				mesExtenso = "Junho";
				break;

			case 7:
				mesExtenso = "Julho";
				break;

			case 8:
				mesExtenso = "Agosto";
				break;

			case 9:
				mesExtenso = "Setembro";
				break;

			case 10:
				mesExtenso = "Outubro";
				break;

			case 11:
				mesExtenso = "Novembro";
				break;

			case 12:
				mesExtenso = "Dezembro";
				break;

			}

			System.out.println("Você nasceu no dia "+dia+" de " + mesExtenso + " do ano de "+ ano);


		}


}

Obrigado!

fsquadro

Neste caso você pode pegar a data como uma String.

E usar o método substring para dividi-lo.

De uma olhada em como usar o substring.

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring(int,%20int)

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring(int)

unmoralisch

eu fiz assim

System.out.print("Informe a data de seu nascimento: ");
			String data[] = Entrada.nextLine().split("/");
		    
			System.out.println(data[0]);
			System.out.println(data[1]);
			System.out.println(data[2]);

ele separou as datas, agora como eu faço para adicionar ao meu outro código, terei que mudar muita coisa?

I
Integer.parseInt (data[0]);

Integer.parseInt (data[1]);

Integer.parseInt (data[2]);

dai vc tem o dia,o mes e o ano.

R

Venho a lembrar que n primeiro exemplo, q vc imprime cada letra em sequencia, a variavel i q vc criou n inicio do for e inutil pq vc ja determina ela como int dentro dor for!!!

Vc pode coloque conforme abaixo, sendo assim economiza o codigo.

for (int i=0;i<vetor.lenght();i++){
            break; 
}
I

Pergunta: além de ser ‘local’ (se eu quiser usar o i em outra parte desse mesmo código eu não consigo),existe alguma outra ‘propriedade’ ou sei lá…alguma otimização nos bytecodes? (mais ou menos na linha de pensamento de que i++ ou (a==b)?c=a:c=b+1; podem ser mais ‘simples’ ou ‘rápidas’ do que instruçoes equivalentes)

T

Hum… o compilador “just-in-time” da JVM prefere código simples (por exemplo, se você não ficar reaproveitando variáveis locais e fazendo truques, ele pode gerar até código de máquina melhor. Ele prefere que os bytecodes não sejam otimizados.

unmoralisch

Olá pessoal!
Bem obrigado à todos, para mim fechou!
Isis: Ficou certinho, obrigado!

Criado 19 de abril de 2007
Ultima resposta 25 de abr. de 2007
Respostas 15
Participantes 10