Larback - Retornando conhecimento

Constante é tipo uma variável, só que constante.

Aula 03-03-15 - Exemplo de Orientação à objetos, Encapsulamento e utiliação de throws

Exemplo de orientação à objetos

public class Candidato {
	private String nome;
	private int formacao;
	private int experiencia;
	
	public int mostraPontuacao(){
		int pontos = 0;
		if (this.formacao==0)
			return 0;
		else {
			if (formacao==1)
				pontos +=5;
			if (formacao==2)
				pontos +=10;
			if (formacao==3)
				pontos +=12;
			if (formacao==4)
				pontos +=15;
			pontos += this.experiencia;
			return pontos;
		}
	}
	
	public void setNome(String nome){
		this.nome = nome;
	}
	public String getNome() {
		return this.nome;
	}
	public void setFormacao(int formacao) {
		if ((formacao<=0)||(formacao>4))
			formacao = 0;
		
		this.formacao = formacao;
	}
	public int getFormacao() {
		return this.formacao;
	}
	public void setExperiencia(int exp) throws Exception{
		if (exp<0)
			throw new Exception("A experiência não pode ser negativa.");
		this.experiencia = exp;
	}
	public int getExperiencia(){
		return this.experiencia;
	}

}
import javax.swing.JOptionPane;


public class Apuracao {

	public static void main(String [] args){
		Candidato candidato = new Candidato();
		for (int i=0;i<1;i++){
		boolean sair = false;
		
		candidato.setNome(JOptionPane.showInputDialog("Informe o nome do candidato"));
		do {
			try {
				candidato.setExperiencia(Integer.parseInt(JOptionPane.showInputDialog(
												"Qual sua experiência (em anos)")));
				sair = true;
			}catch (Exception ex) {
				JOptionPane.showMessageDialog(null, "Favor informar a experiência em anos.\n" + ex.getMessage());
			}
		} while (!sair);
		
		sair = false;
		do {
			try {
				candidato.setFormacao(Integer.parseInt(JOptionPane.showInputDialog(
				"Qual a formação do candidato?\n1 - Superior\n2 - Pós" +
				"\n3 - Mestre\n4 - Doutorado")));
				sair = true;
			} catch (Exception ex){
				JOptionPane.showMessageDialog(null, "Confira o valor informado.");
			}
		} while (!sair);
		
		JOptionPane.showMessageDialog(null, "O canditato " + candidato.getNome() + 
				" obteve " + candidato.mostraPontuacao() + " pontos");
		}
	}

}

Agora um exemplo só do uso de throws

public class Testes {
/*
 * a não pode ser negativo
 * b não pode ser ímpar
 * c deve ser entre 1 e 10
 */
	int a;
	int b;
	int c;
	public int getA() {
		return a;
	}
	public void setA(int a) throws Exception {
		if (a<0)
			throw new Exception("O valor de A não pode ser negativo");
		this.a = a;
	}
	public int getB() {
		return b;
	}
	public void setB(int b) throws Exception {
		if (b%2!=0)
			throw new Exception("O valor de B não deve ser ímpar.");
		this.b = b;
	}
	public int getC() {
		return c;
	}
	public void setC(int c) throws Exception {
		if ((c<1)||(c>10))
			throw new Exception("O C deve ser entre 1 e 10");
		this.c = c;
	}
	
	
	public static void main(String [] args){
		Testes t = new Testes();
		try {
			t.setA(-1);
		} catch (Exception e) {
			System.out.println(e.getMessage());
		}
		
	}


}