AGRADECIMENTO...

Pessoal, Gostaria de pedir desculpas aqueles que deixam perguntas/comentários/elogios/críticas e ainda não foram respondidos.

Aproveito a oportunidade para informar a todos que devido a correria do dia a dia não conclui o curso de BSI, por isso meus conhecimentos são limitados rsrsrs...

Ainda não retirei o blog do ar porque tem ajudado a diversos estudantes, principalmente os iniciantes.

As vezes, quando o trabalho me permite, ainda arrisco tentar resolver algumas questões rs... mas para não deixar esse blog parar no tempo, o ESTUDANTE que quiser enviar a resolução de alguma questão (código próprio) para o meu e-mail, terei o prazer de posta-la neste blog e será mantido a autoria.

Desde já agradeço a todos pelas visitas e desejo bons estudos.

Thiago Campos
(srthiago@hotmail.com)

quinta-feira, 31 de maio de 2012

Converter Decimal em Binário - JOptionPane, String e Vetores

Faça um programa que converta número decimal em numero binário, usando Strings e Vetores.

Código Java

//Autor: Thiago Campos
//Data: 31.05.2012
//Programa que converte um numero decimal para binário

import javax.swing.JOptionPane; //Importando a biblioteca
/**
 *
 * @author Thiago
 */
public class DecimalBinario { //inicio da Class
    public static void main(String[] args) { //inicio do método main
        //declaração de variaveis
        float numero; //var do tipo real
        int resto; //var do tipo inteira
        String sequencia = "", seqBinaria = ""; //Strings inicializadas
        int q[] = new int[100]; //vetor quociente
       
        //Entrada de dados - var recebento a String convertida em Float
        numero = Float.parseFloat(JOptionPane.showInputDialog("Informe o numero decimal:"));
       
        //processamento: convertendo decimal
        while (numero > 0) {  //faça enquanto o numero for maior que zero
            int i = 0;  //inicializando a var local
            resto = (int) numero % 2;  //var assumindo o resto da divisão
            q[i] = (int) (numero / 2);  //O vetor recebe a parte inteira da divisão
            numero = q[i];  //a var assumindo novo numero = quociente da divisão
            sequencia += resto;  //var sequencia concatenando o resto das divisões
            i++;  //incrementando a var local
        }
        //Loop para inverter os caracteres da String sequencia
        for (int j = sequencia.length() - 1; j >= 0; j--) {
            seqBinaria = seqBinaria + sequencia.charAt(j);   //var que concatena o resultado
        }  // fim do FOR
        //janela que mostra a sequencia binaria correspondente
        JOptionPane.showMessageDialog(null,"O correspondente binário é "+seqBinaria);
      
        //Esses 2 comandos abaixos vão zerar as variaveis e deixa-los prontos para novo uso
        seqBinaria = "";
        sequencia = "";

    } //fim da Main
}  //Fim da Class

terça-feira, 29 de maio de 2012

Mais um exemplo de um programa com JOptionPane associado a métodos String

Fazer um programa que:
(a) leia uma frase de 80 caracteres, incluindo brancos,
(b) conte e imprima quantos brancos existem na frase,
(c) conte e imprima quantas vezes a letra A aparece.

Código Java

//Autor: Thiago Campos
//Data: 29.05.2012
package listastring; //nome do pacote que contem as classes

import javax.swing.JOptionPane; //biblioteca importada

/**
 *
 * @author Thiago Campos
 */
public class Exercicio03 {

    public static void main(String[] args) {

        //declaração de variaveis
        String frase;
        String let;
        int espaco = 0, letra = 0;

        //Solicita que informe a letra a ser pesquisada
        let = JOptionPane.showInputDialog("Informe a letra a ser pesquisada:");

        //Solicita a frase a ser analisada
        frase = JOptionPane.showInputDialog("Digite a frase a ser analizada:");

        //laço para verificar a qtd de espaço
        for (int i = 0; i < frase.length(); i++) {
            if (frase.charAt(i) == ' ') {
                espaco += 1;
            }
            //vai absorver a String letra por letra
            String aux = frase.substring(i, (i + 1));

            //verifica se o conteudo do aux é = ao conteudo de let
            if (aux.equalsIgnoreCase (let)) {
                letra += 1;
            }
        }
        //Mostra o resultado em uma janela JOptionPane
        JOptionPane.showMessageDialog(null, "A frase possui " + espaco + " espaços em branco\nE " + letra + " letra(s) " + let + ".");

    }  //fim do metodo main
}

Utilizado JOptionPane para entrada e saida dos dados do vetor.

Escrever um programa que
(a) leia um conjunto de 10 notas, armazenando-as em uma variável composta do tipo arranjo,
(b) calcule e imprima a sua média,
(c) calcule e imprima o número de alunos com nota superior à média.

Código em Java

//Autor: Thiago Campos
//Data: 29.05.2012

package listastring;  //nome do pacote que contem as classes

import javax.swing.JOptionPane;  //biblioteca importada

/**
 *
 * @author Thiago Campos
 */
public class Exercicio02 {

    public static void main(String[] args) {

        //declaração de variaveis
        double n[] = new double[10];
        double media = 0.0, soma = 0.0;
        int k = 0, qtd = 0;

        //Vai informar a qtd de vezes  será digitado o numero
        k = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade denota que serão digitadas"));

        //laço de repetição: entrada das notas
        for (int i = 0; i < k; i++) {
            n[i] = Double.parseDouble(JOptionPane.showInputDialog("Informe a " + (i+1)
                    + " nota:\n(PS:Use o ponto no lugar da vírgula)"));
            soma = soma + n[i];
        }
        //media das notas
        media = soma / k;
      
        //laço que calcula a qtd de notas acima da media
        for (int i = 0; i < k; i++) {
            if (n[i] > media) {
                qtd += 1;
            }
        }
        //janela que mostra o resultado
        JOptionPane.showMessageDialog(null, "A média dos alunos são: " + media
                + " pontos.\nE " + qtd + " aluno(s) fica(m) com nota acima da média.");
    }  //fim do método main
}

Exemplo de programa de vetor usando JOptionPane, Integer.parseInt( ) e String.valueOf( )

Fazer um algoritmo que calcule e imprima o somatório dos valores armazenados em uma variável composta homogênea (arranjo) unidimensional A de 100 elementos numéricos a serem lidos do dispositivo de entrada padrão.

Código Java

//Autor: Thiago Campos
//Data: 29.05.2012

package listastring;

import javax.swing.JOptionPane;

public class Exercicio01 {

    public static void main(String[] args) {
        //declaração de variaveis
        int a[] = new int[100];
        int k = 0, soma = 0;
        String sequencia = "";

        //Vai informar a qtd de vezes  será digitado o numero
        k = Integer.parseInt(JOptionPane.showInputDialog("Informe a quantidade de entradas:"));

        //lope para a entrada do numero
        for (int i = 0; i < k; i++) {
            a[i] = Integer.parseInt(JOptionPane.showInputDialog("Informe o numero a ser armazenado:"));

            //sequencia de numero digitados convertidos em String e armazenados
            sequencia = sequencia + ", " + String.valueOf(a[i]);
            soma = soma + a[i];  //variavel que acumula a soma dos numeros digitados
        }
        //janela que mostra o resultado
        JOptionPane.showMessageDialog(null, "Os numeros armazenados foram " + sequencia + "\nE sua soma é: " + soma);
    }
}

domingo, 27 de maio de 2012

Fazer um programa que informe se o numero é primo ou não, usando a interface grafica (biblioteca javax.swing).

Resposta:


//autor: Thiago Campos
//Data: 27.05.2012
//Número primo

import javax.swing.JOptionPane;

public class Primo {

    public static void main(String[] args) {
        //declaração de variaveis
        int num = Integer.parseInt(JOptionPane.showInputDialog("Digite um numero:"));
        int cont = 1;
        int primo = 0;
       
        //O laço de repetição irá testar o valor
        while (cont <= num) {
            if (num % cont == 0) {
                primo += 1;
            }
            cont++;
        }
        //o if vai verificar se o numero é primo
        if (num == 1 || primo == 2) {
            JOptionPane.showMessageDialog(null, "O numero é primo!");
        } else {
            JOptionPane.showMessageDialog(null, "O numero NÃO  é primo!");
        }
    }
}

sexta-feira, 25 de maio de 2012

Exercício de Strings 2

Escreva um programa que leia um vetor de 10 elementos. Após a leitura calcular e mostrar o resultados para o usuário: 
a. a soma de todos os elementos; 
b. o maior e o menor elemento; 
c. a média dos elementos

