-

Boas pessoal.

Vou ter exame de P1 - Java agora dia 12 de Janeiro e gostava de saber se alguém não terá por ai uns exercícios que desse para treinar ...

Algo como um guiãozinho com problemas ou assim, só para ter algo para treinar ;)

Cumps
Boas, já vi que andas no isel, se fores ao site de programação do isel, acedes a turmas, e depois vais à turma LR12D, está lá um pdf com todos os exames desde 2005 até 2008.

Cumps

p.s.- lembrei-me para facilitar tens o tal pdf aqui
 
Última edição:
As vezes por ser V ou F não quer dizer que sejam mais fáceis.
Aliás podes construir um raciocínio lógico correcto e enganares-te num detalhe, logo se for de escolha múltipla erras, se não for podes ainda ter alguma cotação.
 
Eu acho é que precisas de aprender o paradigma da programação orientada a objectos. Isso que tens aí não é nada, parece C escrito em código Java (e C mal escrito).
 
Código:
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Comparator;
import java.util.Collections;
import java.util.Collection;

class Point {
    
    enum Quadrant {
        PRIMEIRO,
        SEGUNDO,
        TERCEIRO,
        QUARTO
    }
    
    private static final Quadrant[][] quadrantMatrix =
        {{Quadrant.QUARTO, Quadrant.PRIMEIRO},
         {Quadrant.TERCEIRO, Quadrant.SEGUNDO}};
    
    private double x;
    private double y;
    
    public Point(double x, double y) {
        this.x = x;
        this.y = y;
    }
    
    public double distanceTo(Point p) {
        
        double deltaX = this.x - p.x;
        double deltaY = this.y - p.y;
        
        return Math.sqrt(deltaX * deltaX + deltaY * deltaY);
    }
    
    public Quadrant getQuadrant() {
        return quadrantMatrix[y > 0 ? 0 : 1][x > 0 ? 1 : 0];
    }
    
    public Point closestPoint(Collection<Point> points) {
        if (points.isEmpty())
            throw new IllegalArgumentException("Can't compare with no Point");
        
        return Collections.min(points, new Comparator<Point>(){
            
            public int compare(Point p1, Point p2) {
                return new Double(distanceTo(p1)).compareTo(distanceTo(p2));
            }

        });
    }
    
    public String toString() {
        return "[x:" + x + " y:" + y + "]";
    }
    
}

O comparador é ineficiente (a distância do mínimo corrente é recalculada desnesseariamente) mas pronto.
 
Back
Topo