Você está na página 1de 7

Capítulo 5 – Resolução em Java

Exe 1 – Método 1 por array simples:


public class Main {
public static void main(String[] args) {
double[] arrayDoublesUm = new double[12];
System.out.println(Arrays.toString(arrayDoublesUm));
}
}

Método 2 valores iniciados de maneira explícita:


import java.util.Arrays;

public class Main {


public static void main(String[] args) {
double[] arrayDoublesDois = {0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
0.0, 0.0};
System.out.println(Arrays.toString(arrayDoublesDois));
}
}
Exe 2 – Array de inteiros com os valores de 1 a 5
public class Main {
public static void main(String[] args) {
int[] array = {1, 2, 3, 4, 5};

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


System.out.println(array[i]);
}
}
}
Exe 3 – Média de 10 valores double
import java.util.Scanner;

public class Main {


public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);

double[] valores = new double[10];

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


System.out.print("Digite o valor " + (i + 1) + ": ");
valores[i] = scanner.nextDouble();
}

double soma = 0;
for (double valor : valores) {
soma += valor;
}

double media = soma / valores.length;

System.out.println("A média dos valores digitados é: " + media);

scanner.close();
}
}
Exe 4 –

Exe 5 – Diferença indexOf() e lastIndexOf()


indexOf(): Este método busca a primeira ocorrência da substring a partir do
início da string. Ele retorna a posição da primeira ocorrência encontrada. Se a
substring não for encontrada, ele retorna -1.
lastIndexOf(): Este método busca a última ocorrência da substring a partir do
final da string. Ele retorna a posição da última ocorrência encontrada. Se a
substring não for encontrada, ele também retorna -1.

Exe 6 – length() e charAt()


public class Main {
public static void main(String[] args) {
String texto = "I like Java";

int comprimento = texto.length();


System.out.println("Comprimento da string: " + comprimento);

char caractere = texto.charAt(2); // Obtendo o terceiro caractere (índice 2)


System.out.println("Caractere na posição 2: " + caractere);
}
}
Exe 7 – Encode 8 caracteres
public class Encoder {
private String chave;

public Encoder(String chave) {


if (chave.length() != 8) {
throw new IllegalArgumentException("A chave deve ter exatamente 8
caracteres");
}
this.chave = chave;
}

public String codificar(String mensagem) {


StringBuilder mensagemCodificada = new StringBuilder();
for (int i = 0; i < mensagem.length(); i++) {
char caractereOriginal = mensagem.charAt(i);
char caractereChave = chave.charAt(i % 8); // Ciclo pela chave

char caractereCodificado = (char) (caractereOriginal ^ caractereChave);

mensagemCodificada.append(caractereCodificado);
}
return mensagemCodificada.toString();
}

public String decodificar(String mensagemCodificada) {


return codificar(mensagemCodificada);
}

public static void main(String[] args) {


String chave = "mysecret"; // Chave de 8 caracteres
Encoder encoder = new Encoder(chave);

String mensagem = "Hello, world!";


String mensagemCodificada = encoder.codificar(mensagem);
System.out.println("Mensagem codificada: " + mensagemCodificada);

String mensagemDecodificada =
encoder.decodificar(mensagemCodificada);
System.out.println("Mensagem decodificada: " + mensagemDecodificada);
}
}

Exe 8 – bitwise
Não, os operadores bitwise não podem ser aplicados diretamente ao tipo
double em Java. Os operadores bitwise, como & (AND), | (OR), ^ (XOR), ~
(NOT), e os deslocamentos (<<, >>, >>>), são projetados para operar em
níveis de bits, manipulando os valores binários das variáveis.

Exe 9 – operador ?
y = (x < 0) ? 10 : 20;

Exe 10 – operador &


É um operador lógico AND neste caso pois neste contexto ‘a’ e ‘b’ são do tipo
boolean mas caso fossem do tipo ‘int’, ele atuaria como operador bitwise de
AND.

Exe 11 – Ultrapassar o fim de array e indexar array com valor negativo


Sim, é um erro ultrapassar o fim de um array e também é um erro indexar um
array com um valor negativo em Java. Ambas as ações podem levar a
exceções em tempo de execução.
Exe 12 – Operador de deslocamento à direita sem sinal
O operador de deslocamento para a direita sem sinal em Java é >>>. Esse
operador executa um deslocamento bit a bit para a direita nos valores dos bits
de um número, preenchendo os bits mais significativos (à esquerda) com
zeros.

Exe 13 –

Exe 14 –

Exe 15 – String pode controlar uma instrução switch?


Não, em Java, um objeto do tipo String não pode ser usado diretamente como
uma expressão em uma instrução switch. A instrução switch em Java só
suporta tipos numéricos inteiros (como int, byte, short, char) e valores enum.

Você também pode gostar