Como elevar um numero?  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
handynoturno
Thread.start()

Membro desde: 28/05/2009 08:19:06
Mensagens: 36
Offline

Oi galera será que alguem sabe retornar na saida do monitor um numero elevado a outro! eu estou desenvolvendo um algoritimo em que o expoente de um dado numero va de 0 a 100, e queria que fosse mostrado no monitor como deste modo: 3³! sera que alguem pode me ajudar?
Lavieri
GUJ Master
[Avatar]

Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline

ops... vc ker um caracter ?

This message was edited 1 time. Last update was at 28/05/2009 08:26:49


Sun Certified Java Programmer (SCJP 6)

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999

Meu blog -> http://blog.tomazlavieri.com.br/
[ICQ]
renzonuccitelli
GUJ Master

Membro desde: 17/09/2008 12:58:32
Mensagens: 1134
Offline

Lavieri wrote:


Também pensei q fosse isso que ele estava querendo, mas depois de ler o post, vi que ele quer colocar uma letra sobrescrita na outra, igual vc faz no Word. Uma opção acochambrada seria usar dois labels, uma para o número e outro para o expoente, colocando uma fonte menor no expoente e posicionando o mesmo logo acima do label do número. Qdo eu fiz programa com saida no próprio console, eu usava o próprio acento circunflexo para denotar a potencia...

Renzo Nuccitelli

Engenheiro de Computação - ITA

http://nuccitec.com.br/
http://blog.nuccitec.com.br/
http://jcoltrane.sf.net
http://jfera.nuccitec.com.br/
http://code.google.com/p/webapp-ce/
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17572
Offline

Na saída do monitor que você diz é "console" (ou seja, imprimir naquelas letras brancas em fundo preto) ou em uma tela gráfica (JFrame)?

No primeiro caso, você tem de fazer uns truques com espaçamento, algo como:



No segundo caso, use um JLabel e o HTML <sup></sup>, algo como

This message was edited 3 times. Last update was at 28/05/2009 08:32:41

[WWW]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 6596
Localização: São Paulo/SP
Offline

thingol wrote:
No primeiro caso, você tem de fazer uns truques com espaçamento, algo como:


Truques com espaçamentos ou gambiarra espacial?


Sorry.. nao acrescentou nada ao tópico mas eu tinha que lançar essa.
[WWW] [MSN]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17572
Offline

No tempo em que eu estava na faculdade havia um sistema que rodava no mainframe, chamado REDUCE. Ele imprimia fórmulas matemáticas exatamente desse jeito, já que a saída dele era o console (na verdade um terminal IBM 3270).


http://www.uni-koeln.de/REDUCE/intro/section3_10.html#SECTION00010000000000000000

Acredite se quiser...

This message was edited 1 time. Last update was at 28/05/2009 09:31:46

[WWW]
Bruno Laturner
GUJ Expert
[Avatar]
Membro desde: 18/02/2008 16:17:53
Mensagens: 3300
Offline

Mark_Ameba wrote:
thingol wrote:
No primeiro caso, você tem de fazer uns truques com espaçamento, algo como:


Truques com espaçamentos ou gambiarra espacial?


Sorry.. nao acrescentou nada ao tópico mas eu tinha que lançar essa.


Truques com espaçamento mesmo Mark, não tem nada de gambiarra pois não existe outra forma de fazer isso com telas de console/tty. Mesmo que use frameworks pra ter ajudar, eles farão o mesmo tipo de coisa.


Edit:

Há uma forma: Se o console usar Unicode, há caracteres de 0 a 9 nele que escrevem como se fossem sup ou sub.

This message was edited 1 time. Last update was at 28/05/2009 09:32:52

[WWW]
handynoturno
Thread.start()

Membro desde: 28/05/2009 08:19:06
Mensagens: 36
Offline

Bruno Laturner!

isso eu vou rodar no console!!

mas com o unicode nao tem jeito de fazer elevar automaticamente, teria que fazer uma sequencia de teste pra saber quanto vale a variavel e depois usar o codigo unicode:


por exemplo

if(n = 3) {

System.out.print(n +"\u00b3");
}


assim fica dificil pois teria que fazer 100 testes!!!

entendeu?
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17572
Offline

No console acho infinitamente mais fácil escrever assim:



Não fique inventando frescuras. No console os caracteres Unicode superiores a 127 normalmente não aparecem direito. Portanto nem adianta usar aqueles caracteres Unicode que são os dígitos, só que como expoentes.

[WWW]
toninhocell
Debugger
[Avatar]

Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline

Para exibir no console.



Abração!

"Hoje sou mais sábio do que ontem"
[Email] [Yahoo!] [MSN]
Bruno Laturner
GUJ Expert
[Avatar]
Membro desde: 18/02/2008 16:17:53
Mensagens: 3300
Offline

http://en.wikipedia.org/wiki/Unicode_subscripts_and_superscripts

Para 1, é 0xB9.

Para 2-3, some 0x32 e 0x33 com 0x80 para dar 0xB2 e 0cB3.

Para 0, 4-9, some 0x30 e 0x34-0x39 com 0x2040 para dar 0x2070 e 0x2074-0x2079.

Observação:

Só funciona se o console for Unicode e se a fonte para escrever tiver esses caracteres, senão vai mostrar um monte de ? ou quadradinhos.

This message was edited 1 time. Last update was at 28/05/2009 10:35:49


A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
Marky.Vasconcelos
Moderador
[Avatar]

Membro desde: 11/04/2007 18:18:20
Mensagens: 6596
Localização: São Paulo/SP
Offline

Bruno Laturner wrote:
Mark_Ameba wrote:
thingol wrote:
No primeiro caso, você tem de fazer uns truques com espaçamento, algo como:


Truques com espaçamentos ou gambiarra espacial?


Sorry.. nao acrescentou nada ao tópico mas eu tinha que lançar essa.


Truques com espaçamento mesmo Mark, não tem nada de gambiarra pois não existe outra forma de fazer isso com telas de console/tty. Mesmo que use frameworks pra ter ajudar, eles farão o mesmo tipo de coisa.


Ahh.. eu tava só brincando e avisei isso. É que o trocadilho "Truque com espaçamento" e "Gambiarra espacial" me parecia engraçado. Até antes de postar.
:oops:
[WWW] [MSN]
toninhocell
Debugger
[Avatar]

Membro desde: 21/01/2008 14:55:24
Mensagens: 67
Localização: Uberlândia MG
Offline

Mais outra forma. Um amigo aqui do trabalho me mostrou.


"Hoje sou mais sábio do que ontem"
[Email] [Yahoo!] [MSN]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team