Código em Java

//Autor: Thiago Campos
//Data: 24.05.12
//Exercicio 2 sobre String

import java.util.Scanner;

public class Lista2 {
    public static void main(String[] args){
        //DECLARAÇÃO DE VARIAVEIS
        Scanner leia = new Scanner(System.in);
        int vetor[] = new int[10];
        int soma=0, maior=0;
        float media=0;
        int k = 10; //qtd de repetição
       
        //ENTRADA DE DADOS
        for (int i=0;i<k;i++){
            System.out.print("Digite um numero:");
            vetor[i]=leia.nextInt();
        }
        //PROCESSAMENTO
        maior = vetor[0];
        for (int i=0;i<k;i++){
           soma =soma + vetor[i];
           media = soma/k;
           
           //VERIFICAÇÃO DO MAIOR
           if(maior<vetor[i]){
                maior = vetor[i];
           }
        }
        //SAIDA DOS RESULTADOS
        System.out.println("/nA soma: "+ soma);
        System.out.println("O maior: "+ maior);
        System.out.println("A media: "+ media);
    }
}

Exercício de Strings

Escreva um programa que leia um vetor de 20 posições e mostre- o. Em seguida, troque o primeiro elemento com o último, o segundo com o penúltimo, o terceiro com o antepenúltimo, e assim sucessivamente. Mostre o novo vetor depois da troca.

Código em Java


//Autor: Thiago Campos
//Data: 24.05.12
//Exercicio 1 sobre String

import java.util.Scanner;

public class Lista01 {
    public static void main(String[] args){
        //Declaração de variaveis
        Scanner leia = new Scanner(System.in);
        int vetor[] = new int[20];
        int k = 20; //qtd de repetição
       
        //Recebe a sequencia numerica
        for (int i=0;i<k;i++){
            System.out.print("Digite um numero:");
            vetor[i]=leia.nextInt();
        }
        //Mostra o sequencia na ordem digitada
        System.out.print("\nOrdem digitada: ");
        for (int i=0;i<k;i++){
            int temp=0;
            System.out.print(vetor[i] + ", ");
        }
        //Mostra a sequencia invertida
        System.out.println();
        System.out.print("Ordem invertida: ");
        for (int j=k-1;j>=0;j--){
            System.out.print(vetor[j] + ", ");
        }
    }
}

sexta-feira, 11 de maio de 2012

Escreva um programa que guarda numa variável o um nome completo e a. 
a. Imprime quantas letras tem o nome?( Incluindo o espaços em brancos)
b. Conta e imprime o numero de caracteres, sem os espaços em Branco.
c. Informa as iniciais do nome
d. Conta quantos nomes tem o nome completo.
e. Escreva o nome todo em Maiúsculo.

//Autor: Thiago
//Data: 27.04.12
//Recebe uma String que armazene um nome completo

package literal;

import java.util.Scanner;

public class NomeCompleto {
    public static void main(String[] args){
        //Declaração de variaveis
        Scanner entrada;
        String nome, aux;
        int cont=0, contEsp=0;
       
        entrada = new Scanner(System.in);
       
        System.out.println("Escreva o nome completo:");
        nome = entrada.nextLine();
             
        for ( int i = 0; i < nome.length(); i++ ) {
            //conta a qtd de String iniciada por espaço
            if(nome.charAt(i) == ' '){
                cont++;
            }
        }
        //verifica caracter por caracter da string e depois a compara com espaço
        //para verificar a qtd de palavras
        for (int i=0;i<nome.length()-1;i++){
            aux = nome.substring(i, (i+1));
           
            //verifica as Strings iguais ao espaço e conta a palavra
            if(aux.equals(" ")){
                contEsp++;
            }
        }
        //Verifica as iniciais das palavras
        char iniciais = nome.charAt(0);
        String inic2="";
       
        for (int i = 0; i <nome.length();i++){
            if (nome.charAt(i)==' '){      
                char inic = nome.charAt(i+1);//verifica a posição do espaço e imprime o caracter posterior
                inic2+=inic;
            }
        }  
        System.out.println("O nome informado foi " + nome);
        System.out.println("O nome possui " + nome.length()+ " letras, incluindo os espacos");
        System.out.println("O nome possui " +(nome.length() - cont)+ " letras, menos os espacos");
        System.out.println("O nome informado sem espaco eh " + nome.replace(" ",""));//retira os espaços
        System.out.println("A String informada possui " + (contEsp+1) + " palavras.");//informa a qtd de palavras na string
        System.out.println("As Iniciais sao " + iniciais + inic2);
        System.out.println("O nome em MAIUSCULO eh " + nome.toUpperCase());
    }
}
Exemplo de um programa Java que lê notas de aluno e informa a maior e menor média e a media da turma, utilizando vetores.(o programinha está bem didático)

