Problemas na hora de compilar usando o javac.exe. O que fazer?

7 respostas
I

Eu estou procurando na internet como compilar um programa Java usando o comando javac.exe e o java.exe para executar.

O problema é que eu estou fazendo tudo certo e dá um erro meio estranho.

1 - Eu entro no prompt de comando do Windows XP1

2 - Digito o comando SET PATH="C:\Arquivos de programas\Java\jdk1.6.0_04\bin\"

3 - Entro na pasta onde está um programinha bem simples feito em Java. Eu queria compilar o meu programa que está abaixo!

import java.util.*;
class ex01{
	public static void main(String args []){
		Scanner s = new Scanner (System.in);
		int cod;
		double calculo,calculo1,calculo2,calculo3,calculo4,calculo5;
		System.out.println ("Escolha uma operação para realizar");
		System.out.println ("digite uma opção abaixo: ");
		System.out.println ("Cotação (US$ -> R$) é R$ 1.67");
		System.out.println ("Cotação {Euro -> R$) é R$ 2,54");
		System.out.println ("Cotação (Libra -> R$) é R$ 3.33");
		System.out.println ("");
		System.out.println ("Escolha uma operação abaixo!");
		System.out.println ("");
		System.out.println ("1 - Converter de R$ para US$");
		System.out.println ("2 - Converter de US$ para R$");
		System.out.println ("3 - Converter de R$ para Euro");
		System.out.println ("4 - Converter de Euro para R$");
		System.out.println ("5 - Converter de RS para Libra");
		System.out.println ("6 - Converter de Libra para RS");
		System.out.println ("");
			
		cod = s.nextInt();
	
		switch (cod){
			case 1 : System.out.println("Converter de R$ para US$");
					System.out.println("Digite o valor em reais");
					calculo = s.nextInt();
					System.out.println("O valor em dólares é US$ "+(calculo/1.67));
					
					break;
		
			case 2: System.out.println ("Converter de US$ para R$");
					System.out.println("Digite o valor em dólares");
					calculo1 = s.nextInt();
					System.out.println("O valor em reais é R$ "+(calculo1*1.67));
					break;
					
																					
			case 3: System.out.println ("3 - Converter de R$ para Euro");
				System.out.println("Digite o valor em reais");
					calculo2 = s.nextInt();
					System.out.println("O valor em euro é ? "+(calculo2/2.54));
					break;
					
			case 4: System.out.println ("4 - Converter de Euro para R$");
				System.out.println("Digite o valor em euro");
					calculo3 = s.nextInt();
					System.out.println("O valor em reais é R$ "+(calculo3*2.54));
					break;
					
			case 5: System.out.println ("5 - Converter de RS para Libra");
				System.out.println("Digite o valor em reais");
					calculo4 = s.nextInt();
					System.out.println("O valor em libras é £"+(calculo4/3.33));
					break;
					
				case 6: System.out.println ("6 - Converter de Libra para RS");
				System.out.println("Digite o valor em libras");
					calculo5 = s.nextInt();
					System.out.println("O valor em reais é R$ "+(calculo5*3.33));
					break;
					
								
						
						
			default : System.out.println ("Código inválido, por favor digitar outro código!");
		}
	} 
}

E depois que eu tento compilar esse programa e quando digito o programa ex01.class, ele dá o seguinte erro!

C:\Meus dados>java conversorcotacao.class
Exception in thread "main" java.lang.NoClassDefFoundError: conversorcotacao/clas
s
Caused by: java.lang.ClassNotFoundException: conversorcotacao.class
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

Eu não sei como resolver, já que é possível executar pelo JCreator. Eu estou tentando por esse método só para aprender pelo jeito mais divertido, vamos dizer assim...

7 Respostas

peczenyj

De uma olhada nos tutoriais de “hello world” e “classpath” nessa area

http://guj.com.br/artigos.jsp

Vc esta comentendo o erro simples de colocar o .class no final da instrução – de uma estudada sobre isso :wink:

I

peczenyj:
De uma olhada nos tutoriais de “hello world” e “classpath” nessa area

http://guj.com.br/artigos.jsp

Vc esta comentendo o erro simples de colocar o .class no final da instrução – de uma estudada sobre isso ;-)

É para ser assim então?

C:\Meus dados>java conversorcotacao

Dá o mesmo erro!

Exception in thread main java.lang.NoClassDefFoundError: mais

Caused by: java.lang.ClassNotFoundException: mais

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
peczenyj

mas o nome da sua classe deveria coincidir com o nome do arquivo .java, no seu caso ex01, certo?

xandevieira

coloca o nome do arquivo.java igual ao nome da classe ex01

abiason

javac ex01.java

LPJava

http://camilolopes.wordpress.com/2008/03/27/instalando-java-em-ambiente-windows-5-minutes/

I

Ah deu certinho agora, obrigado ai!

O resultado é esse!

Daqui a pouco eu passo a tarefa pra casa da faculdade pra vocês me ajudarem a fazer! :smiley:

Criado 2 de abril de 2008
Ultima resposta 2 de abr. de 2008
Respostas 7
Participantes 5