Este programa foi criado originalmente
em linguagem C por mim mesmo, a cinco
anos atrás, e lembro que na época
foi um grande sucesso de visualizações no blog.
Agora, resolvi convertê-lo em java, e apresento aqui os resultados.
O único obstáculo em compilar este programa é a classe J,
mas se alguém tiver interesse posso disponibilizar uma cópia
deste programa em javafx, fica claro que até este momento ainda não
possuo esta opção, mas até o fim desta semana, se eu tiver tempo
faço isto e posto no blog.
Veja abaixo uma imagem do programa em execução
Veja abaixo o código do programa:
em linguagem C por mim mesmo, a cinco
anos atrás, e lembro que na época
foi um grande sucesso de visualizações no blog.
Agora, resolvi convertê-lo em java, e apresento aqui os resultados.
O único obstáculo em compilar este programa é a classe J,
mas se alguém tiver interesse posso disponibilizar uma cópia
deste programa em javafx, fica claro que até este momento ainda não
possuo esta opção, mas até o fim desta semana, se eu tiver tempo
faço isto e posto no blog.
Veja abaixo uma imagem do programa em execução
Veja abaixo o código do programa:
import java.awt.Toolkit;
import java.util.Scanner;
public class PROJETO {
static int n = 0, un, de, ce, mi, erro = 0;
static J jht = new J ( );
static String str_1;
public static void Inform ( ) {
J jht = new J ( );
//
/////////////////////////////////////////////////////////////////////
// Parâmetros da função printfx
// Coord x, Coord y, String, cor de frente,
cor de fundo,
// Comprimento, Tempo, frequência, duração.
jht.printfx ( 22, 20, "Por: ", 12, 15, 5, 0, 0, 0 );
jht.printfx ( 27, 20, "Samuel
Lima", 9, 15, 11, 0, 0, 0 );
jht.printfx ( 22, 21, "sa_sp10@hotmail.com", 0, 15, 20, 0, 0, 0 );
jht.printfx ( 33, 23, "MUITO
OBRIGADO", 12, 15, 15, 0, 0, 0 );
}
////////////////////////////////////////////////////////////////////////////
// Este método não permite a entrada de
caracteres
public static int Cardinais ( char c ) {
int i;
for ( i = 0; i < ( c ); i++ ) {
if ( c < '0' || c > '9' )
return 0;
}
return 1;
}
////////////////////////////////////////////////////////////////////////////
public static void FuncUnidade ( ) {
if ( un == 1 ) {
System.out.printf ( "Um" );
}
if ( un == 2 ) {
System.out.printf ( "Dois" );
}
if ( un == 3 ) {
System.out.printf ( "Tres" );
}
if ( un == 4 ) {
System.out.printf ( "Quatro" );
}
if ( un == 5 ) {
System.out.printf ( "Cinco" );
}
if ( un == 6 ) {
System.out.printf ( "Seis" );
}
if ( un == 7 ) {
System.out.printf ( "Sete" );
}
if ( un == 8 ) {
System.out.printf ( "Oito" );
}
if ( un == 9 ) {
System.out.printf ( "Nove" );
}
}
///////////////////////////////////////////////////////////////////////////
public static void main ( String [ ] args ) throws Exception {
J jht = new J ( );
jht.Moldura ( 1, 24, 2, 78, 15 );
do {
jht.cls ( );
Inform ( );
jht.poscolor ( 20, 3, 12, 15 );
System.out.printf ( "DE DECIMAL
PARA CARDINAIS EM JAVA" );
jht.poscolor ( 20, 5, 9, 15 );
System.out.print ( "Digite um
Numero => " );
jht.textcolor ( 12 );
Scanner hms = new Scanner ( System.in );
str_1 = hms.nextLine ( );
if ( Cardinais ( str_1.charAt ( 0 ) ) == 0 ) {
Toolkit.getDefaultToolkit ( ).beep ( );
continue;
}
//Conversão de String para inteiro
n = Integer.parseInt ( str_1 );
//separa milhares
mi = ( n / 1000 );
//separa centenas
ce = ( ( n - ( mi * 1000 ) ) / 100 );
//separa dezenas
de = ( ( n - ( ( mi * 1000 ) + ( ce * 100 ) ) ) / 10 );
//separa unidades
un = ( n - ( ( mi * 1000 ) + ( ce * 100 ) + ( de * 10 ) ) );
jht.poscolor ( 20, 7, 9, 15 );
System.out.print ( "Voce digitou:
" );
jht.poscolor ( 35, 7, 12, 15 );
System.out.printf ( "%d %d %d
%d" , mi , ce , de , un );
jht.poscolor ( 20, 9, 9, 15 );
System.out.printf ( "Separando por
grupo temos:" );
mi = mi * 1000;
ce = ce * 100;
de = de * 10;
un = un * 1;
jht.poscolor ( 20, 11, 12, 15 );
System.out.printf ( "%d
Milhar" , mi / 1000 );
jht.poscolor ( 20, 12, 12, 15 );
System.out.printf ( "%d
Centenas" , ce / 100 );
jht.poscolor ( 20, 13, 12, 15 );
System.out.printf ( "%d
Dezenas" , de / 10 );
jht.poscolor ( 20, 14, 12, 15 );
System.out.printf ( "%d
Unidades" , un / 1 );
jht.poscolor ( 20, 16, 9, 15 );
System.out.printf ( "Em
Cardinal:" );
jht.poscolor ( 20, 18, 12, 15 );
if ( mi == 9000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Nove Mil
" );
} else {
System.out.printf ( "Nove Mil e
" );
}
}
if ( mi == 8000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Oito Mil
" );
} else System.out.printf ( "Oito Mil e
" );
}
if ( mi == 7000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Sete Mil
" );
} else System.out.printf ( "Sete Mil e
" );
}
if ( mi == 6000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Seis Mil
" );
} else System.out.printf ( "Seis Mil e
" );
}
if ( mi == 5000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Cinco Mil
" );
} else System.out.printf ( "Cinco Mil e
" );
}
if ( mi == 4000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Quatro Mil
" );
} else System.out.printf ( "Quatro Mil e
" );
}
if ( mi == 3000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Tres Mil
" );
} else System.out.printf ( "Tres Mil e
" );
}
if ( mi == 2000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Dois Mil
" );
} else System.out.printf ( "Dois Mil e
" );
}
if ( mi == 1000 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Mil " );
} else System.out.printf ( "Mil e " );
}
if ( ce == 900 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Novecentos" );
} else System.out.printf ( "Novecentos e
" );
}
if ( ce == 800 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Oitocentos" );
} else System.out.printf( "Oitocentos e
" );
}
if ( ce == 700 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Setecentos" );
} else System.out.printf ( "Setecentos e
" );
}
if ( ce == 600 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Seiscentos" );
} else System.out.printf ( "Seiscentos e
" );
}
if ( ce == 500 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Quinhentos" );
} else System.out.printf ( "Quinhentos e
" );
}
if ( ce == 400 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Quatrocentos" );
} else System.out.printf ( "Quatrocentos
e " );
}
if ( ce == 300 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Trezentos" );
} else System.out.printf ( "Trezentos e
" );
}
if ( ce == 200 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Duzentos" );
} else System.out.printf ( "Duzentos e
" );
}
if ( ce == 100 ) {
if ( de == 0 && un == 0 ) {
System.out.printf ( "Cem" );
} else System.out.printf ( "Cento e
" );
}
if ( de == 20 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Vinte" );
} else System.out.printf( "Vinte e " );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( de == 30 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Trinta" );
} else System.out.printf ( "Trinta e
" );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( de == 40 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Quarenta" );
} else System.out.printf ( "Quarenta e
" );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( de == 50 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Cincoenta" );
} else System.out.printf ( "Cinquenta e
" );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( de == 60 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Sessenta" );
} else System.out.printf ( "Sessenta e
" );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( de == 70 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Setenta" );
} else System.out.printf ( "Setenta e
" );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( de == 80 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Oitenta" );
} else System.out.printf ( "Oitenta e
" );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( de == 90 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Noventa" );
} else System.out.printf ( "Noventa e
" );
FuncUnidade ( );
jht.getche ( );
main ( args );
}
if ( un == 1 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Um" );
jht.getche ( );
main ( args );
} else System.out.printf ( "Onze " );
jht.getche ( );
main ( args );
}
if ( un == 2 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Dois" );
} else System.out.printf ( "Doze " );
jht.getche ( );
main ( args );
}
if ( un == 3 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Tres" );
} else System.out.printf ( "Treze " );
jht.getche ( );
main ( args );
}
if ( un == 4 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Quatro" );
} else System.out.printf ( "Catorze
" );
jht.getche ( );
main ( args );
}
if ( un == 5 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Cinco" );
} else System.out.printf ( "Quinze " );
jht.getche ( );
main ( args );
}
if ( un == 6 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Seis" );
} else System.out.printf ( "Dezesseis
" );
jht.getche ( );
main ( args );
}
if ( un == 7 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Sete" );
} else System.out.printf ( "Dezessete
" );
jht.getche ( );
main ( args );
}
if ( un == 8 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Oito" );
} else System.out.printf ( "Dezoito
" );
jht.getche ( );
main ( args );
}
if ( un == 9 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Nove" );
jht.getche ( );
main ( args );
} else System.out.printf ( "Dezenove
" );
jht.getche ( );
main ( args );
}
if ( de == 10 ) {
if ( de == 0 || un == 0 ) {
System.out.printf ( "Dez" );
jht.getche ( );
main ( args );
}
}
jht.getche ( );
}while ( true );
}
}
Nenhum comentário:
Postar um comentário
Observação: somente um membro deste blog pode postar um comentário.