Você está na página 1de 24

n -***ALTEREM OS NOMES DOS MÉTODOS, VARIÁVEIS E INDENTAÇÃO PARA

QUE NÃO CAIAM NA MALHA FINA***

Questão 1
Crie um método que recebe um inteiro X por parâmetro e retorne a soma dos
valores de 0 até X (inclusive).
obs: se precisa retornar a soma, não pode ser void
RESPOSTA ALTERNATIVA 1

public static void Metodo(int x) { **

for(int i=0; i<=x; i++) {


System.out.println(i);
}

RESPOSTA ALTERNATIVA 2

public int soma(int x) {


int soma = 0;
for(int i=0; i<=x; i++){
soma +=i;
}

return soma;
}

Questão 2
Crie um método que não recebe parâmetros. O método deve imprimir a soma dos
valores pares e a soma dos valores ímpares entre dois números quaisquer digitados
pelo usuário. Seu método deve garantir que os valores digitados sejam maiores que
0. Além disso, você também deve garantir que o primeiro valor digitado é menor que
o segundo. Ou seja: você deve solicitar os valores novamente sempre que um dos
valores digitados for negativo ou zero, e também quando o primeiro valor digitado
for maior ou igual ao segundo valor digitado.
public void somaValores(){
int a = 0;
int b = 0;
int Par = 0;
int Impar = 0;
while(a<=0 || b<=0 || a>=b){
a = Teclado.leInt("Digite o primeiro valor inteiro: ");
b = Teclado.leInt("Digite o segundo valor inteiro: ");
}

while (a<=0 || b<=0 || a>=b);


for (int i = a; i<=b; i++){
if (i%2==0){
Par += i;
}
}
for (int i = a; i<=b; i++){
if (i%2!=0){
Impar += i;
}
}
System.out.println("Soma pares: "+Par);
System.out.println("Soma impares: "+Impar);
}

Questão2.1: Crie uma classe que representa uma Turma. Uma turma possui como
atributos um nome da disciplina (texto), uma quantidade de alunos (inteiro) e uma
sala (texto). Esta classe deve possuir:
2 construtores (criados a seu critério)
Métodos de acesso GET
Métodos de acesso SET

Método que imprimeInfo, que imprime as informações de forma legível e organizada


Nesta mesma classe, crie o método main. No main, crie a seguinte turma: turma de
Laboratório I, que possui 32 alunos e ocorre na sala D10 105a. Imprima as
informações do objeto

RESPOSTA

public class Turma {


private String nomeDisciplina;
private String sala;
private int quantidadeAlunos;

public Turma(String nomeDisciplina, int quantidadeAlunos, String sala) {


this.nomeDisciplina = nomeDisciplina;
this.quantidadeAlunos = quantidadeAlunos;
this.sala = sala;
}

public Turma(String sala) {


this.sala = sala;
}

public String getNomeDisciplina() {


return nomeDisciplina;
}

public Turma setNomeDisciplina(String nomeDisciplina) {


this.nomeDisciplina = nomeDisciplina;
return this;
}

public String getSala() {


return sala;
}

public Turma setSala(String sala) {


this.sala = sala;
return this;
}
public int getQuantidadeAlunos() {
return quantidadeAlunos;
}

public Turma setQuantidadeAlunos(int quantidadeAlunos) {


this.quantidadeAlunos = quantidadeAlunos;
return this;
}

public void imprimeInfo() {


System.out.println("disciplina " + nomeDisciplina);
System.out.println("sala " + sala);
System.out.println("quantidade de alunos " + quantidadeAlunos);

public static void main(String[] args) {


Turma turma = new Turma(NOME QUE PEDE NO EXERCICIO, ALUNOS QUE
PEDE NO EXERCICIO, SALA QUE PEDE NO EXERCICIO);
turma.imprimeInfo();
}
}

Questão 3
Crie um método que recebe três valores inteiros por parâmetro e retorna o menor
deles.
RESPOSTA 1

public int escolhaONomeDaFuncao (int a, int b, int c){

int menorValor = a;
if(menorValor > b) {
menorValor = b;
}
if(menorValor > c){
menorValor = c;
}

return menorValor;
}
RESPOSTA 2

public int q3(int x,int y,int z)


{
int r = (x < y) ? x : y;

return ((r < z) ? r : z);


}

//
public int q3B(int x,int y,int z)Faça um método que recebe um array de inteiros por
parâmetro e retorna a média (double) de todos os elementos pares do array.

return ((x<y)?((x<z)?x:((z<y)?z:y)):(y<z)?y:z);
}

Questão 4

Faça um método que recebe dois arrays de inteiros por parâmetro e retorna
verdadeiro caso eles sejam iguais (ou seja, mesma quantidade de elementos e
todos eles no mesmo índice) e falso caso sejam diferentes.
RESPOSTA

public boolean TestaArray(int[] a, int[] b) {


if (a.length != b.length) {
return false;
} else {
for(int i=0; i<a.length; i++) {
if (a[i] != b[i]) {
return false;
}
}
}
return true;
}

Questão 5

Crie um método que não recebe parâmetros. O método deve pedir para o usuário
digitar números com ponto flutuante positivos via Teclado. Quando o usuário digitar
um número negativo, o método deve retornar a média de todos os números que ele
informou, ou -1 caso não tenha informado valor algum.
RESPOSTA-----------
public double calculaMedia (){

double valorInserido = 0; double somaValores = 0;


int quantidadeDeNotasInseridas = 0;
double media;

do {
Scanner ent = new Scanner(System.in);
System.out.println("Digite um valor para calcular a média.");
System.out.println("Quando você quiser calcular a média, digite um número negativo");
valorInserido = ent.nextDouble();

if(valorInserido >= 0){


somaValores = somaValores + valorInserido;
quantidadeDeNotasInseridas++;
}
} while (valorInserido >= 0);

if(somaValores == 0){
media = -1;
System.out.println(media);
return media;
} else {
media = somaValores/quantidadeDeNotasInseridas;
System.out.println("A media dos valores inseridos é: " + media);
return media;
}
}
Questão 6 - revisada
Crie um método que recebe por parâmetro três inteiros A, B e C, e retorna a quantidade
de elementos entre A (inclusive) e B (inclusive) que são divisíveis por C. Caso o valor de
A seja maior que o valor de B, retorne -1.

RESPOSTA

public int quantElem (int A, int B, int C){


int contador = 0;
if(A>B){
return -1;
} else {
for (int i=A; i<=B; i++){
if(i%C==0)
contador++;
}
}
return contador;
}

Questão 7

Faça um método que recebe um array de inteiros por parâmetro e imprime-o ao


contrário, ou seja, do último para o primeiro índice.

RESPOSTA
Opção 1 - tomar cuidado que não está imprimindo os elementos

public void reverse(int[] array) {


int left = 0;
int right = array.length - 1;

while( left < right ) {


int temp = array[left];
array[left] = array[right];
array[right] = temp;

left++;
right--;
}
}

Opção 2
public void reverse(int[] array) {
int[] novoArray = new int[array.length];

int finaldoArray = 0;
int indice = array.length - 1;

while (finaldoArray <= indice ) {


System.out.println(array[indice]);
indice--;
}
}

Questão 8
Considere uma classe chamada DispositivoMovel, que possui marca e modelo
como atributos, além de um construtor (que recebe parâmetros para inicializar todos
os atributos), todos os métodos de acesso e um método exibeDados, que imprime
as informações da classe.
Crie uma classe chamada Celular, que é uma subclasse de DispositivoMovel. Esta
subclasse deve possuir um atributo referente ao número deste celular (armazene
como String). Crie o construtor, os métodos de acesso necessários e sobrescreva o
método exibeDados, para exibir as informações da classe.
Atenção: você deve entregar apenas o código da classe Celular.
RESPOSTA

OBS: altere os nomes das variáveis e da função conforme o seu gosto

public class Celular extends DispositivoMovel {

private String informeNomeAtributo;

public Celular(String ma, String mo, String a) {

super(ma, mo);

informeNomeAtributo = a;

public String getInformeNomeAtributo() {

return informeNomeAtributo;

}
public void setInformeNomeAtributo(String a) {

informeNomeAtributo = a;

public void exibeDados(){

super.exibeDados();

System.out.println("Numero do celular: "+ informeNomeAtributo);

Questão 9
Faça um método que recebe um array de inteiros por parâmetro e retorna o maior
elemento do array.

RESPOSTA

OBS: altere os nomes das variáveis e da função conforme o seu gosto

public int escolhaONomeDaFuncao ( int[] inteiro ){

int x = 0;

for (int i = 0; i < inteiro.length; i++) {


if(inteiro[i] > x){
x = inteiro[i];
}
}

return x;
}

resposta 2 (pode ser que o array seja só de negativos)


public int metodo(int [] array )

{
int a;
a = array[0];
for (int i = 1; i<array.length; i++ )

{
if(array[i] > c)

{
a = array [i];

}
}

return a;
}

Questão 10

Faça um método que recebe dois arrays de inteiros por parâmetro, e retorna um
terceiro array contendo todos os elementos dos dois arrays.
RESPOSTA 1

OBS: altere os nomes das variáveis e da função conforme o seu gosto


public int[] escolhaONomeDaFuncao (int a1[], int a2[]) {

int a3[] = new int[a1.length + a2.length];

for (int index = 0; index < a1.length; index++) {


a3[index] = a1[index];
}
for (int index = 0; index < a2.length; index++){
a3[a1.length + index] = a2[index];
}

return a3;
}

RESPOSTA 2
public int[] q7(int[] a, int[] b)
{

int[] c = new int[(a.length + b.length)];

int pointer = 0;

for(int i = 0; i < a.length; i++)

c[pointer] = a[i];

pointer++;

for(int i = 0; i < b.length; i++)

c[pointer] = b[i];

pointer++;

return c;

Questão 11

Faça um método que recebe dois valores inteiros A e B por parâmetro e imprime o
valor de A dividido por B. Entretanto, se o valor de B for 0, imprima uma mensagem
de erro e não faça a divisão.

RESPOSTA
public static void MetodoDivide(int A, Int B){
if(B==0){
System.out.println(“Erro B igual a 0”);
}else{
System.out.println(A/B);
}
}
Questão 12
Faça um método que recebe dois arrays de inteiros por parâmetro, e retorna
verdadeiro caso eles sejam iguais (ou seja, mesma quantidade de elementos e
todos eles no mesmo índice) e falso caso sejam diferentes.
RESPOSTA

public boolean RecebeArrays(int[] a, int[] b){


if(a.length !=b.length) {

return false;
}else{
for(int i=0; i<a.length; i++){

if (a[i] != b[i]){
return false;
}
}

}
return true;

}
Questão 13
Faça um método que recebe um array de inteiros por parâmetro e retorna a posição do menor
elemento do array.

public int retornaIndiceMenorElemento(int[] arrayInteiros){

int menorElemento = arrayInteiros[0];


int indiceMenorElemento = 0;

for(int i = 0; i < arrayInteiros.length; i++){


if(menorElemento > arrayInteiros[i]) {
indiceMenorElemento = i;
}
}
System.out.println(indiceMenorElemento);
return indiceMenorElemento;
}
Questão 14
Faça um método que recebe dois arrays de inteiros por parâmetro, e retorna um terceiro array
que possui todos os elementos negativos dos dois arrays recebidos na primeira parte (nas
posições iniciais) e todos os elementos positivos (inclusive zero) dos dois arrays recebidos na
segunda parte (nas posições finais). Os elementos não precisam estar ordenados, apenas
organizados conforme descrito.

public int [] reorganizaArray(int [] a, int [] b)

int [] c;

int cont = 0;

c = new int [a.length + b.length];

for (int i = 0; i<a.length; i++ ){

if(a[i]<0)

c[cont] = a[i];

cont ++;

for (int i = 0; i<b.length; i++ ){

if(b[i]<0)

c[cont] = b[i];

cont ++;

for (int i = 0; i<a.length; i++ ){

if(a[i]>= 0)

c[cont] = a[i];

cont ++;

for (int i = 0; i<b.length; i++ ){


if(b[i]>=0)

c[cont] = b[i];

cont ++;

return c;

Questão 14.1
Faça um método que recebe um array de inteiros por parâmetro e retorna a média (double) de
todos os elementos pares do array.

Opção com ForEach:

public double retornaMediaDosElementosPares(int[] arrayInteiros) {

int soma = 0;
int divisor = 0;
double media;

for(int elemento: arrayInteiros) {


if(elemento%2 == 0){
soma += elemento;
divisor++;
}
}

media = (double) (soma/divisor);


System.out.print(media);
return media;
}

Opção com For tradicional:

public double retornaMediaDosElementosPares(int[] arrayInteiros) {

int soma = 0;
int divisor = 0;
double media;
for(int i = 0; i < arrayInteiros.length; i++){
if(arrayInteiros[i]%2 == 0){
soma = soma + arrayInteiros[i];
divisor++;
}
}

media = (double) (soma/divisor);


System.out.print(media);
return media;
}

QUESTÃO 15:

Crie um método que recebe dois valores inteiros A e B por parâmetro e imprime o valor de A
dividido por B. Entretanto, se o valor de B for 0, imprima uma mensagem de erro e não faça a
divisão.

RESPOSTA:

*Alterar o nome do método

public static void NomeDoMetodo(int a, int b) {

if (b == 0) {

System.out.println("Erro b igual a 0.");

} else {

System.out.println(a/b);

}-1

===================================================================

QUESTÃO 16:

Crie um método que não recebe parâmetros. O método deve pedir para o usuário digitar
números com ponto flutuante positivos via Teclado. Quando o usuário digitar um número
negativo, o método deve retornar a média de todos os números que ele informou, ou -1
caso não tenha informado valor algum.
RESPOSTA:

public double calculaMedia (){

double valorInserido = 0;
double somaValores = 0;
double quantidadeDeNotasInseridas = 0;
double media;

do {
Scanner ent = new Scanner(System.in);
System.out.println("Digite um valor para calcular a média. Digite um valor menor que
zero quando concluir e quiser calcular a média.");
valorInserido = ent.nextDouble();

if(valorInserido >= 0){


somaValores = somaValores + valorInserido;
quantidadeDeNotasInseridas++;
}

} while (valorInserido >= 0);

if(somaValores == 0){
media = -1;
System.out.println(media);
return media;
} else {
media = somaValores/quantidadeDeNotasInseridas;
System.out.println("A media dos valores inseridos é: " + media);
return media;
}
}

QUESTÃO 17: Crie um método que não recebe parâmetros. O método deve pedir para o
usuário digitar 2 valores inteiros via Teclado (val1 e val2). Se nenhum dos valores for
negativo, escreva os números pares entre o menor (inclusive) e o maior (inclusive) valor,
em ordem crescente.

public void nomeDaFuncao(){

Scanner entrada = new Scanner(System.in);


System.out.println("Digite o primeiro valor");
int val1 = entrada.nextInt();

System.out.println("Digite o segundo valor");


int val2 = entrada.nextInt();
if(val1 >= 0 && val2 >= 0){

for(int i = val1; i <= val2; i++){


if(i%2 == 0){
System.out.println(i);
}
}
}
}

QUESTÃO 18:

Crie um método que recebe por parâmetro um inteiro chamado quant. O método deve solicitar
que o usuário digitar o nome de quant pessoas pelo teclado.

RESPOSTA:

public void quantidadeDePessoas(int quant){

int contador = 0;

do {

Scanner input = new Scanner(System.in);

System.out.println("Digite o nome da pessoa");

String nome = input.nextLine();

contador++;

} while (contador < quant);

QUESTÃO 19:

Crie um método que recebe um inteiro X por parâmetro e imprime os números de 0 a X


(inclusive).

RESPOSTA:

public static void recebeInteiro (int x){

for(int i = 0; i <= x; i++) {


System.out.println(i);
}
}
QUESTÃO 20:

Crie um método que recebe um inteiro X por parâmetro e imprime os números de 0 a X em


ordem decrescente (ou seja, de X a 0).

RESPOSTA:

Crie um método que recebe um inteiro por parâmetro e imprime se ele é par ou ímpar.

QUESTÃO 21:

Crie uma classe que representa um Artigo. Um artigo possui como atributos um título (texto), um
ano de publicação (inteiro) e o nome dos autores (texto). Esta classe deve possuir:

2 construtores (criados a seu critério)

Métodos de acesso GET

Métodos de acesso SET

Método que imprimeInfo, que imprime as informações de forma legível e organizada

Nesta mesma classe, crie o método main. No main, crie o seguinte artigo: título: “Utilizando Java
na Web 4.0”, publicado em 2018, de autoria de Joseph Mark Thonson. Imprima as informações
do objeto.

RESPOSTA:

public class Artigo{


private String titulo, nomeAutores;
private int anoPublicacao;

public Artigo(String t, int aP, String nA) {


titulo = t;
anoPublicacao = aP;
nomeAutores = nA;
}

public Artigo(String t) {
titulo = t;
}

public String getTitulo() {


return titulo;
}

public void setTitulo(String t) {


titulo = t;
}

public String nomeAutores() {


return nomeAutores;
}

public void setNomeAutores(String nA) {


nomeAutores = nA;
}

public int getAnoPublicacao() {


return anoPublicacao;
}

public void setAnoPublicao(int aP) {


anoPublicacao = aP;
}
System.out.print("O Titulo é " + titulo);
System.out.print("Publicado em " + anoPublicacao);
System.out.print("Nome do Autor " + nomeAutores);

public static void main(String[] args) {


Artigo artigo = new Artigo(NOME ARTIGO, ANO PUBLICACAO, NOME AUTORES);
artigo.imprimeInfo();
}}
QUESTÃO 22:

Crie um método que recebe dois valores inteiros por parâmetro e retorna o maior dos dois
valores.

RESPOSTA:

public int soma (int n1, int n2){

if(n1 > n2) {


return n1;

else {

return n2;

QUESTÃO 23:

Faça um método que recebe um array de double por parâmetro e retorna um novo array que
contém somente os valores pares do array recebido.

RESPOSTA:

public double numerospares (double[] inteiros, double[] pares) {

int cont = 0;

int par = 0;

for(int i = 0; i < inteiros.length; i++)

if(inteiros[i] % 2 == 0) {

pares[par] = inteiros [i];

cont++; }

return par;

QUESTÃO 24:

Crie um método que recebe um inteiro X por parâmetro e imprime os números pares de 0 a X
(inclusive).

RESPOSTA:

public static void Metodo(int x){

for(int i=0; i<=x; i++){

if (i % 2 == 0){

System.out.println(i);

}
}

QUESTÃO 25:

Faça um método que recebe um array de inteiros por parâmetro e retorna um novo array que
contém o conteúdo do array de entrada invertido (ou seja, para o array de entrada {1, 2, 3, 4, 5},
por exemplo, o retorno do método deve ser o array {5, 4, 3, 2, 1}).

RESPOSTA:

public static int[] MetodoInverteArray(int[] a) {

int[] retorno = new int[a.length];

for(int i=a.length‐ 1;i>=0;i‐ ‐ ){

retorno[retorno.length‐ (i+1)] = a[i];

return retorno;

QUESTÃO 26:

Considere uma classe chamada Imovel, que possui endereço e um ano de construção como
atributos, além de um construtor (que recebe parâmetros para inicializar todos os atributos),
todos os métodos de acesso e um método exibeDados, que imprime as informações da classe.

Crie uma classe chamada Usado, que é uma subclasse de Imovel. Esta subclasse deve possuir
um atributo referente ao valor do aluguel deste imóvel. Crie o construtor, os métodos de acesso
necessários e sobrescreva o método exibeDados, para exibir as informações da classe.

Atenção: você deve entregar apenas o código da classe Usado.

RESPOSTA:

public class Usado extends Imovel {

private double informeValorAluguel;

public Usado(String endereco, int ano, double valorAluguel) {


super(String endereco, int ano);
informeValorAluguel = valorAluguel;
}

public double getinformeValorAluguel() {


return informeValorAluguel;
}

public void setinformeValorAtributo(double valorAluguel) {


informeValorAluguel = valorAluguel;
}

public void exibeDados(){


super.exibeDados();
System.out.println("Valor do aluguel deste imovel: "+ informeValorAtributo);
}
}

Questão 27

Considere uma classe chamada Livro, que possui título e autor e como atributos, além de um
construtor (que recebe parâmetros para inicializar todos os atributos), todos os métodos de
acesso e um método exibeDados, que imprime as informações da classe.

Crie uma classe chamada Antigo, que é uma subclasse de Livro. Esta subclasse deve possuir
um atributo referente ao número da edição deste livro. Crie o construtor, os métodos de acesso
necessários e sobrescreva o método exibeDados, para exibir as informações da classe.

Atenção: você deve entregar apenas o código da classe Antigo.

Resposta

public class Antigo extends Livro {

private String informeNomeAtributo;

public Antigo(String titulo, String autor, String a) {

super(titulo, autor);

informeNomeAtributo = a;

public String getInformeNomeAtributo() {


return informeNomeAtributo;

public void setInformeNomeAtributo(String a) {

informeNomeAtributo = a;

public void exibeDados(){

super.exibeDados();

System.out.println("Numero da edição deste livro: "+ informeNomeAtributo);

Questão 28

Crie um metodo que recebe um inteiro por parâmetro e imprime se ele é par ou ímpar.

resposta 1:

public void imprimeParImpar(int x) {

if (x % 2 == 0){

System.out.println("Par");

} else {

System.out.println("Ímpar");

resposta 2:

public void imprimeParOuImpar(int x) {

if (x == 0){

System.out.println("O número não pode ser zero");

else if (x % 2 == 0){

System.out.println("Par");
} else {

System.out.println("Ímpar");

resposta 3:

public void ParOuImpar(int x) {

System.out.println(x % 2 == 0 ? "Par" : "Ímpar");

Questão 29

Crie uma classe que representa um Produto. Um produto possui como atributos um nome
(texto), um valor (ponto flutuante) e uma quantidade em estoque (inteiro). Esta classe deve
possuir:

● 2 construtores (criados a seu critério)


● Métodos de acesso GET
● Métodos de acesso SET
● Método que imprimeInfo, que imprime as informações de forma legível e organizada

Nesta mesma classe, crie o método main. No main, crie o seguinte produto: Algodão que custa
R$5,45, contendo 34 em estoque. Imprima as informações do objeto.

Questão 30

Crie um método que recebe um inteiro x por parâmetro. O método deve pedir para o usuário
digitar x números com ponto flutuante pelo teclado. Ao final, seu programa deve imprimir
todos os números digitados. Dica: armazene-os em uma String e concatene os valores
digitados. No final, imprima a String.

Você também pode gostar