oi gente desculpa ficar pertubando vcs mais precisava de uma ajudinha basica
eu to fazendo um exercicio, esse daq.
Crie uma classe Televisor. Essa classe deve possuir três atributos:
canal (inicia em 1 e vai até 16)
volume (inicia em 0 e vai até 10)
ligado (inicia em desligado ou false)
e a seguinte lista de métodos:
? aumentarVolume()
? reduzirVolume()
? subirCanal()
? descerCanal()
? ligarTelevisor()
? desligarTelevisor()
? mostraStatus() // dizer qual o canal, o volume e se o televisor está ligado
Feito isto, crie uma classe principal que utilize um novo Objeto do tipo Televisor
e que deve realizar as seguintes operações:
Ligue o televisor;
Suba 5 canais;
Aumente o volume até o máximo;
Mostre o Status;
Desça até o primeiro canal;
Reduza 2 pontos no volume;
Mostre o Status;
certo fiz uma classe chamada televisor seria essa.
package tv;
public class Televisor {
public int canal=1;
public int volume=0;
public boolean ligado;
public void aumentaVolume(){
if(ligado)
if(volume < 10)
volume =+ 1;
}
public void reduzirVolume(){
if(ligado)
if(volume > 0)
volume =- 1;
}
public void subirCanal(){
if(ligado)
if(canal < 16)
canal =+ 1;
}
public void descerCanal(){
if(ligado)
if(canal > 1)
canal =- 1;
}
public void ligarVisor(){
ligado=true;
}
public void desligarVisor(){
ligado=false;
}
public void mostraStatus(){
if(ligado)
System.out.println("Esta no canal "+canal+", no volume "+volume+" e o televisor esta ligado.");
else
System.out.println("O televisor esta desligado.");
}
}
agora tenho que fazer um teste na main sera que alguem poderia me dar um empuramsinho para poder fazer isso o material que o professor deus eh muito basico.
essa eh a minha classe de teste main.
package tv;
public class Main {
public static void main(String[] args) {
Televisor tv =new Televisor();
tv.ligarVisor();
tv.subirCanal();
tv.aumentaVolume();
tv.mostraStatus();
tv.descerCanal();
tv.reduzirVolume();
tv.mostraStatus();
}
}
na sua classe main, use o objeto tv para chamar os metodos correspondentes a
Ligue o televisor;
Suba 5 canais;
Aumente o volume até o máximo;
Mostre o Status;
Desça até o primeiro canal;
Reduza 2 pontos no volume;
Mostre o Status;
sim isso eh mais oq eu nãqo to entendendo direito eh
eaquele
ex
Suba 5 canais;
Desça até o primeiro canal;
eu tenho que colocar dentro do parenteses do metodo neh mais a logica como seria?teria de colocar if?
grata.
public class Televisor {
public int canal=1;
public int volume=0;
public boolean ligado;
public void aumentaVolume(){
if(ligado)
if(volume < 10)
volume =+ 1;
}
public void reduzirVolume(){
if(ligado)
if(volume > 0)
volume =- 1;
}
public void subirCanal(){
if(ligado)
if(canal < 16)
canal =+ 1;
}
public void descerCanal(){
if(ligado)
if(canal > 1)
canal =- 1;
}
public void ligarVisor(){
ligado=true;
}
public void desligarVisor(){
ligado=false;
}
public void mostraStatus(){
if(ligado)
System.out.println("Esta no canal "+canal+", no volume "+volume+" e o televisor esta ligado.");
else
System.out.println("O televisor esta desligado.");
}
}
class Main {
public static void main (String[] args) {
Televisor tv = new Televisor();
tv.reduzirVolume();
tv.descerCanal();
tv.ligarVisor();
tv.mostraStatus();
}
}
Pra subir 5 canais por exemplo, dentro do teu método você coloca qtdecanais por exemplo e na hora de ‘chamar o método’ você põe o número de canais que deseja subir
package padrao;
public class Televisao {
private int canal = 1;
private int volume = 0;
private boolean ligado;
public void aumentarVolume() {
if (ligado) {
if (volume < 10) {
volume++;
}
}
}
public void reduzirVolume() {
if (ligado) {
if (volume > 0) {
volume--;
}
}
}
public void subirCanal() {
if (ligado) {
if (canal < 16) {
canal++;
}
}
}
public void descerCanal() {
if (ligado) {
if (canal > 1) {
canal--;
}
}
}
public void ligarTv() {
ligado = true;
}
public void desligarTv() {
ligado = false;
}
public void mostarStatus() {
if (ligado) {
System.out.println("Esta no canal " + canal + ", no volume "
+ volume + " e o televisor esta ligado.");
} else {
System.out.println("O televisor esta desligado.");
}
}
public int getCanal() {
return canal;
}
public void setCanal(int canal) {
this.canal = canal;
}
public int getVolume() {
return volume;
}
public void setVolume(int volume) {
this.volume = volume;
}
public boolean isLigado() {
return ligado;
}
public void setLigado(boolean ligado) {
this.ligado = ligado;
}
}
App.java
package padrao;
public class App {
public static void main(String[] args) {
Televisao tv = new Televisao();
tv.ligarTv();
// subir 5 canais
for (int i = 0; i < 5; i++) {
tv.subirCanal();
}
// colocar o volume no máx
while (tv.getVolume() < 10) {
tv.aumentarVolume();
}
tv.mostarStatus();
// descer até o 1 canal
while(tv.getCanal() != 1){
tv.descerCanal();
}
// reduzir 2 pontos volume
for (int i = 0; i < 2; i++) {
tv.reduzirVolume();
}
tv.mostarStatus();
}
}
Aumentar e diminuir volume poderiam chamar uma mesma função para controle de volume, e esta função controlaria o volume máximo e mínimo. Desse jeito as regras não ficam espalhadas por todo lado.
public void subirCanal(int qtdeCanal){
if(ligado)
if(canal+qtdeCanal<=16)
canal = canal+qtdeCanal;
Depois para subir 5 canais :
tv.subirCanal(5);
[/quote]
Apertar o botão de canal 5 vezes não é o mesmo que canal + 5. Televisões normalmente pulam canais não cadastrados. Canal + 5 iria direto para um canal válido ou não.
Se bem que este caso é simples demais p/ ter esse tipo de validação.
Considerando que os 16 canais são válidos.
Aliás, creio que seria melhor iniciar o canal com o valor 0, assim o canal que você digita dentro dos parênteses, é o canal que estará, desde que seja menor ou igual a 16
Boa Noite!! GAlera!!!
Meu programa receberá um arquivo de entrada, enumerando pré-requisitos. O arquivo contém:
número de matérias, na primeira linha; pré-requisito e matérias, nas demais linhas. um exemplo de arquivo de entrada (a matéria 0, por exemplo, é pré-requisito de 1 e 4). A entrada é esta:
6
0 1 4
1 2
2
3 2 5
4 1 5
5 2
Como que faço para produzir um arquivo com a ordenação Topologica correta das matérias, observando os
pré-requisitos? é um exercício de revisão de prova preciso de pelo menos uma ideia, Ajuda aí moçada.
Só sei que a saída deve ficar assim:::
3 0 4 5 1 2
Antes de Tudo preciso de uma dica!!!
Como devo modelar minha função de leitura para que leia minha entrada que é esta que já coloquei?
a função minha é esta!
Só que ela está lendo matriz e minha entrada não é matriz
public int[][] Leitor(String P) throws Exception
{
BufferedReader leitor = new BufferedReader(new FileReader§);
int TAM = Integer.parseInt(leitor.readLine());
int[][] matriz = new int[tamanho][tamanho];
for (int i = 0; i < TAM; i++) {
StringTokenizer st = new StringTokenizer(leitor.readLine());
for (int j = 0; j < tamanho; j++) {
matriz[i][j] = Integer.parseInt(st.nextToken());
}
}
leitor.close();
return matriz;
}
VAlew!!
Qualquer dica será e grande Importância!!! A prova está chegando!!! VAlew
Boa semana!!