Quais os erros? socorro!

7 respostas
carolzinha

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 :frowning:

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 + v<em>t + (a</em>t<em>t)/2;

v = v + a</em>t;

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 + v<em>t + (a</em>t<em>t)/2;

v = v + a</em>t;

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 + v<em>t + (a</em>t<em>t)/2;

v = v + a</em>t;

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 + v<em>t + (a</em>t<em>t)/2;

v = v + a</em>t;

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:

}

}

}

</blockquote>

7 Respostas

leofernandesmo

Cola o Stacktrace do erro …

ViniGodoy

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.

carolzinha

já estou consertando os erros que vocês apontaram, obrigada!
outra, tá dando " expected" nos 1os “System.out.println” por que?

ViniGodoy

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.

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");
        }
    }
}
Ironlynx

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);
ViniGodoy
Foi o que eu fiz:
public class Teclado {
    public String lerLinha() {
        return new Scanner(System.in).nextLine();
    }

}
Ironlynx

Pô, vc eu sei que sabe até reescrever a API de IO, eu tô falando para ela… :lol:

Criado 29 de outubro de 2007
Ultima resposta 29 de out. de 2007
Respostas 7
Participantes 4