Ir para conteúdo
Fórum Script Brasil

ena

Membros
  • Total de itens

    8
  • Registro em

  • Última visita

Tudo que ena postou

  1. ena

    SetPriority

    Boa noite, Sou iniciante em java e estou fazendo uma tarefa que tem uma falha que não consigo identificar. A tarefa é a seguinte: Em seu campus há um grande estacionamento que possui 30 vagas. Verifica-se que, enquanto o mesmo tiver vagas, não existirão prioridades para estacionar. Quando o estacionamento estiver cheio, uma fila será organizada, em que os professores possuem a mais alta prioridade, sendo seguidos pelos funcionários e, posteriormente, pelos alunos. Utilize Java com Threads para “simular” este problema. Utilize 10 professores, 15 funcionários, 30 alunos. Eu fiz o código utilizando setPriority e não compila como esperado. Segue abaixo o código que eu fiz. import java.util.concurrent.*; public class Estacionamento extends Thread { private static Semaphore estacionamento = new Semaphore (10, true); public Estacionamento (String nome ) { super (nome); } public void run () { try { estacionamento.acquire(); System.out.println(getName () + " ocupou vaga. "); sleep( (long) (Math.random() * 10000 )); System.out.println (getName () + " liberou vaga. " ); estacionamento.release (); } catch (InterruptedException ie) { ie.printStackTrace(); } } public static void main(String[] args) { for( int i = 0; i < 30; i++ ) { Estacionamento estacionamento = new Estacionamento ("Carro # " + i); estacionamento.start(); } for( int p = 0; p < 10; p++ ) { Estacionamento professor = new Estacionamento ( "Carro professor " + p ); professor.setPriority (Thread.MAX_PRIORITY); professor.start(); } for( int f = 0; f < 15; f++ ) { Estacionamento funcionario = new Estacionamento ( "Carro funcionario " + f ); funcionario.setPriority (Thread.NORM_PRIORITY); funcionario.start(); } for( int a = 0; a < 30; a++ ) { Estacionamento aluno = new Estacionamento ( "Carro aluno " + a ); aluno.setPriority (Thread.MIN_PRIORITY); aluno.start(); } } }
  2. ena

    Várias classes

    Continua com o mesmo erro.
  3. ena

    Várias classes

    Boa noite, Estou fazendo um exercício e estou com um pequeno problema. O programa que eu fiz apresenta um erro em uma unica linha que não consegui identificar. Segue abaixo o programa. /* * To change this template, choose Tools | Templates * and open the template in the editor. */ /** * * @author ENA */ class Funcionario{ String nome = "ENA"; String departamento = "Informática"; double salario = 2000; String admissao = "19/08/1996"; String RG = "18.084-3"; boolean ativo= true; void bonificar (double quantidade){ this.salario += quantidade; } void demitir (){ this.ativo = false; } void mostrarDados(){ System.out.println("Nome: "+this.nome); System.out.println("Departamento: "+this.departamento); System.out.println("Salario: "+this.salario); System.out.println("Data de admissão: "+this.admissao); System.out.println("RG: "+this.RG); System.out.println("Demitido: "+this.ativo); } } class empresa { Funcionario[] novo; int qtde_de_funcionario; boolean incluirFuncionario (Funcionario A) { boolean achou = false; for(int i = 0; i <= qtde_de_funcionario; i++){ if (A.RG == novo[i].RG){ achou = true; } } if (achou) { System.out.println("funcionario existente"); return false; } else { qtde_de_funcionario++; novo[qtde_de_funcionario] = A; return true; } } } class pessoa { String nome; int altura; double peso; int idade; void aniversario(){ idade++; } } public class tarefa3java { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Funcionario funcionarioNovo = new Funcionario(); pessoa A = new pessoa(); empresa inclusao = new empresa(); A.idade = 18; A.aniversario(); A.aniversario(); A.aniversario(); funcionarioNovo.mostrarDados(); funcionarioNovo.bonificar(500); funcionarioNovo.demitir(); inclusao.incluirFincionario();//[b]Aonde aparece o erro[/b] System.out.println("Salario com bonificação: "+funcionarioNovo.salario); System.out.println("Demitido: "+funcionarioNovo.ativo); System.out.println("O resultado da idade depois de inclementada várias vezes é: " +A.idade); } }
  4. ena

    Método demitir

    Boa noite, Estou fazendo um exercicio e estou com dificuldade em parte do código. Segue abaixo o código. Método '"demitir", que não recebe parametro algum, apenas modifica o valor booleano indicando que o funcionário não trabalha mais na empresa. class Funcionario{ String nome = "CARLOS"; String departamento = "Informática"; double salario = 2000.; String admissao = "19/08/1996"; String rg = "18.084-3"; boolean presente; void bonificar (double quantidade){ this.salario += quantidade; } void demitir{ Aqui que não estou conseguindo fazer. } void mostrarDados(){ System.out.println("Nome: "+this.nome); System.out.println("Departamento: "+this.departamento); System.out.println("Salario: "+this.salario); System.out.println("Data de admissão: "+this.admissao); System.out.println("RG: "+this.rg); } } public class exercicio37java { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Funcionario funcionarioNovo; funcionarioNovo = new Funcionario(); funcionarioNovo.mostrarDados(); funcionarioNovo.salario = 2000.0; funcionarioNovo.bonificar(500); System.out.println("Salario com bonificação: "+funcionarioNovo.salario); } }
  5. ena

    Array

    Ok. Obrigado pela dica
  6. ena

    Array

    Estou fazendo o seguinte exercicio: Crie 10 objetos da classe pessoa e insira-os em um array de objetos desta classe. Utilize um for para imprimir todos os atributos dos objetos do array. Comecei a fazer o programa e tem um erro que não estou conseguindo identificar. Segue abaixo o trecho do programa que contém o erro. Falta ainda colocar o for para imprimir todos os atributos, mas antes gostaria de saber aonde estou errando no array. Se pude informar somente aonde está o erro identificado abaixo. Obrigado. class Pessoa{ String nome; double altura; double peso; } class exercicio34java { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Pessoa[] dados; dados = new Pessoa[10]; dados.nome[0] = "RENILDO"; // nesta linha que aparece o erro. dados.altura[0]= 1.68; // nesta linha que aparece o erro. dados.peso[0]= 80; // nesta linha que aparece o erro. } }
  7. Tenho o exercicio abaixo que utiliza fila e pilha no mesmo programa. Se alguém souber como resolve eu agradeço. Ficar esperando na fila do banco nem sempre é agradável. Muita demora, pouco a se fazer... pensando nisso, o banco está oferecendo revistas de brinde para seus clientes. Cada caixa tem uma pilha de revistas, e um exemplar é entregue assim que o cliente entra na fila desse caixa, para passar o tempo até ser chamado. Definir os itens que irão compor a estrutura com as informações manipuladas (pessoas, revistas, ou qualquer outra informação). Para testar, encha a fila com pessoas conhecidas e a pilha com suas revistas favoritas, e mostre quem ganhou qual revista. Execute uma bateria de testes. Para as duas estruturas você deve implementar procedimentos que permitam ao usuário listar a estrutura na tela a qualquer momento. Execute testes para as condições limítrofes, mostrando que seu programa funciona nas mais diversas situações (ex. pilha vazia, fila cheia, etc).
  8. Olá, Tenho um exercicio de Lista simplesmente encadeada. Estou com dificuldade na matéria. Se alguém puder me ajuda. Agradeço. Utilizando o TAD lista com ponteiros (alocação dinâmica) e considerando uma lista de números inteiros, acrescente a este TAD as seguintes operações: -Retorna posição p que o elemento de menor valor x se encontra na lista; caso não encontre, retorna p igual a zero -Retorna posição p que o elemento de maior valor x se encontra na lista; caso não encontre, retorna p igual a zero Faça testes para verificar o funcionamento das suas novas operações neste TAD. Tenho que utilizar o programa abaixo para chegar ao exercicio. #include <stdlib.h> #include <stdio.h> #define MAX 10 /* ========================================================================= */ typedef struct { int Chave; /* outros componentes */ } TipoItem; typedef struct TipoCelula *TipoApontador; typedef struct TipoCelula { TipoItem Item; TipoApontador Prox; } TipoCelula; typedef struct { TipoApontador Primeiro, Ultimo; } TipoLista; /* ========================================================================= */ void FLVazia(TipoLista *Lista) { Lista -> Primeiro = (TipoApontador) malloc(sizeof(TipoCelula)); Lista -> Ultimo = Lista -> Primeiro; Lista -> Primeiro -> Prox = NULL; } int Vazia(TipoLista Lista) { return (Lista.Primeiro == Lista.Ultimo); } void Insere(TipoItem x, TipoLista *Lista) { Lista -> Ultimo -> Prox = (TipoApontador) malloc(sizeof(TipoCelula)); Lista -> Ultimo = Lista -> Ultimo -> Prox; Lista -> Ultimo -> Item = x; Lista -> Ultimo -> Prox = NULL; } void Retira(TipoApontador p, TipoLista *Lista, TipoItem *Item) { /* --- Obs.: o item a ser retirado e o seguinte ao apontado por p --- */ TipoApontador q; if (Vazia(*Lista) || p == NULL || p -> Prox == NULL) { printf(" Erro: Lista vazia ou posicao não existe\n"); return; } q = p -> Prox; *Item = q -> Item; p -> Prox = q -> Prox; if (p -> Prox == NULL) Lista -> Ultimo = p; free(q); } void Imprime(TipoLista Lista) { TipoApontador Aux; Aux = Lista.Primeiro -> Prox; while (Aux != NULL) { printf("%d\n", Aux -> Item.Chave); Aux = Aux -> Prox; } } /* ========================================================================== */ int main(int argc, char *argv[]) { TipoLista lista; TipoItem item; int vetor[MAX]; TipoApontador p; int i; float tamanho=0; FLVazia(&lista); /*Insere cada chave na lista */ for (i = 0; i < MAX; i++){ item.Chave = i; Insere(item, &lista); tamanho++; printf("Inseriu: %d \n", item.Chave); } Imprime(lista); /*Retira cada chave da lista */ for(i = 0; i < MAX; i++){ p = lista.Primeiro; /*retira chave apontada */ Retira(p, &lista, &item); tamanho--; printf("Retirou: %d\n", item.Chave); } Imprime (lista); system("PAUSE"); return(0); }
×
×
  • Criar Novo...