//Autor: Thiago Campos
//Data: 10.05.2012
//Exemplo desenvolvido em laboratorio de Algoritmo

import java.util.Scanner;

public class Notas {
    public static void main(String[] args){
       
        //declaração de variaveis
        Scanner entrada = new Scanner(System.in);
        float nota1[] = new float[6];
        float nota2[] = new float[6];
        float media[] = new float[6];
        float maior, menor, mediaTurma=0;
        int posMaior=0, posMenor=0;
       
        //ler elementos do vetor
        for(int i = 0; i < nota1.length; i++){
            System.out.print("Digite o nota 1:" + (i+1)+ ":");
            nota1[i] = entrada.nextFloat();
            System.out.print("Digite o nota " + (i+1)+ ":");
            nota2[i] = entrada.nextFloat();
        }
        //Calculo da média
        for(int i = 0; i < nota1.length; i++){
            media[i] = (nota1[i] + nota2[i])/2;
            System.out.println("Media do aluno " + (i+1) + ": " + media[i]);
        }
       
        //Calculo da maior nota
        //guarda o elemento da primeira posição
        maior = media[0];
        menor = media[0];
       
        //a função deste for é calcular a maior e menor nota e indicar a posição
        for (int i = 1; i < nota1.length; i++){
            if(maior < media[i]){
                maior = media[i];
                posMaior = i;
            }
            if(menor > media[i]){
                menor = media[i];
                posMenor = i;
            }
        }
        //Impressão do for
        System.out.println("\nA maior media é do aluno " +(posMaior+1)+ ": " + maior);
        System.out.println("A menor media é do aluno " +(posMenor+1)+ ": " + menor);
        System.out.println("\nA posição da maior media -> " + posMaior);
        System.out.println("A posição da menor media -> " + posMenor);
       
        //for para calcular a media da turma
        for(int i = 0; i < nota1.length;i++){
            mediaTurma += media[i];
        }
        mediaTurma /= 6;
        System.out.printf("A media da turma é %.2f", mediaTurma);
    }
}
Faça um programa que leia uma String e informe o que foi digitado e a qtd de palavras existente(considerando que será dado apenas um espaço entre as palavras).

//Autor; Thiago Campos
//Data: 11.05.2012
//Contando a qtd de palavras existente na String

import java.util.Scanner;

public class ContarPalavras {

    public static void main(String[] args) {
        // Declaração de variaveis
        Scanner entrada;
        String frase ="";
        int cont=0, t;
       
        entrada=new Scanner(System.in);
       
        System.out.println("Digite uma frase");
        frase=entrada.nextLine();
        System.out.println("a frase é: "+ frase);

        //Encontra repetiçoes numa String
        for(t=0; t<=frase.length()-1;t++){
            String aux=frase.substring(t,(t+1));
           
            //verificando a qtd de espaços existentes na String   
            if(aux.equals(" ")){
                cont++;
                //System.out.println("O total de cont " + cont); //verificando o valor de cont
            }
        }
        System.out.println("A qtd de palavras existente são (é): " + (1+cont)); //qtd de palavras
    }
Converte uma String para maiuscula e depois para minuscula.

//Autor: Thiago Campos
//Data: 05.05.2012
//Programa que converte a String para maiuscula e minuscula

import java.util.Scanner;

public class ConvertMaiusMinus {
    public static void main(String[] args){
        //Declaração de variaveis
        Scanner entrada;
        String caixa, maius, minus;
       
        entrada = new Scanner(System.in);
       
        System.out.println("Informe uma String:\n");
        caixa = entrada.nextLine();//variavel recebendo uma linha de String
       
        maius = caixa.toUpperCase(); //String convertida em maiusculas
        minus = caixa.toLowerCase(); //String convertida em minusculas
       
        System.out.printf("\nResultado\n");
        System.out.printf("%s\n%s\n", maius, minus); //Mostra o resultado
    }
}