nossa, acabei de me dar conta de que só entro aqui quando estou em desespero :oops:
alguém pode me dizer o q tá errado nesse me santo programa que se recusa a compilar? é meio (MUITO) urgente
[quote]import java.io.;
import java.util.;
class M0515663T03{
public static void main (String [] args) {
double t = 0;
double p = 0;
double v = 0;
double a = 0;
System.out.println (“0.0 s”);
System.out.println (“0.0 m”);
System.out.println (“0.0 m/s”);
System.out.println (“0.0 m/s2”);
System.out.print (“Escolha uma opcao: a, d ou f: “);
char opcao = ‘g’;
while (opcao != ‘f’) || (opcao != ‘F’) {
Teclado tec = new Teclado();
opcao = (tec.lerLinha()).charAt(0);
switch (opcao){
case ‘a’: a = a + 2;
t = t ++;
p = p + vt + (att)/2;
v = v + at;
System.out.println (t+“s”);
System.out.println (p+“m”);
System.out.println (v+“m/s”);
System.out.println (a+“m/s2”);
System.out.print (“Escolha uma opcao: a, d ou f: “);
break;
case ‘A’: a = a + 2;
t = t ++;
p = p + vt + (att)/2;
v = v + at;
System.out.println (t+” s”);
System.out.println (p+” m”);
System.out.println (v+" m/s");
System.out.println (a+" m/s2");
System.out.print (“Escolha uma opcao: a, d ou f: “);
break;
case ‘d’: a = a - 1;
t = t ++;
p = p + vt + (att)/2;
v = v + at;
System.out.println (t+” s”);
System.out.println (p+" m");
System.out.println (v+" m/s");
System.out.println (a+" m/s2");
System.out.print (“Escolha uma opcao: a, d ou f: “);
break;
case ‘D’: a = a - 1;
t = t ++;
p = p + vt + (att)/2;
v = v + at;
System.out.println (t+” s”);
System.out.println (p+" m");
System.out.println (v+" m/s");
System.out.println (a+" m/s2");
System.out.print ("Escolha uma opcao: a, d ou f: ");
break;
case ‘f’: System.out.println (“Fim do programa”);
case ‘F’: System.out.println (“Fim do programa”);
default:
}
}
}
[/QUOTE]
Cola o Stacktrace do erro …
Uma coisa já dá para ver de cara: falta abrir e fechar parênteses em torno do while.
Ao invés de:
while (opcao != 'f') || (opcao != 'F') {
faça
while ((opcao != 'f') || (opcao != 'F')) {
Ah sim, também não dá para saber o que tem na classe Teclado, que você esqueceu de anexar.
PS: Quando colar código, ponha entre as tags code, não quote. Quote é para citação. Também ponha a stack trace do erro, como o colega falou. Sem ela fica difícil.
já estou consertando os erros que vocês apontaram, obrigada!
outra, tá dando " expected" nos 1os “System.out.println” por que?
Segue o código corrigido.
Você não precisa duplicar código para as letras maiúsculas e minúsculas.
Basta não colocar um break que o switch vai continuar direto.
[code]public class M0515663T03 {
public static void main(String[] args) {
double t = 0;
double p = 0;
double v = 0;
double a = 0;
System.out.println(“0.0 s”);
System.out.println(“0.0 m”);
System.out.println(“0.0 m/s”);
System.out.println(“0.0 m/s2”);
char opcao = ‘g’;
while ((opcao != ‘f’) || (opcao != ‘F’)) {
System.out.print("Escolha uma opcao: a, d ou f: ");
Teclado tec = new Teclado();
opcao = (tec.lerLinha()).charAt(0);
switch (opcao) {
case ‘a’:
case ‘A’:
a = a + 2;
break;
case ‘d’:
case ‘D’:
a = a - 1;
break;
case ‘f’:
case ‘F’:
System.out.println(“Fim do programa”);
System.exit(0);
default:
continue;
}
t++;
p = p + v * t + (a * t * t) / 2;
v = v + a * t;
System.out.println(t + " s");
System.out.println(p + " m");
System.out.println(v + " m/s");
System.out.println(a + " m/s2");
}
}
}[/code]
Droga, o Viny é 10X mais rápido do que eu!(no meu poderoso JCreator aqui) :lol:
Bom, se vc não tiver a classe Teclado a mão, é só importar java.util e substituir:
Teclado tec = new Teclado();
opcao = (tec.lerLinha()).charAt(0);
por:
Scanner scan = new Scanner (System.in);
opcao =scan.nextLine().charAt(0);
Foi o que eu fiz:
[code]public class Teclado {
public String lerLinha() {
return new Scanner(System.in).nextLine();
}
}[/code]
Pô, vc eu sei que sabe até reescrever a API de IO, eu tô falando para ela… :lol: