Você está aqui: Cards de Engenharia Civil - Materiais de Construção |
||
|
||
|
|
||
Java ::: Estruturas de Dados ::: Lista Ligada Simples |
Estruturas de dados em Java - Como criar uma lista singularmente ligada, inserindo e exibindo os valores contidos em cada nóQuantidade de visualizações: 12655 vezes |
|
Em dicas posteriores você aprendeu sobre listas singularmente e duplamente ligadas. Nesta dica você aprenderá a criar uma lista singularmente ligada (com referências apenas para o próximo nó), inserir alguns nós (sempre no final da lista) e usará um laço while para visitar todos os nós e exibir seus valores. A classe usada para representar cada nó é a seguinte (No.java):
// classe No
public class No{
public int valor;
public No proximo;
}
// fim da classe No
Note que cada nó contém apenas um valor inteiro e uma referência para o próximo nó. Ao analisar o código você perceberá que tanto a inserção quanto a exibição dos nós são feitas usando métodos. Isso permitirá o reaproveitamento deste código em suas próprias implementações. Veja o código para a lista ligada (Lista.java):
public class Lista{
No inicio; // início da lista
// função que permite exibir os valores de
// todos os nós da lista
public void exibir(){
if(inicio != null){
do{
System.out.println(inicio.valor);
inicio = inicio.proximo;
}while(inicio != null);
}
else
System.out.println("A lista esta vazia\n\n");
}
// função que permite inserir nós na lista.
// veja que a função recebe o valor a ser
// armazenado em cada nó
public void inserir(int v){
No temp;
// verifica se a lista está vazia
if(inicio == null){
// reserva memória para o novo nó
inicio = new No();
inicio.valor = v;
// é o primeiro nó...não deve apontar para
// lugar nenhum
inicio.proximo = null;
}
else{ // não está vazia....vamos inserir o nó no final
temp = inicio;
// vamos varrer a lista até encontrar o último nó
while(temp.proximo != null)
temp = temp.proximo;
// estamos no último nó...vamos criar um novo nó agora
temp.proximo = new No();
// atribui o valor do nó
temp.proximo.valor = v;
// define o campo proximo do nó como null
temp.proximo.proximo = null;
}
}
}
Compile as classes No.java e Lista.java e vamos fazer o teste (TesteJava.java):
public class TesteLista{
public static void main(String args[]){
// vamos criar uma nova lista
Lista lista = new Lista();
// vamos inserir quatro valores na lista
lista.inserir(45);
lista.inserir(3);
lista.inserir(98);
lista.inserir(17);
// exibe os valores na lista
lista.exibir();
System.exit(0);
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Strings e Caracteres |
Exercícios Resolvidos de Java - O caractere ausente. Escreva um método Java que receba uma string não vazia e um inteiro positivo.Quantidade de visualizações: 1466 vezes |
|
Pergunta/Tarefa: O desafio do caractere faltante. Escreva um programa Java contendo um método que receberá uma palavra, frase ou texto e um inteiro positivo. Este método deverá retornar a palavra, frase ou texto com o caractere removido no índice especificado pelo inteiro fornecido como segundo argumento para o método. Certifique-se de que a string passada para o método não esteja vazia e de que o valor inteiro no segundo argumento não esteja fora da faixa permitida, ou seja, não seja menor que 0 nem maior que o comprimento da string - 1. Sua saída deverá ser parecida com: Informe uma palavra, frase ou texto: JAVASCRIPT Informe um número inteiro: 4 O resultado é: JAVACRIPT Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos{
public static void main(String args[]){
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos pedir para o usuário informar uma palavra, frase ou texto
System.out.print("Informe uma palavra, frase ou texto: ");
String str = entrada.nextLine().trim();
// agora vamos pedir para o usuário informar um número inteiro
System.out.print("Informe um número inteiro: ");
int indice = Integer.parseInt(entrada.nextLine());
// os dados são válidos?
if(str.isEmpty()){
System.out.println("\nA string informada está vazia\n");
}
else if(indice < 0 || indice > str.length() - 1){
System.out.println("\nO índice não está na faiza permitida\n");
}
else{
String resultado = caractereFaltante(str, indice);
System.out.println("O resultado é: " + resultado);
}
}
public static String caractereFaltante(String str, int indice){
// primeiro nós obtemos uma substring que vai do primeiro
// índice até o indice informado pelo usuário, sem incluí-lo
String inicio = str.substring(0, indice);
// agora obtemos o restante da string a partir do índice informado
// pelo usuário, sem incluí-lo, é claro
String fim = str.substring(indice + 1, str.length());
return inicio + fim;
}
}
|
Java ::: Classes e Componentes ::: JComboBox |
Tutorial Java Swing - Como remover todos os itens de um JComboBox (Caixa de Combinação) em tempo de execuçãoQuantidade de visualizações: 13145 vezes |
|
Nesta dica mostrarei como é possível usar o método removeAllItems() da classe JComboBox para remover todos os seus itens. Note que criei a aplicação Java Swing na mão mesmo, sem usar nenhum editor visual de GUI, como o que está disponível no IDE Netbeans. Esta abordagem pode não ser produtiva, mas é excelente para entender como o Java Swing funciona. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JComboBox combo;
public Estudos(){
super("A classe JComboBox");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria os itens da lista
String nomes[] = {"Carlos", "Marcelo", "Fabiana",
"Carolina", "Osmar"};
// Cria o JComboBox
combo = new JComboBox(nomes);
// Um botão que permite limpar o JComboBox
JButton btn = new JButton("Limpar");
btn.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
// remove todos os itens do JComboBox
combo.removeAllItems();
}
}
);
// Adiciona o JComboBox à janela
c.add(combo);
// Adiciona o botão à janela
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Aqui os itens do JComboBox foram inseridos a partir de um vetor de String. |
C++ ::: Fundamentos da Linguagem ::: Estruturas de Controle |
C++ para iniciantes - Como usar o laço for em C++Quantidade de visualizações: 23755 vezes |
O laço for é usado quando queremos executar um bloco de códigos um determinado número de vezes. Este laço é composto de três partes:
for(início; condição; incremento/decremento){
bloco de instruções
}
A parte início é executada uma única vez (na entrada do laço). Geralmente é nesta parte que declaramos e inicializamos a variável de controle. Na parte condição nós testamos a condição atual da variável de controle, para verificar se o laço pode continuar sua execução. Na parte do incremento/decremento nós alteramos o valor da variável de controle. Finalmente o bloco de instruções representa as instruções que serão executadas no laço. Veja um exemplo de laço for no qual exibimos os números de 0 a 10:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço for que conta de 0 a 10
for(int i = 0; i <= 10; i++){
cout << i << "\n";
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Veja agora um laço for usado para exibir os números de 10 a 0:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[]){
// um laço for que conta de 10 a 0
for(int i = 10; i >= 0; i--){
cout << i << "\n";
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
É importante observar que mais de uma expressão podem ser executadas nas partes início e incremento/decremento de um laço for. Veja um exemplo:
#include <string>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
// um laço for que conta de 10 a 0
for(int i = 0, x = 4; i <= 10; i++, x += 2){
cout << (i * x) << "\n";
}
cout << "\n\n";
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
|
PHP ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como obter apenas os elementos duplicados em um vetor usando as funções array_unique() e array_diff_assoc() do PHPQuantidade de visualizações: 15947 vezes |
Em algumas situações precisamos obter apenas os elementos que se repetem em um vetor (array). Isso pode ser feito combinando-se as funções array_unique() e array_diff_assoc(). Veja:
<?
// vamos declarar e inicializar um array de inteiros
$valores = array(9, 2, 6, 11, 6, 9, 3, 6);
// vamos listar os valores dos elementos no array
echo "Elementos no array:<br>";
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " - ";
}
// vamos exibir apenas os valores duplicados
// Aviso: não use o laço for para percorrer o array
// resultante. Em vez disso use foreach
$valores = array_unique(array_diff_assoc(
$valores, array_unique($valores)));
echo "<br><br>Elementos repetidos:<br>";
foreach($valores as $valor){
echo $valor . " - ";
}
?>
A execução deste código produz o seguinte resultado: Elementos no array: 9 - 2 - 6 - 11 - 6 - 9 - 3 - 6 - Elementos repetidos: 6 - 9 - |
Desafios, Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





