Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação orientada a objetos em Java - Java OOP - Como usar variáveis estáticas em suas classes JavaQuantidade de visualizações: 12306 vezes |
|
Variáveis estáticas podem ser definidas em Java por meio do uso da palavra-chave static. Uma variável estática pertence à classe na qual ela é definida e não à cada uma de suas instâncias. Pareceu confuso? Você pode pensar assim: quando definida com o modificador static, uma variável será única na classe, não importa a quantidade de instâncias da classe que serão criadas. Cada uma destas instâncias compartilhará o valor da variável estática. Além disso, uma variável estática pode ser acessada por meio do nome da classe, sem a necessidade de uma referência a uma de suas instâncias. Uma variável estática pode ser public, private ou protected. Vamos ver um exemplo? Considere a situação na qual gostaríamos de criar um identificador único para cada um dos objetos de uma classe. Veja o código para a classe Livro: Código para Livro.java:
package estudos;
public class Livro {
// variáveis privadas
private String titulo; // título do livro
// variável estática que permitirá definir um
// identificador único para cada livro
private static int id;
// construtor da classe Livro
public Livro(){
// vamos incrementar a variável estática
Livro.id++;
}
// método que permite obter o id do livro
public int getId(){
return Livro.id;
}
// método que permite definir o título do livro
public void setTitulo(String titulo){
this.titulo = titulo;
}
// método que permite obter o título do livro
public String getTitulo(){
return this.titulo;
}
}
Veja agora como criar três objetos da classe Livro a partir do método main() da aplicação: Código para Main.java:
package estudos;
public class Main {
public static void main(String[] args) {
// vamos criar um objeto da classe Livro
Livro a = new Livro();
a.setTitulo("Programando em Java 2");
// vamos exibir os dados do livro
System.out.println("Id: " + a.getId());
System.out.println("Titulo: " + a.getTitulo());
// vamos criar mais um livro
Livro b = new Livro();
b.setTitulo("A biblia do C/C++");
// vamos exibir os dados do livro
System.out.println("Id: " + b.getId());
System.out.println("Titulo: " + b.getTitulo());
// e mais um livro aqui
Livro c = new Livro();
c.setTitulo("PHP + MySQL");
// vamos exibir os dados do livro
System.out.println("Id: " + c.getId());
System.out.println("Titulo: " + c.getTitulo());
}
}
Ao executar esta aplicação teremos o seguinte resultado: Id: 1 Titulo: Programando em Java 2 Id: 2 Titulo: A biblia do C/C++ Id: 3 Titulo: PHP + MySQL Como podemos ver, a cada instância criada a variável id é incrementada em 1. Caso você não tenha entendido todo o processo, este incremento acontece no construtor da classe Livro. Veja: // vamos incrementar a variável estática Livro.id++; Nas situações em que as variáveis estáticas são públicas, podemos acessá-la usando o nome da classe seguida de um ponto. Assim, se a variável id fosse pública, poderíamos acessá-la de qualquer lugar de nossa aplicação da seguinte forma: System.out.println(Livro.id); |
VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de VB.NET - Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteirosQuantidade de visualizações: 680 vezes |
|
Pergunta/Tarefa: Escreva uma função recursiva em VB.NET que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:
// função recursiva que recebe um valor e um vetor e retorna quantas
// vezes o valor é encontrado no vetor
public static int QuantRepeticoes(int indice, int valor, int[] vetor) {
// sua implementação aqui
}
Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. Veja a resolução comentada deste exercício usando VB.NET:
Imports System
Module Program
' função principal do programa VB.NET
Sub Main(args As String())
' vamos declarar um vetor de 10 inteiros
Dim valores(4) As Integer
' vamos pedir ao usuário que informe os valores do vetor
For i As Integer = 0 To valores.Length - 1
Console.Write("Informe o " & (i + 1) & " valor: ")
' efetua a leitura do valor informado para a posição atual do vetor
valores(i) = Int32.Parse(Console.ReadLine())
Next
' agora vamos pedir para informar o valor a ser pesquisado
Console.Write(vbCrLf & "Informe o valor a ser pesquisado no vetor: ")
Dim valor As Integer = Int32.Parse(Console.ReadLine())
' e vamos ver a quantidade de repetições
Dim repeticoes As Integer = QuantRepeticoes(0, valor, valores)
Console.WriteLine("O valor informado se repete " & repeticoes & " vezes.")
Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
' função recursiva que recebe um valor e um vetor e retorna quantas
' vezes o valor é encontrado no vetor
Function QuantRepeticoes(indice As Integer, valor As Integer,
vetor() As Integer) As Integer
If indice = vetor.Length - 1 Then ' caso base...hora de parar a recursividade
If vetor(indice) = valor Then
Return 1 ' mais um repetição foi encontrada
End If
Else ' dispara mais uma chamada recursiva
If vetor(indice) = valor Then ' houve mais uma repetição
Return 1 + QuantRepeticoes(indice + 1, valor, vetor)
Else
Return 0 + QuantRepeticoes(indice + 1, valor, vetor) ' não repetiu
End If
End If
Return 0 ' só para deixar o compilador satisfeito...esta linha nunca é
' executada
End Function
End Module
|
C ::: Dicas & Truques ::: Matemática e Estatística |
Como usar a função modf() da linguagem C para separar um valor de ponto flutuante em suas partes inteira e fracionáriaQuantidade de visualizações: 10561 vezes |
Em algumas situações precisamos obter as partes inteira e fracionária de um valor de ponto flutuante. Para isso podemos usar a função modf(). Veja sua assinatura:double modf(double x, double * intpart); O parâmetro x é o valor de ponto flutuante cujas partes queremos separar e intpart é uma variável do tipo double que receberá a parte inteira do valor. O retorno da função é o valor fracionário. Vamos ver um exemplo? Veja como podemos quebrar o valor 34,27 em suas partes inteira e fracionária:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
double valor = 34.27;
// vamos separar o valor em suas partes inteira e fracionária
double inteira = 0.0, fracionaria = 0.0;
fracionaria = modf(valor, &inteira);
// vamos exibir o resultado
printf("Parte inteira: %f\n", inteira);
printf("Parte fracionaria: %f\n", fracionaria);
printf("\n\n");
system("pause");
return 0;
}
Ao executarmos este código teremos o seguinte resultado: Parte inteira: 34.000000 Parte fracionária: 0.270000 |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing - Como centralizar a janela JFrame ao abrir a aplicação Java SwingQuantidade de visualizações: 21146 vezes |
|
Em várias ocasiões nós gostaríamos de centralizar a janela JFrame, ou seja, a janela principal de nossa aplicação Java Swing ao abrir o programa. Para isso nós podemos usar o método setLocationRelativeTo() e fornecer a ele o valor null. Veja como isso pode ser feito no código abaixo:
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Uso da classe JFrame");
setSize(350, 250);
setVisible(true);
// centraliza a janela
setLocationRelativeTo(null);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Nossas 20 dicas & truques de programação mais populares |
|
JavaScript - Validação de formulários em JavaScript - Como validar CPF (com pontos e hífen) usando expressões regulares |
Você também poderá gostar das dicas e truques de programação abaixo |
|
JavaScript - Como usar objetos Set em seus códigos JavaScript JavaScript - JavaScript para Trigonometria - Como converter radianos em graus na linguagem JavaScript |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




