[b]Boa tarde pessoal !!!
Esse e meu primeiro post no GUJ, espero que eu esteja postando tudo certinho ! Caso nao, pode me chingar.
uahuahahhaauahauhauhau
Bom, minha duvida e o seguinte, estou começando a costruir codigos com o conceito a orientaçao a objeto !
Nessa ultima terça-feira, meu professor passou o seguinte exercicio.
(tomei a liberdade de postar ele desculpem ) :oops: [/b]
[i]Crie a classe Liquidificador de acordo com as definições abaixo:
-
Atributos privados:
velocidade – int
velocidadeMaxima – int
estado - char -
Métodos públicos:
a) setVelocidade(int v) - atualizar o atributo velocidade.
b) setVelocidadeMaxima(int vm) - atualizar o atributo velocidadeMaxima.
c) desligar() – atribuir D ao atributo estado. Atribuir zero ao atributo velocidade.
d) ligar() - atribuir L ao atributo estado. Atribuir 1 ao atributo velocidade.
e) getEstado() – retornar o estado atual.
f) getVelocidade() – retornar a velocidade atual.
g) getVelocidadeMaxima() – retornar a velocidade máxima.
Crie a classe UsaLiquidificador com as definições abaixo:
-
Utilize Keyboard ou Scanner para entrada de dados.
-
Instancie a classe Liquidificador, em seguida, inicialize o objeto através dos métodos públicos implementados, deixando o com estado igual a D, velocidade máxima igual a 5 e velocidade atual igual a zero.
-
Implemente um menu com as opções:
1 – ligar
2 – desligar
3 – mostrar estado
4 – trocar velocidade
5 – atribuir velocidade máxima
9 – fim
Opção 1, ligue apenas se estiver desligado, mostre mensagem de erro.
Opção 2, desligue apenas se estiver ligado, mostre mensagem de erro.
Opção 3, mostrar velocidade atual, velocidade máxima e estado: Ligado ou Desligado.
Opção 4, aceite a nova velocidade, mostre mensagem de erro quando a nova velocidade é negativo, zero, maior que a velocidade máxima ou está desligado. Se a nova velocidade é válida, proceda a troca através do método.
Opção 5, aceite a nova velocidade máxima, mostre mensagem de erro quando a nova velocidade é negativo, zero ou é menor que a velocidade atual. Se a nova velocidade máxima é válida, proceda a troca através do método.
[/i]
Bom, escrevi 2 classes, uma delas com os atributos e metodos, que espero que eu nao precise postar ! (caso eu precise so pedir que eu postarei ).
E a executavel que esta praticamente pronta, espero eu.
haauauaahauhauahuahahauhahahauhahauhau
Bom, a classe esta ai em baixo
[code]import java.util.Scanner;
public class Usaliquidificador {
public static void main (String args []) {
Scanner input = new Scanner(System.in);
Liquidificador liq = new Liquidificador();
liq.setdesligar();
liq.setvelocidademaxima(5);
liq.setvelocidade(0);
System.out.println(" Selecione um opçao: ");
System.out.println(" =================== ");
System.out.println(" 1-Ligar ");
System.out.println(" 2-Desligar ");
System.out.println(" 3-Mostra Estado ");
System.out.println(" 4-Trocar Velocidade ");
System.out.println(" 5-Atribuir Velocidade Maxima ");
System.out.println(" 6-Fim ");
int escolha = input.nextInt();input.nextLine();
switch(escolha){
case 1:
if (liq.getestado() == 'd'){
liq.setligar();
System.out.println(" Liquidificador acaba de entrar em funcionamento ");
}else{
System.out.println(" ERRO: Liquidificador ja em funcionamento ");
}
break;
case 2:
if (liq.getestado() == 'L'){
liq.setdesligar();
System.out.println(" Liquidificador acaba de ser desligado ");
}else{
System.out.println(" Erro: Liquidificador ja esta desligado ");
}
break;
case 3:
System.out.println(" A velocidade atual do liquidificador é: " + liq.getvelocidade());
System.out.println("");
System.out.println(" A velocidade maxima do liquidificador é: " + liq.getvelocidademaxima());
System.out.println("");
System.out.println(" O estado atual do liquidificador é: " + liq.getestado());
break;
case 4:
System.out.println(" Por favor informe uma velocidade positiva maior que zero e no maximo " + liq.getvelocidademaxima());
int vel = input.nextInt();input.nextLine();
liq.setvelocidade(vel);
if (liq.getvelocidade() <= 0 ){
System.out.println(" ERRO: Informe um numero positivo maior que 0 ");
}else if (liq.getvelocidade() > liq.getvelocidademaxima() ){
System.out.println(" Erro: informe uma velocidade menor do que 5 ");
}else
System.out.println(" Liquidificador operando com a nova velocidade: " + liq.getvelocidade());
break;
case 5:
System.out.println(" Digite uma nova velocidade maxima ! ");
System.out.println("");
System.out.println(" Que seja maior que zero e positivo. ");
int velm = input.nextInt();input.nextLine();
liq.setvelocidademaxima(velm);
if(liq.getvelocidademaxima() <= 0){
System.out.println(" ERRO: Informe um numero positivo maior que 0 ");
}else if (liq.getvelocidademaxima() < liq.getvelocidade()){
System.out.println(" ERRO: Informe uma velocidade maior que a atual que esta em: " + liq.getvelocidade());
}else
System.out.println(" Nova velocidade maxima atribuida no liquidificador no valor de: " + liq.getvelocidademaxima());
break;
case 9:
System.out.println (" Obrigado ");
break;
}
}
}
[/code]
[b]Bem, finalmente minha duvida e o seguinte.
estou com problemas para fazer com que certas partes do codigo se repitam !
EXEMPLO: Se eu digito o 4-trocar velocidade, e atribuo 3 o codigo se encerra, e nao volta no inicio para realizar novas opçoes !
Imagino eu que eu posso adicionar a estrutura While no codigo, mas nao consigo fazer de jeito nenhum. :x
ja fiz algumas pesquisas, mas ainda assim minha cabeça continua "travada ".
Bom acho que fui claro ! Qualquer coisa peço desculpas.
Muito Obrigado !
Abraçoss
[/b]