Programa de iniciante

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.

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

Att

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

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.

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é.

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.

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

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

Abraço.

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.

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:

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

Abraço.[/quote]

Use o método String.charAt().

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

Observe:

[code]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[/code]

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. :wink:

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.

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!

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.

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

Ele pode estar fazendo um treinamento…

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!

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…

Seria isso qoue você queria?
Rode pelo command

java -jar BarNumbers.jar

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.