Numeros por Extenso de 0 a 1000

[code]import javax.swing.JOptionPane;

public class extenso {

public static void main( String[] args ) {

	String Num  [ ]  ;
	String Num2 [ ]  ;
	String E;

	Num [0] = "zero";
	Num [1] = "um";
	Num [2] ="dois";
	Num [3] = "três";
	Num [4] = "quatro";
	Num [5] = "cinco";
	Num [6] = "seis";
	Num [7] = "sete";
	Num [8] = "oito";
	Num [9] = "nove";

	Num2 [20] =  "Vinte " ;
	Num2 [30] =  "trinta" ;
	Num2 [40] =  "Quarenta" ;
	Num2 [50] =  "Cinquenta";
	Num2 [60] =  "Sessenta"; 
	Num2 [70] =  "Setenta" ;
	Num2 [80] =  "Oitenta" ;
	Num2 [90] =  "Noventa" ;




	String Numdigitado = JOptionPane.showInputDialog ("Digite um número entre 0 a 1000");
	int intN ;
	int N = Integer.parseInt(Numdigitado) ;

	if ((intN < 0) && (intN > 1000))

		E ="Erro! Número Inválido.";

	else
		E ="" + Numdigitado;

	JOptionPane.showMessageDialog(null,E,"Resposta",JOptionPane.INFORMATION_MESSAGE);
	System.exit(0);

	if (intN <= 20) 
	{
	JOptionPane.showInputDialog(null,Num[intN]);
		
		if ((intN <=10) && (intN < 0))
		{
		JOptionPane.showInputDialog(null,Num[intN]);
		}
		
}
		
	

	//d1 = NumDigitado.substring (0,1);
	//d2 = NumDigitado.substring (1,2);
	//int n1, n2;

	//n1 = Integer.parseInt (d1);
	//n2 = Integer.parseInt (d2);



	JOptionPane.showInputDialog(null, Num2 [] + " e ", Num []) ;

	//}
}

}

[/code]

galera eu começei a fazer esse código para tentar exibir na tela o numero digitado pelo usuario por extenso…só que me atrapalhei ja todo e nao saiu mais dai!

alguem pode me auxiliar ?

Grato!

Você está fazendo a comparação com o intN

if (intN <= 20)   

O correto seria fazer com N, não?

Além disso, mesmo que usasse o intN não ia dar certo neste trecho:

if ((intN <=10) && (intN < 0))

Você está exigindo que o número seja negativo (intN < 0)

[code]import javax.swing.JOptionPane;

public class extenso {

public static void main( String[] args ) {

	String Num  [ ]  ;
	String Num2 [ ]  ;
	String E;

	Num [0] = "zero";
	Num [1] = "um";
	Num [2] ="dois";
	Num [3] = "três";
	Num [4] = "quatro";
	Num [5] = "cinco";
	Num [6] = "seis";
	Num [7] = "sete";
	Num [8] = "oito";
	Num [9] = "nove";

	Num2 [20] =  "Vinte " ;
	Num2 [30] =  "trinta" ;
	Num2 [40] =  "Quarenta" ;
	Num2 [50] =  "Cinquenta";
	Num2 [60] =  "Sessenta"; 
	Num2 [70] =  "Setenta" ;
	Num2 [80] =  "Oitenta" ;
	Num2 [90] =  "Noventa" ;




	String Numdigitado = JOptionPane.showInputDialog ("Digite um número entre 0 a 1000");
	int N ;
	int Nm = Integer.parseInt(Numdigitado) ;

	if ((N < 0) && (N > 1000))

		E ="Erro! Número Inválido.";

	else
		E ="" + Numdigitado;

	JOptionPane.showMessageDialog(null,E,"Resposta",JOptionPane.INFORMATION_MESSAGE);
	System.exit(0);

	if (N <= 20) 
	{
	JOptionPane.showInputDialog(null,Num[N]);
		
		if ((N <=10) && (N < 0))
		{
		JOptionPane.showInputDialog(null,Num[N]);
		}
		
}
		
	

	//d1 = NumDigitado.substring (0,1);
	//d2 = NumDigitado.substring (1,2);
	//int n1, n2;

	//n1 = Integer.parseInt (d1);
	//n2 = Integer.parseInt (d2);



	JOptionPane.showInputDialog(null, Num2 [] + " e ", Num []) ;

	//}
}

}

[/code]

CORRETO ALTEREII …SÓ Q TEM AS LINHAS Q ESTAO COMENTADAS ESTAO DAND ERRO E O ULTIMO JOPTIONPANE NOA FUNFA !

Continua errado,

olha só:

   String Numdigitado = JOptionPane.showInputDialog ("Digite um número entre 0 a 1000"); 
   int N ;  
   int Nm = Integer.parseInt(Numdigitado) 

Captura o número beleza, aí você cria uma variavel int N e outra int Nm, a Nm está recebendo o valor digitado pelo o usuario, beleza até aí.

agora…

if ((N < 0) && (N > 1000))  {

Aí começa o erro, voce esta comparando uma variavel que não tem valor nenhum, int N; não recebe nada até agora, ai que começa o erro, dá uma corrigida que voce consegue…

[code] mudei totalmente meu codigo por este !

import java.util.HashMap;
import java.util.Map;

import javax.swing.JOptionPane;

public class extenso {

public static void main( String[] args ) {

	Map<Integer, String> numeros = new HashMap<Integer, String>();


	numeros.put(0, "zero");
	String numDigitado ;

	numDigitado = JOptionPane.showInputDialog("Digite um numero entre 0 a 1000");

	int cont = 1;
	for (String cent : new String[] {"", "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos"}) {
		String centena = "";
		if ("cento".equals(cent)) {
			numeros.put(cont++, "cem");
			centena = "cento e ";
		} else {
			if (!"".equals(cent)) {
				numeros.put(cont++, cent);
				centena = cent + " e ";
			}
		}
		numeros.put(cont++, centena +  "um");
		numeros.put(cont++, centena + "dois");
		numeros.put(cont++, centena + "tres");
		numeros.put(cont++, centena + "quatro");
		numeros.put(cont++, centena + "cinco");
		numeros.put(cont++, centena + "seis");
		numeros.put(cont++, centena + "sete");
		numeros.put(cont++, centena + "oito");
		numeros.put(cont++, centena + "nove");
		numeros.put(cont++, centena + "dez");
		numeros.put(cont++, centena + "onze");
		numeros.put(cont++, centena + "doze");
		numeros.put(cont++, centena + "treze");
		numeros.put(cont++, centena + "quatorze");
		numeros.put(cont++, centena + "quinze");
		numeros.put(cont++, centena + "dezesseis");
		numeros.put(cont++, centena + "dezessete");
		numeros.put(cont++, centena + "dezoito");
		numeros.put(cont++, centena + "dezenove");

		for (String decimal : new String[] {"vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa"}) {
			numeros.put(cont++, decimal);

			for(int i = 1; i <= 9; i++) {
				numeros.put(cont++, centena + decimal + " e " + numeros.get(i));						
			}
		}
	}
	
	JOptionPane.showMessageDialog(null, "O numero por extenso é: " +  numeros.get(Integer.parseInt(numDigitado)));
	System.exit(0);
}

}

[/code]

AGORA FICOU SHOW DE BOLA, E OBRIGADO PELA ATENÇÃO, ESPERO Q ESSE CODIGO AJUDEM UM DIA !