Boa noite, bom minha duvida e a seguinte prof falou para fazer metodo Fria o carro e vira a direita vira aesquerda na classe carro, vou posta o codigo se puderem me ajudar agradeço. me explicar como faz gostaria ao final, na main saber como faz para chamar esses tres metodos para imprimir.
obrigado.
public class Carro {
public int ViraDireita;
public int ViraEsquerda;
public int Freia;
public String cor;
public String modelo;
private double velocidadeAtual; //encapsulou a velocidadeAtual
public double velocidadeMaxima;
Motor motor;
public void acelera(double quantidade){
double velocidadeNova = this.velocidadeAtual+quantidade;
this.velocidadeAtual = velocidadeNova;
}
public int pegaMarcha(){
if (this.velocidadeAtual <= 0 ){
return -1;
}
if(this.velocidadeAtual > 0 && this.velocidadeAtual < 40){
return 1;
}
if(this.velocidadeAtual >= 40 && this.velocidadeAtual < 80){
return 2;
}
return 3;
}
public void liga(){
System.out.println("Brummmm... liguei o fusca!");
}
public double pegaVelocidade(){
return velocidadeAtual;
}
// metodo freia depois imprimir chamando na main
public void freia(double quantidade){
double freiaNova = this.VelocidadeAtual - quantidade;
this.Freia = this.freiaNova;
}
//vira esquerda nao estou conseguindo
public viraAesquerda(int quantidade){
int viraesquerda = this.viraesquerda + quantidade;
this.ViraEsquerda;
}
//tbem nao estou conseguindo
public viraAdireita(int quntidade){
int viradireita = this.viradireita + quantidade;
this.ViraDireita = this.viradireita;
}
}
principal Main, aqu nessa classe oque tenho que fazer e chmar os tres metodos que foi acrescentado, freia vira esquerda e vira direita, so que nao sei como implementa como que faz.
public class TesteCarro {
public static void main(String[] args) {
Carro meuCarro = new Carro();
meuCarro.cor = "Verde";
meuCarro.modelo = "Fusca";
//meuCarro.velocidadeAtual = 40;
meuCarro.liga();
meuCarro.acelera(40);
meuCarro.velocidadeMaxima = 80;
System.out.println("A marcha do fusca e: "
+meuCarro.pegaMarcha());
System.out.println("A velocidade do fusca e: "
+meuCarro.pegaVelocidade());
meuCarro.acelera(40);
System.out.println("A marcha do fusca e: "
+meuCarro.pegaMarcha());
System.out.println("A velocidade do fusca e: "
+meuCarro.pegaVelocidade());
}
}
Olá olivercld, bom pelo que eu entendi você quer implementar os métodos, freia, viraADireita e viraAesquerda, e depois imprimi-los na tela, é isso?
Bom fiz a correção dos métodos na classe carro e fiz as implementações no main, ja chamando para impressão. por favor me responda se resolveu a sua dúvida.
seguem os os códigos fontes,
[code]package testecarro;
public class Carro {
public int ViraDireita;
public int ViraEsquerda;
public double Freia; ////Alterado o tipo para double
public String cor;
public String modelo;
private double velocidadeAtual; //encapsulou a velocidadeAtual
public double velocidadeMaxima;
//Motor motor;
public void acelera(double quantidade){
double velocidadeNova = this.velocidadeAtual+quantidade;
this.velocidadeAtual = velocidadeNova;
}
public int pegaMarcha(){
if (this.velocidadeAtual <= 0 ){
return -1;
}
if(this.velocidadeAtual > 0 && this.velocidadeAtual < 40){
return 1;
}
if(this.velocidadeAtual >= 40 && this.velocidadeAtual < 80){
return 2;
}
return 3;
}
public void liga(){
System.out.println("Brummmm... liguei o fusca!");
}
public double pegaVelocidade(){
return velocidadeAtual;
}
///////////////////////////////////
////////Métodos que foram alterados
// metodo freia depois imprimir chamando na main
public double freia(double quantidade){ // tipo do método igual ao o tipo de retorno
double freiaNova = this.velocidadeAtual - quantidade;
this.Freia = freiaNova;
return this.Freia; //retorno para impresão
}
//vira esquerda nao estou conseguindo
public int viraAesquerda(int quantidade){ // tipo do método igual ao o tipo de retorno
int viraesquerda = this.ViraEsquerda + quantidade;
this.ViraEsquerda = viraesquerda;
return this.ViraEsquerda;//retorno para impresão
}
//tbem nao estou conseguindo
public int viraAdireita(int quantidade){ // tipo do método igual ao o tipo de retorno
int viradireita = this.ViraDireita + quantidade;
this.ViraDireita = viradireita;
return this.ViraDireita;//retorno para impresão
}
}
[/code]
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package testecarro;
/**
*
* @author Caio
*/
public class TesteCarro {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Carro meuCarro = new Carro();
meuCarro.cor = "Verde";
meuCarro.modelo = "Fusca";
//meuCarro.velocidadeAtual = 40;
meuCarro.liga();
meuCarro.acelera(40);
meuCarro.velocidadeMaxima = 80;
System.out.println("A marcha do fusca e: "
+meuCarro.pegaMarcha());
System.out.println("A velocidade do fusca e: "
+meuCarro.pegaVelocidade());
meuCarro.acelera(40);
System.out.println("A marcha do fusca e: "
+meuCarro.pegaMarcha());
System.out.println("A velocidade do fusca e: "
+meuCarro.pegaVelocidade());
//implementações
System.out.println("\n Chamada das 3 funcões que estavam erradas, imprimindo todas");
System.out.println("A velocidade após o freio eh: " + meuCarro.freia(20));
System.out.println("A curva pra direita foi de: " + meuCarro.viraAdireita(5));
System.out.println("A curva pra esquerda foi de: " + meuCarro.viraAesquerda(10));
}
}
De boa Caio.Sergio , acho muito boa sua inciativa de ajudar, mas esse lance de dar fonte pronto, fica meio chato, o cara não tem aquele BUM da descoberta e já vi 2 topicos seus que vc coloca o fonte pronto! Como disse, é muito bacana sua vontade de ajudar, mas seria mais interessante ensinar o cara a fazer do que entregar pronto… vlw
abelgomes entao fera estou aprendendo lendo apostilas caelum e livros praticando, pratico assimque posso porque trabalho dia todo estudo de segunda a sabado que e meu curso… entao eu nao tenho quem me explica ou ensina se vc tiver afim te pago. a unica ajuda e aqui no forum. vc é administrador ou moderador do forum ? não né,entao jaquefalou aquilo se tiverafim de ensinar estou dispostoaprender duvidas sao muitas
Cara, de boa mesmo, eu nao dei o código pronto pra ele, o código que eu postei foi ele que fez, eu só peguei e indiquei onde ele tava errado e arrumei o return, nao postei código.
do novo… quem fez o código foi ele,
de qualquer maneira, como que ele vai aprender sem ver a forma correta de fazer? a minha intenção foi só de ajudar!!!
Mas blz respeito a sua opnião, desculpa por qualquer incômodo
Ninguém nasceu sabendo, todo mundo passo o dia todo trabalhando, não estou falando que vc esta fazendo algo de errado, mas que eu era iniciante, gostava daquele momento que eu descobria onde tinha errado que dava aquela satisfação impagável, só acho que o nosso amigo tirou isso de vc ao lhe entregar o codigo pronto. Ele argumentou que lhe mostrou o erro para vc aprender, por mim tudo bem, foi só um comentario.
certo meu caro amigo abelgomes , voce tem toda razao ninguem nasceu sabendo, tambem sou iniciante como eu ja disse o tempo que tneho para praticar e 1 hora do dia no intervalo do almoço ou aos domingos, estou com muita dificuldade e tenho muitas duvidas e fora o prof do curso que vejo so no meio da semana so tneho o forum para tirar duvidas alias o melhor, e agradeço a voçe a todos continuarei praticando ate eu conseguir realmente aprender vontade eu tenho espero um dia ser como voçe que aprendeu e tudo mais, valeu ai e eu sei que o mecado e voraz.
Abç, fica na paz.