Compilador

9 respostas
A

Fiz um programa na faculdade, mais quando compilo ele em casa sempre da erro, o que será que está errado???

9 Respostas

kaique

Posta aqui o erro que a solução pode sair mais rápida.
Mas uma dica: o erro pode ser somente algumas bibliotecas que você esteja usando no seu projeto e que não estão indicadas no classpath da máquina da sua casa, somente estão setadas no classpath da máquina na sua faculdade.
Dá uma olhada nisso que pode resolver…

[]'s.

A

Aqui deu erro na linha 5 e na linha 180..........

deu isso quando eu compilei:
java.lang.NoClassDefFoundError: Forca
Exception in thread "main"
Process completed.

[code]import javax.swing.*;
public class Forca
{
/// mesagens de alerta
private static void natela(String titulo,String... param)
{
int e=0;
int lim=param.length;
while (e < lim)
{
JOptionPane.showMessageDialog(null,param[e], titulo, JOptionPane.WARNING_MESSAGE);
e++;
}
}
////ler
private static String ler(String titulo, String mensg)
{
String lida;
lida= JOptionPane.showInputDialog(null, mensg, titulo, JOptionPane.QUESTION_MESSAGE);
return lida;
}
//// verifica se é uma letra válida ou é hífen //// retorna boolean
private static boolean validaletra(char letra)
{
if ((Character.isLetter(letra)) || (letra == '-'))
{
return true;
}
else return false;
}
public static void main(String[] args)
{
String palavra= ler("Palavra", "Por favor informe a palavra a ser adivinhada:"); ////palavra a ser adivinhada
String letra; //letras, tentativas
String retorno=""; //// para imprimir as letras acertadas e os _
String erradas="";/// guarda as letras erradas
String digitadas="";// guarda as letras digitadas
int tam= palavra.length(); /////// tamanho da palavra
int tam_let=0; /////// tamanho da string de letras
int acertos[]= new int[tam]; /// array para controle de acertos
int cont_acer=0; // contador de letra certas
int cont_let=0; /// contador de letras digitadas
int cont=0; /// contador
int bug=0; //flag de controle //utilidade: verificar se a letra existe na palavra
int erros=0; ///contador de erros
int validos=1; // controlador do loop de caracteres válidos
char caracter; //// caracter a ser validado
char aux; ///auxiliar na verificação de letra na palavra
try
{
while (validos == 1) // bloco de validação da palavra
{
while(tam == 0) //// verifica se a expressão lida está vazia
{
palavra= ler("Palavra", "Por favor informe a palavra a ser adivinhada, com apenas letras,"+ "\n" +"sem espaços, nem caracteres especiais:");
tam= palavra.length();
}
palavra= palavra.toUpperCase(); /////// Colocar todas as letras para maiúsculo
cont=0;
while (cont < tam)
{
caracter= palavra.charAt(cont);
if (validaletra(caracter)) //verifica se é letra ou hífen
{
validos=0;
}
else
{
tam=0;
validos=1;
break;
}
cont++;
}
} //fim do bloco de validação da palavra
cont=0;
while(cont < tam) //// zerando array de controle /// utilidade: controlar se todas as letras já foram acertas
{
acertos[cont]=0;
cont++;
}
while(erros < 6) //início do loop de tentativas
{
letra= ler("Letra", "Por favor informe uma letra ou hífen:"); //inicío da leitura de letras.
tam_let= letra.length(); /// tamanho de letras digitadas.
validos=1;
while (validos == 1) // bloco de validação das letras
{
while(tam_let != 1) //// verifica se a letra lida está vazia ou maior que um caracter
{
letra= ler("Letra", "Por favor informe uma letra ou hífen,"+ "\n" +" apenas um caracter por vez:");
tam_let= letra.length();
}
letra= letra.toUpperCase(); /////// Colocar a letra para maiúsculo
caracter= letra.charAt(0);
if (validaletra(caracter)) //verifica se é letra ou hífen
{
validos=0;
}
else
{
tam_let=0;
validos=1;
continue;
}
cont=0;
bug=0;
cont_let=digitadas.length();
while(cont < cont_let)
{
aux=digitadas.charAt(cont);
if (aux == caracter)
{
tam_let=0;
validos=1;
natela("Letra", "A letra "+aux+" já foi digitada.");
break;
}
cont++;
}
digitadas+=letra;
} //fim do bloco de validação da letra
cont=0;
bug=0;
caracter= letra.charAt(0);
while (cont < tam) /// verifica se a letra encontra-se na palavra
{
aux= palavra.charAt(cont);
if (caracter == aux)
{
acertos[cont]=1;
bug=1;
}
else
{
if ((cont == tam-1) && (bug==0)) //// é verdadeiro quando a letra não encontra-se na palavra
{
erradas+=" "+letra; //// concatena as letras erradas
erros++;
}
}
cont++;
}
cont=0;
cont_acer=0;
retorno="";
while (cont < tam) /// verifica a quantidade de acertos
{
if (acertos[cont]==1)
{
retorno+= " "+palavra.charAt(cont);
cont_acer++;
}
else
{
retorno+=" _ ";
}
cont++;
}
if (tam == cont_acer) // encerra o loop de tentativas
{
natela("Parabens!", "Parabens, você acertou a palavra:"+ "\n"+palavra);
break;
}
else
{
natela("Acertos", "Palavra:"+"\n"+retorno+"\n\n"+"Letras digitadas erradas:"+"\n"+erradas+"\n\n"+"Você ainda tem "+(6-erros)+" erros disponíveis!");
}
} //fim do loop de tentativas
if (erros == 6)
{
natela("Forca", "Você perdeu!"+"\n"+"Tente outra vez!");
}
}
catch(Exception e)
{
JOptionPane.showMessageDialog(null,e.getMessage(),"Atenção",JOptionPane.WARNING_MESSAGE);
}
}
}

