Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?
Mostrando postagens com marcador Exercícios. Mostrar todas as postagens
Mostrando postagens com marcador Exercícios. Mostrar todas as postagens

Exercícios de print em Java

01. Faça um programa em Java que exibe seu nome na primeira linha, seu endereço na segunda linha e seu CPF na terceira linha, usando três vezes o método println()

02. Refaça o exercício anterior, agora usando tapenas uma vez método print() (dica: \n )

03. Escreva um software que exibe a seguinte mensagem na tela:
   J    a   v     v  a                                                  
   J   a a   v   v  a a                                                 
J  J  aaaaa   V V  aaaaa                                                
 JJ  a     a   V  a     a

04.
Escreva um programa que mostre a seguinte carinha:

 +"""""+                                                 
[| o o |]                                                
 |  ^  |                                                 
 | '-' |                                                 
 +-----+

05. Se ao invés de você colocar uma string (ou seja, um texto entre as aspas) dentro dos método de print colocar uma operação matemática, como 21+12, o que acontece? O que é exibido?

06. Faça um programa, em Java, que exibia a seguinte operação Matemática:
21 x 12 = resultado da multiplicação

Lembrando que, em programação, o símbolo de multiplicação é o asterisco *

07. Faça um programa que exiba na tela a tabuada do 9:
9 x 1 = 9
9 x 2 =18
...
9 x 10 = 90

Porém, você deve usar o operador %d da seguinte forma: "%d x %d = %d" (o resultado da multiplicação deve ser calculado pelo Java, usando o operador matemático de multiplicação * )

08. Escreva um programa que exiba a letra da sua música favorita, de maneira bem formatada e organizada. Poste aqui nos comentários, e vamos ver se alguém diz o nome da banda e da música que você escolheu.

09. A minha resposta para a questão acima é:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package com.mycompany.meuprimeiroprograma;

public class MeuPrimeiroPrograma {

    public static void main(String[] args) {
        System.out.println("Joladadijoladadijoladadijoladadi\n" +
                            "Joladadijoladadi-jo-o-ooh\n" +
                            "Joladadijoladadijoladadijoladadi\n" +
                            "Joladadijoladadi-jo-o-ooh\n" +
                            "Oooooh-oooooh-oooooh-oooooh");
    }
}

a) qual o nome da banda e da música ?
b) O que esse símbolo de + faz dentro do println() ?

10. Futuramente, aqui no Curso Java Progressivo, vamos te ensinar passo a passo como criar o famoso jogo da velha, e jogar nele com um amigo. O passo inicial é 'desenhar' o tabuleiro, faça um programa que mostre o seguinte board:
___ | ___ | ___
___ | ___ | ___
___ | ___ | ___

Usando o laço while para descobrir o maior número de uma lista

Nesse tutorial de nossa apostila de Java, vamos resolver uma questão proposta em nossa lista de exercícios sobre o laço while: http://www.javaprogressivo.net/2012/08/questoes-usando-o-laco-while-java.html

Essa questão gerou dúvidas, em mais de um de nossos leitores, então vamos resolver e comentar ela, passo-a-passo.

Apostila de Java, Capítulo 4 - Orientação a objetos básica

Nesse artigo iremos comentar e resolver os exercícios propostos no capítulo 4, sobre Orientação a objetos básica da apostila FJ-11: Java e Orientação a Objetos, da Caelum.

Clique aqui para saber sobre a Caelum e sua apostila.

Apostila de Java, Capítulo 3 - Variáveis primitivas e Controle de Fluxo - Tipos primitivos e valores

Nesse artigo iremos comentar e resolver os exercícios propostos no capítulo 3, sobre Variáveis primitivas e Controle de Fluxo - Tipos primitivos e valores da apostila FJ-11: Java e Orientação a Objetos, da Caelum.
Clique aqui para saber sobre a Caelum e sua apostila.

Apostila da Caelum resolvida! Respostas e soluções da FJ-11 Java e Orientação a Objetos

Capítulo 3 - Variáveis primitivas e Controle de Fluxo - Tipos primitivos e valores
Capítulo 4 - Orientação a objetos básica
Capítulo 5 - Um pouco de Arrays
Capítulo 6 - Modificadores de acesso e atributos de classe
Capítulo 7 - Herança, reescrita (override) e Polimorfismo

Baixe a FJ-11: http://www.caelum.com.br/apostilas/



Quem já buscou por apostilas de Java para download, frequenta fóruns de programação ou foi atrás de fazer um curso de programação, com certeza já ouviu falar na Caelum: http://www.caelum.com.br/ , que é sem dúvidas o curso de Java mais conhecido no mercado, inclusive oferecendo cursos online.

Como desenhar retângulos e quadrados

Apostila de Java grátis para baixar download PDF
Agora que você já aprendeu o básico de JFrame e JPanel, bem como desenhar linhas em Java (usando os importantes métodos getWidth() e getHeight() ) e fez belos desenhos somente usando as linhas.

Agora vamos prosseguir em nosso curso de programação gráfica e desenhar retângulos e quadrados.

Para tal, usaremos o método drawRect, de draw (desenhar) e Rect de retângulo.


Criando alguns desenhos interessantes apenas com Linhas

Para mostrar melhor como usar linhas em programação gráfica em Java, vamos ensinar e mostrar o código de diversos programas que geram belas figuras, como essa abaixo.Para isso, vamos usar o código de nosso aplicativo do artigo sobre desenho de linhas.

Caso não tenha visto, pegue o código em nosso tutorial sobre como criar linhas em Java.
Para criar esses desenhos, vamos apenas alterar o conteúdo do método paintComponent.


Composição: trocando informações entre objetos

Um dos melhores artifícios do Java é a comunicação entre seus elementos, variáveis, métodos, objetos, classes e coisas que verá mais adiante. Mais que isso, o bacana é que podemos controlar essa comunicação, ela pode ser: pública, privada e protegida.

Nesse tutorial, daremos início a essa comunicação, falando sobre a Composição (Composition), que é simplesmente o ato de passar um objeto para outro, para usar seus métodos ou atributos.

O que é Composição em Java

É instanciar, ou usar, uma classe/objeto em outra(o). É como se elas se comunicassem, trocassem informações. Ou seja, serve para reutilizar dados, sem ter que criar mais código pra isso.
Simplesmente passamos a informação - na forma de Objeto - para outro Objeto, e este se encarrega de obter os dados e como trabalhar em cima dele.

Costuma-se dizer que composição é o ato de delegar trabalho para outro objeto.
Isso deixa seu código mais elegante, menor e mais seguro.


Para que serve a Composição em Java

Como citamos em nosso artigo introdutório sobre Classes e Objetos, a comunicação entre seus dados é essencial.
Talvez não note muito essa necessidade em projetos pequenos e de iniciantes, mas quando for um profissional, vai ter muita dor de cabeça com isso. Através de uma simplificação de projetos reais, vamos mostrar exemplos de códigos e passaremos exercícios para você notar a importância da Composição em aplicações Java.

Demos o exemplo de setores diferentes em uma empresa naquele artigo inicial.
Dificilmente uma empresa de grande porte vai mandar você fazer e ter acesso a todo o sistema, principalmente o setor financeiro.
Geralmente esse é mantido à sete chaves. Mas como expliquei lá, eles podem simplesmente compartilhar certos dados com você, como o salário final de cada funcionário, para você usar em sua classe "Funcionario".
Notou? Você criar sua classe, faz seu projeto e usa dados de outro Objeto/Classe. E o mais importante: é seguro! Você não faz a mínima idéia do que aconteceu lá, de como é calculado as coisas, dos segredos financeiros da empresa etc.

Graças a orientação a objetos - e outras coisas - isso é possível. Assim você não precisa repetir código.
Além da segurança, a Composição em Java faz com que não seja necessário repetir código. Você simplesmente usa o que já foi feito em outra Classe/Objeto, como é o caso do exemplo da empresa.
Imagina se o programador não soubesse Java? Ia ter que repetir todo o código do setor financeiro dentro da classe "Funcionario"?
Acredite, há coisas bizarras sendo feitas por aí.


Herança x Composição

Mais a frente, em nosso curso online de Java, iremos falar sobre uma das mais importantes, e controversas, e usadas funcionalidades do Java: a Herança. Isso nos leva ao encapsulamento de dados.
Não vamos entrar em muitos detalhes agora, mas basicamente herança é capacidade de uma classe herdar dados de outra.
Por exemplo, você cria uma classe mãe. Quer criar uma classe parecida com a mãe - mas com outras funcionalidades, você não precisa reescrever tudo. Basta fazer com que a classe filha herde a classe mãe.

Por exemplo, podemos criar a classe "Carro" quem atributos como "motor", "portas", "carburador" etc, pois todos atributos estão presentes em todos carros. Fazemos então a classe "Fusca" e a classe "Ferrari" herdar a classe "Carro".
Ora, é claro que vamos adicionar mais funcionalidades na classe "Ferrari", pois ela possuir mais atributos que o padrão genérico generalizado da classe "Carro". Mas não deixa de ser um carro.

Essa generalização, o fato de algumas classes herdadas não precisarem de todos os atributos da classe mãe, também devido ao fato de ao se mudar a classe mãe mudar todas as classes filhas e uma porção de outros detalhes, faz com que herança seja um conceito perigoso e não recomendado. Alguns simplesmente abominam a herança.
Não entraremos em detalhe agora, mas usar Composição é inofensivo e bem mais recomendado. Porém, cada caso é um caso.



Exemplo de uso de Composição em Java

Exercício: Descobrindo se um Funcionário chegou atrasado e seu tempo de trabalho. 

Nesse exemplo, vamos criar 2 classes adicionais: "Funcionario" e "Hora"

Vamos criar um funcionário, o 'geddyLee', criar um objeto para armazenar a hora que ele chegou 'horaChegada' e a hora que ele saiu 'horaSaida'.

A partir da hora de chegada, vamos verificar se ele chegou atrasado (após as 8h) e usando informações dos dois objetos da classe "Hora", vamos saber quanto tempo ele trabalhou e armazenar essa informação na variável "tempoTrabalhado", do objeto 'geddyLee' da classe "Funcionario", e vamos guardar a informação caso ele tenha chegado atrasado

Ou seja, vamos trocar bastante informações entre esses objetos !

controleHorario.java

Essa é nossa classe principal, que tem o método main.
Na main, simplesmente criamos os objetos de Hora e Funcionário mencionados no enunciado.
Iniciamos os objetos de "Hora" já com seus valores (hora, minuto,segundo). Você pode mudar a seu gosto, para testes ou pedir ao usuário, através da classe Scanner.

A seguir, a título de informação, ele exibe a hora de chegada, de saída e o tempo total trabalhado em horas.
A main é bem pequena e enxuta, como deve ser.


Hora.java

Essa classe recebe três elementos inteiros: horas, minutos e segundos, e faz um tratamento.
O tratamento é: as horas devem ser inteiros entre 0 e 23, os minutos e segundos devem ser inteiros entre 0 e 59.

Caso não seja, é lançada uma excessão (artíficio para mostrar que ocorreu um erro e a aplicação é encerrada).
Experimente colocar uma data errada para ver a mensagem de erro.

Os métodos dessa classe são simples getters um toString().

Método toString()
O método toString é um método especial, existente em todos os objetos de Java (pois está na classe Objects e todas classes são derivadas desta).

Como o nome pode sugerir, ele serve para retornar uma String.
Vamos formatar uma string com argumentos, por isso vamos usar o método format, para exibir as horas, minutos e segundos no formato: hh:mm:ss

Uma outra característica especial deste método é que ele se torna o padrão e automaticamente invocado, caso tente imprimir um 'objeto'.
Isso mesmo, se colocar apenas um objetos em uma função de print, esse método será invocado.

Por isso , para imprimir na main, fizemos apenas:
System.out.println("Hora de chegada: " + horaChegada);
System.out.println("Hora de saída: " + horaSaida);

Mas poderíamos ter feito:
System.out.println("Hora de chegada: " + horaChegada.toString());
System.out.println("Hora de saída: " + horaSaida.toString());


Funcionario.java

Essa classe que vai recebe a informação de outros objetos. No caso, ela recebe objetos da classe "Hora".
Vamos comentar seus métodos:


  • public double tempoAtraso(Hora horaChegada)
Vamos descobrir o tempo que o funcionário atrasou convertendo a hora de chegada em segundos.
Simplesmente transformamos a hora em que o funcionário chegou em segundos:
horaChegada.getHour()*60*60 + horaChegada.getMinute()*60 + horaChegada.getSecond()
E subtraímos do tempo que ele deveria chegar na empresa (8h00min):
8*3600.0
E dividimos por 3600.0, para o resultado ser um double que representa as horas atrasadas.


  • public double horasTrabalhadas(Hora horaChegada, Hora horaSaida)
Para o cálculo do tempo trabalhado de um funcionário, vamos levar em conta somente as horas trabalhadas.

Primeiro, vamos transformar a hora da saída e a hora da chegada em minutos e subtrair esse valor:
(horaSaida.getHour()*60 + horaSaida.getMinute()) - (horaChegada.getHour()*60 + horaChegada.getMinute())
Agora temos a diferença entre os horários de chegada e saída, em minutos.
Então, dividimos tudo por 60.0 para ter o tempo trabalhado, em horas.

Caso esse tempo seja negativo, é porque você colocou uma data de saída anterior a data de chegada.
Então, um erro, com a explicação, é lançado e aplicação é encerrada.


  • public double getHorasTrabalhadas()
Um simples exemplo de get, que retorna a variável 'tempoTrabalhado'.



Código do nosso programa:

controleHorario.java

public class controleHorario {

    public static void main(String[] args) {

        Hora horaChegada = new Hora(8, 0, 1);
        Hora horaSaida = new Hora(9, 30, 0);
        Funcionario geddyLee = new Funcionario("Geddy Lee", horaChegada, horaSaida);
        
        System.out.println("Hora de chegada: " + horaChegada);
        System.out.println("Hora de saída: " + horaSaida);
        System.out.printf("Horas trabalhadas: %.1f\n",geddyLee.getHorasTrabalhadas());
        

    }

}

Hora.java

public class Hora {
    private int hours,
                minutes,
                seconds;
    
    public Hora (int hours, int minutes, int seconds){
        //preenchendo as horas
        if(hours>=0 && hours <24 )
            this.hours = hours;
        else
            throw new IllegalArgumentException("Hora inválida");
            
        //preenchendo os minutos
        if(minutes >=0 && minutes < 60)
            this.minutes = minutes;
        else
            throw new IllegalArgumentException("Minutos inválidos");
        
        //preenchendo os segundos
        if( seconds >=0 && seconds < 60)
            this.seconds = seconds;
        else
            throw new IllegalArgumentException("Segundos inválidos");
            
                
    }
    
    @Override
    public String toString(){
     return String.format("%d:%d:%d", getHour(), getMinute(), getSecond());
    }
    
    public int getHour(){
        return this.hours;
    }
    
    public int getMinute(){
        return this.minutes;
    }
    
    public int getSecond(){
        return this.seconds;
    }
    
}


Funcionario.java

public class Funcionario {
    private String nome;
    private boolean atraso;
    private double tempoTrabalhado, tempoAtraso;
    
    public Funcionario(String nome, Hora horaChegada, Hora horaSaida){
        this.nome=nome;
        this.tempoAtraso = tempoAtraso(horaChegada);
        
        if(this.tempoAtraso > 0)
            this.atraso=true;
        
        if(atraso){
            System.out.println("Funcionário '" + this.nome + "' atrasado. ");
        }
        
        this.tempoTrabalhado = horasTrabalhadas(horaChegada, horaSaida);
    }
    
    public double tempoAtraso(Hora horaChegada){
        return ((horaChegada.getHour()*60*60 + horaChegada.getMinute()*60 + 
                 horaChegada.getSecond()) - 8*3600.0)/3600.0;
    }
    
    public double horasTrabalhadas(Hora horaChegada, Hora horaSaida){
        double horas = ( (horaSaida.getHour()*60 + horaSaida.getMinute()) - 
                       (horaChegada.getHour()*60 + horaChegada.getMinute()) )/60.0;
        
        if(horas < 0)
            throw new IllegalArgumentException("Hora de saída anterior a hora de chegada");
        
        return horas;
    }
    
    public double getHorasTrabalhadas(){
        return this.tempoTrabalhado;
    }
}



Exercício: Aplicativo Java para um Supermercado

Você foi selecionado para criar um aplicativo - em Java, claro - para um supermercado.
O que o dono do estabelecimento pediu a funcionalidade "Promoção para você", que funciona da seguinte maneira:
Após as 20h, todos os produtos recebem um desconto de 10%.
Aos sábados e domingos esse desconto vale o dia inteiro.

Ou seja, além de ter uma classe para os produtos do supermercado, você deve criar outra com o horário da compra.
Use a técnica de composition para passar o objeto referente ao horário da compra para o objeto referente ao produto que está sendo comprado. Assim, no objeto produto o preço é calculado com base no horário e dia da semana.

Na sua main, peça o preço do produto, dia da semana e horário da compra (hora, minuto e segundos), e devolva o valor final do produto com base naquele horário.

PS: Em uma aplicação real, não seria necessário fornecer esses dados. Eles seriam obtidos por um leitor de código de barras para saber o preço do produto, e pegaria o horário do sistema, pra preencher os dados referentes ao horário.
Pedimos, porém, por questão de aprendizado, já que você não deve ter um leitor desses em casa...

Aplicativo: Simulação simples de conta bancária


Aplicativo: Conta bancária/Caixa eletrônico simples em Java

Crie um protótipo de caixa eletrônico na linguagem de programação Java. No início, ele pede seu nome e valor $$ inicial que tem na conta. O programa deve fornecer um número de até 4 dígitos - número da conta - para o usuário (use Random). Esses dados serão usados para criar um objeto da classe "Conta.java"

A seguir, mostra um menu com as opções (esse menu deverá ser um método):
- Extrato: exibe o nome, número da conta, saldo e quantos saques já foram realizados
- Sacar: recebe o valor a ser sacado, informa se pode ser sacado (não pode ficar negativo) e mostra o saldo
- Depositar: recebe o valor a ser depositado e mostra o novo saldo
- Sair

Esse menu aparece até o usuário escolher sair. As outras opções são métodos que devem fazer parte da "Conta.java" (setters e getters). Note que o usuário pode sacar no máximo 5 vezes por dia.


Exercício: Método que recebe um número qualquer de argumentos (...)

Exercício resolvido e comentado em Java:
Um professor, muito legal, fez 3 provas durante um semestre mas só vai levar em conta as duas notas mais altas para calcular a média.
Faça uma aplicação em Java que peça o valor das 3 notas, mostre como seria a média com essas 3 provas, a média com as 2 notas mais altas, bem como sua nota mais alta e sua nota mais baixa. Essas médias devem ser calculadas usando o mesmo método, pois você é um programador Java e não vai ficar criando métodos à toa.
Crie um método que receba as 3 notas e retorna a maior delas. E outro que retorna a menor.

Varargs - passando uma lista de argumentos, de tamanho qualquer, para um método

Até o momento, em nosso curso de Java, sempre especificamos o número exato de argumentos que um método pode receber.
Quando estudarmos Arrays e ArrayLists logo mais veremos que podemos passar uma quantidade qualquer de valores aos métodos.

Há, porém, uma outra maneira de fazer isso em Java, através das reticências: ...
Com o uso desse artifício, podemos passar um, dois, três ou um número qualquer de argumentos para um mesmo método que ele vai saber como tratar esses dados.


Sintaxe:

Na hora de declarar seu método, use as reticências logo após o tipo do parâmetro:

tipo_de_retorno nomeDoMétodo( tipo... nomeDoParametro ){
//código do seu method
}

Pronto.
O Java é esperto o bastante para saber que 'nomeDoParametro' é, na verdade, uma lista de valores.

Exemplo de uso

Código Java: Crie um aplicativo que receba 5 valores do usuário e calcule a média dos 5, dos primeiros 4, 3 e 2 valores inseridos. Use apenas um método que receba uma lista de argumentos de tamanho qualquer.


import java.util.Scanner;

public class medias{
    
    public static float media(float... valores){
        float media=0;
        
        for(float valor: valores){
            media +=valor;
        }
        
        return media/valores.length;
    }

    public static void main(String[] args){
            float valor1, valor2, valor3, valor4, valor5;
            Scanner entrada = new Scanner(System.in);
            
            System.out.print("Entre com o valor 1: ");
            valor1 = entrada.nextFloat();
            System.out.print("Entre com o valor 2: ");
            valor2 = entrada.nextFloat();
            System.out.print("Entre com o valor 3: ");
            valor3 = entrada.nextFloat();
            System.out.print("Entre com o valor 4: ");
            valor4 = entrada.nextFloat();
            System.out.print("Entre com o valor 5: ");
            valor5 = entrada.nextFloat();
            
            
            System.out.println("A média dos 5 números é: "+media(valor1,valor2,valor3,valor4,valor5));
            System.out.println("A média dos 4 primeiros números é: "+media(valor1,valor2,valor3,valor4));
            System.out.println("A média dos 3 primeiros números é: "+media(valor1,valor2,valor3));
            System.out.println("A média dos 2 primeiros números é: "+media(valor1,valor2));
        }


}

Nesse exemplo, usamos um tipo especial de laço for, que usaremos bastante em Arrays.
Mas não se assuste, ele é bem fácil de entender: ele simplesmente percorre todos os elementos de uma lista de variáveis.

No nosso caso, nossa lista de variáveis é 'valores'. Por que lista de valores?
Ora, porque não é um só valor. Podemos mandar um, dois, três...mil valores.
Usando esse tipo de laço for, ele vai percorrer, sempre, TODOS os valores dessa lista de variáveis.
A cada iteração, cada valor dessa lista será atribuído a variável 'valor'.

A lógica do laço é somar cada elemento da lista, ou seja, soma 'valor' à variável 'media'.
Ao final do cálculo, dividimos o valor dessa variável 'media' pelo número de elementos da lista.
Esse número está armazenado em um método chamado length e pode ser acessado através de: media.length

Essa é uma propriedade especial dessa lista de valores. Ela já vai com um conjunto de informações. Uma dessas informações é o seu número de elementos.
Você aprenderá mais sobre essas 'listas' de valores quando estudar Arrays.
Sábio, esse Java, não?



Exercício:
Um professor, muito legal, fez 3 provas durante um semestre mas só vai levar em conta as duas notas mais altas para calcular a média.
Faça uma aplicação em Java que peça o valor das 3 notas, mostre como seria a média com essas 3 provas, a média com as 2 notas mais altas, bem como sua nota mais alta e sua nota mais baixa. Essas médias devem ser calculadas usando o mesmo método, pois você é um programador Java e não vai ficar criando métodos à toa.
Crie outro método que receba as 3 notas e retorna a maior delas. E outro que retorna a menor.

Solução

Questões envolvendo métodos

Questões envolvendo métodos, laços e estruturas de controle - Curso online, gratuito e completo Java Progressivo
Fique à vontade para treinar sua criatividade, usando os laços que quiser (while, for, do ... while), comandos (switch, break e continue), testes condicionais if else ou na raça mesmo ;)

Porém, como estamos na seção de métodos, é importante que treine e use métodos, o comando return, além de parâmetros e argumentos em todas as questões abaixo:


Programa que diz quantos dias o mês possui

Programa em Java que recebe o mês e informa quantos dias ele possui.
Exercício:
Crie um programa em Java que receba um inteiro, de 1 até 12, representando os meses do ano e retorne o número de dias do mês.
Use switch e não use break. 
Use acúmulo de case.





Inicialmente, a variável 'dias' é declarada como tendo 31 dias.

Caso seja o mês 4, 6, 9 ou 11, é subtraído 1 da variável 'dias'  e o programa informa que esses meses possuem 30 dias.

Caso seja o mês 2, é subtraído 2  de 'dias', ficando 28 dias para o mês de fevereiro.

Caso não seja nenhum desses meses, não cai no switch, então continua com 31 dias (que são os meses 1, 3, 5, 7, 8, 10 e 12).

Código:


import java.util.Scanner;

public class months {
    public static void main(String[] args) {
        int mes, dias=31;
        Scanner entrada = new Scanner(System.in);
        
        System.out.print("Digite o mês [1-12]: ");
        mes = entrada.nextInt();
        
        if(mes>12 || mes<1){
            System.out.println("Mês inválido");
            return;
        }
        
        switch( mes )
        {
            // fevereiro: subtraímos 2 dias aqui e 1 dia no próximo case
            case 2: 
                dias -=2;
                
            //meses que possuem 30 dias: só subtraímos 1 dia
            case 4: case 6: case 9: case 11:
                dias--;

        }
        
        System.out.printf("O mês %d possui %d dias", mes, dias);
    }
}

Problemas envolvendo laços

Problemas envolvendo laços | Java ProgressivoDizer 'use isso' ou 'use aquilo' é fácil.
Agora teste sua criatividade Javeana e invente seu jeito para resolver os seguintes problemas, mas se lembre de usar:

para exercitar seu aprendizado.


Questões usando o laço for

Exercícios sobre o laço FOR em Java

Usando o laço for, faça as seguintes questões em Java:

0. Programa em Java dos patinhos da Xuxa
Xuxa, a rainha dos baixinhos, criou uma música que tem o segunte formato:

n patinhos foram passear
Além das montanhas
Para brincar
A mamãe gritou: Quá, quá, quá, quá

Mas só n-1 patinhos voltaram de lá.


Que se repete até nenhum patinho voltar de lá.
Ao final, todos os patinhos voltam:

A mamãe patinha foi procurar
Além das montanhas
Na beira do mar
A mamãe gritou: Quá, quá, quá, quá
E os n patinhos voltaram de lá.

Crie um programa em Java que recebe um inteiro positivo do usuário e exibe a música inteira na tela, onde o inteiro recebido representa o número inicial n de patinhos que foram passear.

1. Programa em Java que mostra os números ímpares

Escreva um aplicativo em Java mostra todos os números ímpares de 1 até 100.

2. Programa em Java que mostra os números pares

Escreva um aplicativo em Java mostra todos os números pares de 1 até 100.

3. Programa em Java que mostra os números pares e ímpares 

Escreva um aplicativo em Java que recebe inteiro e mostra os números pares e ímpares (separados), de 1 até esse inteiro.
4. Programa em Java que calcula a média das notas de uma turma
Escreva um programa que pergunte ao usuário quantos alunos tem na sala dele.
Em seguida, através de um laço for, pede ao usuário para que entre com as notas de todos os alunos da sala, um por vez.

Por fim, o programa mostra a média, aritmética, da turma.


5. Achando o maior número

Achar o maior, menor, média e organizar números ou sequências são os algoritmos mais importantes e estudados em Computação. Em Java não poderia ser diferente.
Em nosso curso, obviamente, também não será diferente.

Escreva um programa em Java que solicita 10 números ao usuário, através de um laço for, e ao final

mostre qual destes números é o maior.

6. Achando os dois maiores números


Escreva um programa em Java que solicita 10 números ao usuário, através de um laço for, e ao final
mostre os dois maiores números digitados pelo usuário.

7. Quadrado de asteriscos


Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.
Para lado igual a 5:
*****
*****
*****
*****
*****
8. Quadrado de asteriscos e espaços em branco

Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos e espaços em branco. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.
Para lado igual a 5:
*****
*    *
*    *
*    *
*****

9. Construa um aplicativo em Java para gerar 20 números de 1000 a 1999 e mostrar aqueles que divididos por 11 deixam resto 5.
Solução

Questão: programa que gera 20 números entre 1000 e 1999 e mostra os que deixam resto 5 na divisão por 11

Construa um aplicativo em Java para gerar 20 números de 1000 a 1999 e mostrar aqueles que divididos por 11 deixam resto 5.

Questões usando o laço while

Exercícios sobre o laço WHILE em Java

Usando o laço while, faça as seguintes questões em Java:

0. Programa em Java dos patinhos da Xuxa
Xuxa, a rainha dos baixinhos, criou uma música que tem o segunte formato:

n patinhos foram passear
Além das montanhas
Para brincar
A mamãe gritou: Quá, quá, quá, quá
Mas só n-1 patinhos voltaram de lá.



Que se repete até nenhum patinho voltar de lá.
Ao final, todos os patinhos voltam:

A mamãe patinha foi procurar
Além das montanhas
Na beira do mar
A mamãe gritou: Quá, quá, quá, quá
E os n patinhos voltaram de lá.

Crie um programa em Java que recebe um inteiro positivo do usuário e exibe a música inteira na tela, onde o inteiro recebido representa o número inicial n de patinhos que foram passear.

1. Programa em Java que mostra os números ímpares

Escreva um aplicativo em Java mostra todos os números ímpares de 1 até 100.

2. Programa em Java que mostra os números pares

Escreva um aplicativo em Java mostra todos os números pares de 1 até 100.

3. Programa em Java que mostra os números pares e ímpares 

Escreva um aplicativo em Java que recebe inteiro e mostra os números pares e ímpares (separados), de 1 até esse inteiro.

4. Programa em Java que calcula a média das notas de uma turma

Escreva um programa que pergunte ao usuário quantos alunos tem na sala dele.
Em seguida, através de um laço while, pede ao usuário para que entre com as notas de todos os alunos da sala, um por vez.

Por fim, o programa mostra a média, aritmética, da turma.


5. Achando o maior número

Achar o maior, menor, média e organizar números ou sequências são os algoritmos mais importantes e estudados em Computação. Em Java não poderia ser diferente.
Em nosso curso, obviamente, também não será diferente.

Escreva um programa em Java que solicita 10 números ao usuário, através de um laço while, e ao final

mostre qual destes números é o maior.

Essa questão está resolvida e comentada em nosso artigo sobre O uso do laço WHILE para descobrir o maior número de uma lista.

6. Achando os dois maiores números

Escreva um programa em Java que solicita 10 números ao usuário, através de um laço while, e ao final
mostre os dois maiores números digitados pelo usuário.

7. Quadrado de asteriscos


Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.
Para lado igual a 5:
*****
*****
*****
*****
*****

8. Quadrado de asteriscos e espaços em branco


Escreva um programa que lê o tamanho do lado de um quadrado e imprime um quadrado daquele tamanho com asteriscos e espaços em branco. Seu programa deve funcionar para quadrados com lados de todos os tamanhos entre 1 e 20.
Para lado igual a 5:
*****
*    *
*    *
*    *
*****




Contribuir com o Java Progressivo

Que tal apoiar e fazer crescer o ensino da programação no Brasil ?

Ajudar nosso país a crescer e se desenvolver cada vez mais, tecnologicamente?

Clica abaixo pra saber mais!

Apoiar o Projeto Progressivo