Programa de iniciante

23 respostas
M

Bom dia a todos…

pessoal tenho que fazer um programinha que imprima na tela, qualquer numero que o usuario queira digitar. Porém quando imprimir na tela a saida dos dados tem que ser assim:

Exemplo: Se o usuario digitaros numeros, tem que aparecer no formato acima.

Desde já agradeço atenção de todos.

23 Respostas

danielbussade

Olá não entendi direito o formato que tem que ficar, melhore esta imagem e poste de novo!!

Att

M

Caro Daniel,

só tenho esta imagem… se vc olhar, vai ver que estar escrito 12345 e embaixo esta 67890. Sou iniciante Java e minha empresa passou esta tarefa para mim… quando o usuario digitar qualquer numero, os mesmos tem que ser inseridos na tela com aquele formato. Vou postar meu programa que fiz… mas este programa mostra somente os numeros já definidos. O programa tem que mostra os numeros que o usuario digitar.

Abraço!

Mineiro27

L

A solução do problema é saber organizar as coisas.

Uma idéia:

  1. Crie uma classe base Numero abstrata, com métodos “int linhasImpressas()” e “void print(int linha)”, o primeiro devolve um número de quantas linhas é necessário para imprimir um número, o segundo imprime com System.out.println as barras para a linha determinada.

  2. Crie as subclasses NumeroZero, NumeroUm, … até NumeroNove, que implemente os métodos da classe base Numero.

  3. Crie uma classe que contém um método que converta o número em string, e que faça o seguinte algoritmo:

para cada linha em linhasImpressas()

para cada caracter no stringNumero

Numero num = Numero.getInstance(caracter)

num.print(linha)

Acho que é isso.

rockstorm

Amigo,
Você ja iniciou o codigo??? Tente fazer e poste suas duvidas com relação ao código.
Uma solução bacana foi a do Leonardo3001. Poste as duvidas para podermos te ajudar.

até.

M

Bom pessoal, estou iniciando em Java e nunca programei em nenhuma linguagem de programação e esta é a minha primeira tarefa aqui na empresa. Já iniciei o codigo, mas nao sei como imprimir dois numeros. Com somente um numero eu consigo. Meu codigo é este:

Obrigado a todos.

rockstorm

Então não sei se esta é a melhor solução, mas para numeros unicos voce pode utilizar o switch case.
Crie uma classe com metodos de construção de cada numero.
EX:

public void escreveUm(){
		
		System.out.println("    ");
	    System.out.println(" |  ");
	    System.out.println(" |  ");
	    System.out.println("    ");
	    System.out.println(" |  ");
	    System.out.println(" |  ");
	    System.out.println("    ");
		
	}
	public void escreveDois(){
	    System.out.println("    _ _  ");
	    System.out.println("       | ");
	    System.out.println("       | ");
	    System.out.println("    - -  ");
	    System.out.println("  |      ");
	    System.out.println("  |      ");
	    System.out.println("   - -   ");

		
	}

E chame o metodo fazendo um switch case para saber o numero digitado

M

Numeros unicos, eu consegui fazer, mas se o usuario digitar: 4563, por exemplo? Como faço para chamar estes numeros seguidos???

Abraço.

Marky.Vasconcelos

Complementando a ideia do Leonardo3001

Fixe o numero de colunas x linhas que qualquer numero va usar, se o usuario digitar 10 por exemplo você
manda o n° 1 imprimir sua primeira linha com o System.out.printn() assim ele não vai mudar de linha e depois da primeira linha do zero escreva System.out.printn("\n") dai va para a segunda linha e assim sucessivamente até a ultima linha do numero.

ViniGodoy

Mineiro, uma dica. Não duplique tópicos.

Você poderia ter continuado a discussão aqui no seu tópico original:
http://www.guj.com.br/posts/list/76019.java

Assim eu (e todos os outros que solicitaram) já teriam recebido a notificação de sua resposta a mais tempo e poderiam te auxiliar.

Da próxima, não repita, ok? :wink:

ViniGodoy
Mineiro27:
Numeros unicos, eu consegui fazer, mas se o usuario digitar: 4563, por exemplo? Como faço para chamar estes numeros seguidos???

Abraço.

Use o método String.charAt().

