Hola DG.
■ Escriba un programa que convierta a un número entero ingresado por teclado a hexadecimal y a binario.
►Podría ser con los métodos "toBinary" y "toHex" predefinidos en Java.
import java.util.Scanner;
public class Convertir {
public static void main (String args[]) {
Scanner sc = new Scanner(System.in);
int num;
System.out.print ("Ingresa numero: ");
num = sc.nextInt();
String bin = Integer.toBinaryString (num);
String hex = Integer.toHexString (num);
System.out.println ("Binario: " + bin);
System.out.println ("Hexadecimal: " + hex);
}
}
■ Escriba un programa que simule el lanzamiento de un dado una y otra vez hasta que el usuario desee terminar.
►Sería mediante un ciclo "do-while" que se repita hasta que el usuario indique que ya no, y la forma de obtener el valor de dado sería mediante un "random", aquí el código.
import java.util.Scanner;
public class Dado {
public static void main (String args[]) {
Scanner sc = new Scanner(System.in);
int op = 0;
do {
System.out.println ("Lanzar dado?
1) Si
2) No");
op = sc.nextInt();
if (op == 1) {
int n = (int)Math.round ((Math.random()*6));
if (n == 0)
n = n + 1;
System.out.println ("Resultado: " + n + "
");
}
} while (op != 2);
}
}
■ Escriba un programa que guarde en un vector los números primos gemelos comprendidos entre el 1 y el 1000. Mostrar el vector resultante.
►Mediante un ciclo for que vaya desde 5 hasta 1000 y una función que evalue cada número del ciclo verificando si es primo y de serlo verificar también el anterior, es decir, i - 2, si ambos son primos se almacenan en el vector. Entre 1 y 1000 hay 35 primos gemelos, por lo tanto el vector debe ser de tamaño 70 para guardar las 35 parejas, el código sería así:
public class PrimosG {
public static boolean EsPrimo(int num) {
boolean primo = false;
int div = 0;
for (int x=2; x<num; x++) {
if (num % x == 0) {
div++;
}
if (div > 0)
break;
}
if (div == 0)
primo = true;
else
primo = false;
return primo;
}
public static void main (String args[]) {
int vector[] = new int [70];
boolean p1 = false, p2 = false;
int anterior = 0, cont = 0;
for (int i=5; i<1000; i++) {
p1 = EsPrimo(i);
if (p1) {
anterior = i - 2;
p2 = EsPrimo(anterior);
}
if (p1 && p2) { //p1 y p2 son "true"
vector[cont] = anterior;
cont++;
vector[cont] = i;
cont++;
}
}
//Mostrar el vector
for (int y=0; y<70; y++) {
System.out.print (vector[y] + " - ");
if (y % 2 !=0)
System.out.println();
}
}
}
//El método "EsPrimo" verifica cada número y devuelve "true" si es primo y "false" si no lo es.
//Si ambos valores son "true", los números se almacenan en el arreglo.
Para cualquier duda agrega detalles, saludos!! ;)