View Full Version : Duvida básica em java


Delgado o Gordo
04-10-2007, 19:30
Olá!

Comecei ontem a programar em java e estou a usar o eclipse como compilador. Criei um programa que calcula a área de um triângulo e funciona perfeitamente quando o testo no Eclipse. A minha dúvida é:
Como é que posso correr o programa sem ser no Eclipse?
Já tentei ir à consola do Windows, fazer java "nome do programa"(já está em .class) mas dá-me sempre erro...:confused:.

O programa é este:
package area;
import java.io.*;
public class AreaTriangulo {
public static void main(String[] arg)
throws IOException
{InputStreamReader base1 = new
InputStreamReader (System.in);
BufferedReader input = new
BufferedReader (base1);
System.out.println("Intruduza a base do triângulo:");
String base = input.readLine();

InputStreamReader altura1 = new
InputStreamReader (System.in);
BufferedReader input2 = new
BufferedReader (altura1);
System.out.println("Intruduza a altura:");
String altura = input2.readLine();
Double base2 = new Double(base);
Double altura2 = new Double(altura);
System.out.println("A área é " + (base2*altura2)/2);
}
}
O que é que estou a fazer mal?

Mr. Brightside
04-10-2007, 19:33
Já confirmaste se adicionaste a directoria onde está o compilador à variável de ambiente PATH?

Baderous
04-10-2007, 19:37
Compilar:
javac prog.java

Para executar:
java prog

Delgado o Gordo
04-10-2007, 20:14
Compilar:
javac prog.javaPara executar:
java prog

Eu faço isso mas mesmo assim dá erro...
Este são os erros:

C:\Documents and Settings\João\Ambiente de trabalho\Java\workspace\AreaTriangulo
\src\area>java AreaTriangulo
Exception in thread "main" java.lang.ClassFormatError: Incompatible magic value
1885430635 in class file AreaTriangulo
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknow n Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)

PandMonium
04-10-2007, 20:46
É só uma sugestão mas experimenta antes na pasta src fazer "java area.AreaTriangulo", ou seja nao te metas na pasta da package...

Conde
04-10-2007, 20:53
Exacto, o problema é teres isso num package, para compilar por linha de comandos é diferente.

Delgado o Gordo
04-10-2007, 21:37
Tentei agora fazer isso mas deu o mesmo erro:confused:

Mais alguma sugestão?

Obrigado

Delgado o Gordo
05-10-2007, 20:37
Ainda não consegui...

Há mais alguma maneira de poder partilhar os meus programas com outras pessoas, que não tenham o eclipse?

Edit:

Problema resolvido

rj123
09-10-2007, 18:41
Tentei agora fazer isso mas deu o mesmo erro:confused:

Mais alguma sugestão?

Obrigado

javac *.java

se tiveres pastas que pertencem ao pacage tens k as compilar junto.
ex: pasta pkg_dir

javac *.java pkg_dir/*.java

----

Há outra maneira, que era com uma opçao no javac para defenir o dir do package, mas agora n me lembro