Esse método te retorna um único caracter dentro de uma string.

Observe:
int num = 4321;
String numStr = Integer.toString(num);

System.out.println(numStr.charAt(0)); //Imprime 4
System.out.println(numStr.charAt(2)); //Imprime 2
System.out.println(numStr.charAt(1)); //Imprime 3
System.out.println(numStr.charAt(3)); //Imprime 1

Há outros métodos interessantes na string, como o length(), que te retorna o tamanho da String. Com isso você pode fazer um for e imprimir todos os número que ela contiver. ;)

M

O usuario vai emtrar com o qualquer numero, mas eu tenho que imprimir na tela neste formato:

Sabe como me ajudar?, agradeço a postagem de todos, mas como sou iniciante no Java… não entendi muito bem as dicas do pessoal…ta dificil.

M

Pessoal, criei meu programa, porém ainda não está redondo… criei uma classe onde tenho os metados escreverUm() e escreverDois() . Na minha classe main eu chamo esses metados todos as vezes que o usuario digita o numero 1 ou o numero 2. Porém gostaria que mostrasse na tela dois caracteres. Por exemplo se o usuario digitar 11 que mostre 11. Mas na minha classe de metados, tenho que declarar somente metados que escrevam de 0 a 9. Alguém tem alguma idéia?

Quem poder me ajudar, ficarei muito agradecido!

Abraço!

M

Pesquesei sobre a substring, porém vou ter que declarar todos os numeros e assim nao é correto. Quero alguma função que o usuario possa digitar qualquer numero e o numero possa ser mostrado na tela com o formato que declarei nos meus metados. Exemplo: Se o usuario digitar o numero do telefone dele, deve aparecer na tela o mesmo numero, porém no formato que eu declarei nos metados. Até agora, consegui chamar os metados quando o usuario digitar somente um numero. E preciso que funciona com qualquer quantidade de numeros digitados.

Desde já agradeço a colaboração.

Abraço.

Giulliano

Cara fala sério a sua empresa te passou essa tarefa !!! Ou vc esta na faculdade e não consegue fazer os exercícios…

ViniGodoy

Ele pode estar fazendo um treinamento…

M

Nao estou na facu e fiz o primeiro modulo de um curso de Java. E isso é uma tarefa da empresa mesmo! pois trabalho numa empresa onde temos um sistema de gerenciamento de filas, onde temos os hardwares que são os painéis. Isso formato que passei… é uma saida de painel. Agora, sou novo em Java nao tenho muito conhecimento na linguagem, e por mais que ainda nao tenho conseguido deixar redondo o sistema, aprendi bastante com todos os colegas da GUJ que quiseram ajudar, pois pesquisei sobre o assunto que me passaram. Agora, ninguém é obrigado a ajudar, acho que o objetivo do site é o aprendizado, e com isso, até mesmo as pessosas que ajudam, acredito eu que estam aprendendo também!

Abraço!

Giulliano

Não me entenda mal mineiro…mas muitas pessoas não entendem como funciona o forúm… Você esta certo estamos todos as para discutir idéias…

Marky.Vasconcelos

Seria isso qoue você queria?
Rode pelo command

java -jar BarNumbers.jar
M

Mark_Ameba, obrigado cara! Era isso mesmo que estava procurando. Desculpe minha ignorância no Java, mas tem como eu descompactar este .jar, do jeito que eu vejo o codigo fonte, pois quebrei a cabeça e nao consegui fazer. Gostaria de ver como você fez para adquirir mais conhecimento.

Desde já agradeço pela atencao.

Abraço.

Pedrosa

Procure por JavaDecompiler!

M

Valew pela dica Pedrosa, mas esta dando erro nas classes quando vai descompilar!

Abraço.

Marky.Vasconcelos

PS: Contra o JavaDecompiler existe o Obfuscator coisa assim, ele deixa o código quase irreversivel.
Assim você não teria acesso aos fontes^^

everson_z

Procure por substring

public static void main(String [] args){
		
		String valor = "11";
		
		System.out.println("Total: " + valor);
		
		System.out.println("Apenas o 1º: " + valor.substring(0, 1));
		
	}

t+

Criado 3 de dezembro de 2007
Ultima resposta 5 de dez. de 2007
Respostas 23
Participantes 9