A

Aqui deu erro na linha 5 e na linha 180…

deu isso quando eu compilei:
java.lang.NoClassDefFoundError: Forca
Exception in thread “main”
Process completed.

import javax.swing.*; public class Forca { /// mesagens de alerta private static void natela(String titulo,String... param) { int e=0; int lim=param.length; while (e < lim) { JOptionPane.showMessageDialog(null,param[e], titulo, JOptionPane.WARNING_MESSAGE); e++; } } ////ler private static String ler(String titulo, String mensg) { String lida; lida= JOptionPane.showInputDialog(null, mensg, titulo, JOptionPane.QUESTION_MESSAGE); return lida; } //// verifica se é uma letra válida ou é hífen //// retorna boolean private static boolean validaletra(char letra) { if ((Character.isLetter(letra)) || (letra == '-')) { return true; } else return false; } public static void main(String[] args) { String palavra= ler("Palavra", "Por favor informe a palavra a ser adivinhada:"); ////palavra a ser adivinhada String letra; //letras, tentativas String retorno=""; //// para imprimir as letras acertadas e os _ String erradas="";/// guarda as letras erradas String digitadas="";// guarda as letras digitadas int tam= palavra.length(); /////// tamanho da palavra int tam_let=0; /////// tamanho da string de letras int acertos[]= new int[tam]; /// array para controle de acertos int cont_acer=0; // contador de letra certas int cont_let=0; /// contador de letras digitadas int cont=0; /// contador int bug=0; //flag de controle //utilidade: verificar se a letra existe na palavra int erros=0; ///contador de erros int validos=1; // controlador do loop de caracteres válidos char caracter; //// caracter a ser validado char aux; ///auxiliar na verificação de letra na palavra try { while (validos == 1) // bloco de validação da palavra { while(tam == 0) //// verifica se a expressão lida está vazia { palavra= ler("Palavra", "<html><font color='#FF0000'>Por favor informe a palavra a ser adivinhada, com apenas letras,</font></html>"+ "\n" +"<html><font color='#FF0000'>sem espaços, nem caracteres especiais:</font></html>"); tam= palavra.length(); } palavra= palavra.toUpperCase(); /////// Colocar todas as letras para maiúsculo cont=0; while (cont < tam) { caracter= palavra.charAt(cont); if (validaletra(caracter)) //verifica se é letra ou hífen { validos=0; } else { tam=0; validos=1; break; } cont++; } } //fim do bloco de validação da palavra cont=0; while(cont < tam) //// zerando array de controle /// utilidade: controlar se todas as letras já foram acertas { acertos[cont]=0; cont++; } while(erros < 6) //início do loop de tentativas { letra= ler("Letra", "Por favor informe uma letra ou hífen:"); //inicío da leitura de letras. tam_let= letra.length(); /// tamanho de letras digitadas. validos=1; while (validos == 1) // bloco de validação das letras { while(tam_let != 1) //// verifica se a letra lida está vazia ou maior que um caracter { letra= ler("Letra", "<html><font color='#FF0000'>Por favor informe uma letra ou hífen,</font></html>"+ "\n" +"<html><font color='#FF0000'> apenas um caracter por vez:</font></html>"); tam_let= letra.length(); } letra= letra.toUpperCase(); /////// Colocar a letra para maiúsculo caracter= letra.charAt(0); if (validaletra(caracter)) //verifica se é letra ou hífen { validos=0; } else { tam_let=0; validos=1; continue; } cont=0; bug=0; cont_let=digitadas.length(); while(cont < cont_let) { aux=digitadas.charAt(cont); if (aux == caracter) { tam_let=0; validos=1; natela("Letra", "A letra "+aux+" já foi digitada."); break; } cont++; } digitadas+=letra; } //fim do bloco de validação da letra cont=0; bug=0; caracter= letra.charAt(0); while (cont < tam) /// verifica se a letra encontra-se na palavra { aux= palavra.charAt(cont); if (caracter == aux) { acertos[cont]=1; bug=1; } else { if ((cont == tam-1) && (bug==0)) //// é verdadeiro quando a letra não encontra-se na palavra { erradas+=" "+letra; //// concatena as letras erradas erros++; } } cont++; } cont=0; cont_acer=0; retorno=""; while (cont < tam) /// verifica a quantidade de acertos { if (acertos[cont]==1) { retorno+= " "+palavra.charAt(cont); cont_acer++; } else { retorno+=" _ "; } cont++; } if (tam == cont_acer) // encerra o loop de tentativas { natela("Parabens!", "Parabens, você acertou a palavra:"+ "\n"+palavra); break; } else { natela("Acertos", "Palavra:"+"\n"+retorno+"\n\n"+"Letras digitadas erradas:"+"\n"+erradas+"\n\n"+"Você ainda tem "+(6-erros)+" erros disponíveis!"); } } //fim do loop de tentativas if (erros == 6) { natela("Forca", "<html><font color='#FF0000'>Você perdeu!</font></html>"+"\n"+"Tente outra vez!"); } } catch(Exception e) { JOptionPane.showMessageDialog(null,e.getMessage(),"Atenção",JOptionPane.WARNING_MESSAGE); } } }

kaique

Cara, na boa, copiei tua classe e compilei por aqui. Deu tudo certo oh… :stuck_out_tongue:
Me diz uma coisa, qual a IDE que você utiliza? Não vejo razão para esse erro que você mostrou acontecer…

[]'s.

javaAurelio

Se voce estiver usando Eclipse

Sua configuracao do JDK esta incorreta…

OK

A

Eu uso o jcreator…

javaAurelio

Ja mostro para seu professor para ver se ele sabe ?

So trabalhei com o jCreator so na facu !

victorwss

Qual é a versão do Java?

LPJava

veja se a configuracao de instalacao esta setando la para o diretorio onde esta o javac

veja um tutorial aqui.

Criado 22 de novembro de 2008
Ultima resposta 25 de nov. de 2008
Respostas 9
Participantes 5