Programa em Java utilizando um método para calcular a quantidade de divisores de um número
12/01/2020
0
Prezados, boa tarde!
Estou com um exercício da faculdade, cujo enunciado é o seguinte:
"Elabore um programa que determine, para um conjunto de números inteiros positivos a serem introduzidos
pelo usuário, quantos são os divisores de cada um. Crie um método que calcule o número de divisores de
um número."
Eu elaborei o código, mas estou em dúvida em relação a como fazer para que o programa possibilite que eu
informe vários números de uma só vez, antes de apresentar o resultados da quantidade de seus divisores.
Alguém pode me ajudar?
import java.util.Scanner;
public class Tema6_1_1 {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero;
System.out.println("Informe o numero desejado: ");
numero = entrada.nextInt();
System.out.println("Quantidade de divisores do numero: " + calculaDivisor(numero));
entrada.close();
}
private static int calculaDivisor(int numero){
int resultado = 0;
for (int divisor=1; divisor<=numero; divisor++) {
if (numero % divisor == 0)
resultado++;
}
return resultado;
}
}
Estou com um exercício da faculdade, cujo enunciado é o seguinte:
"Elabore um programa que determine, para um conjunto de números inteiros positivos a serem introduzidos
pelo usuário, quantos são os divisores de cada um. Crie um método que calcule o número de divisores de
um número."
Eu elaborei o código, mas estou em dúvida em relação a como fazer para que o programa possibilite que eu
informe vários números de uma só vez, antes de apresentar o resultados da quantidade de seus divisores.
Alguém pode me ajudar?
import java.util.Scanner;
public class Tema6_1_1 {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
int numero;
System.out.println("Informe o numero desejado: ");
numero = entrada.nextInt();
System.out.println("Quantidade de divisores do numero: " + calculaDivisor(numero));
entrada.close();
}
private static int calculaDivisor(int numero){
int resultado = 0;
for (int divisor=1; divisor<=numero; divisor++) {
if (numero % divisor == 0)
resultado++;
}
return resultado;
}
}
João Medeiros
Curtir tópico
+ 0
Responder
Post mais votado
12/01/2020
Você pode usar arraylists e loops pra resolver esse problema, arraylists tem tamanho mutável, então você pode simplesmente ir adicionando números até cansar, crie um loop pra pegar os números, e coloque a impressão do resultado somente após esse loop se encerrar, eis um exemplo:
import java.util.ArrayList; import java.util.Scanner; public class Main { static int calcularDivisores(int numero){ int quantidade = 0; for(int i = 1; i <= numero; i++){ if(numero % i == 0){ quantidade++; } } return quantidade; } public static void main(String[] args) { boolean continuar = false; Scanner scan = new Scanner(System.in); ArrayList<Integer> numeros = new ArrayList(); ArrayList<Integer> divisores = new ArrayList(); do{ System.out.println("Digite um número: "); int numero = scan.nextInt(); numeros.add(numero); divisores.add(calcularDivisores(numero)); System.out.println("Deseja continuar?(s/n) "); String resposta = scan.next(); continuar = resposta.toUpperCase().equals("S"); }while(continuar); for(int i = 0; i < numeros.size(); i++){ System.out.println("O número " + numeros.get(i) + " possui " + divisores.get(i) + " divisores"); } } }
Sadasd
Responder
Mais Posts
12/01/2020
João Medeiros
Você pode usar arraylists e loops pra resolver esse problema, arraylists tem tamanho mutável, então você pode simplesmente ir adicionando números até cansar, crie um loop pra pegar os números, e coloque a impressão do resultado somente após esse loop se encerrar, eis um exemplo:
import java.util.ArrayList; import java.util.Scanner; public class Main { static int calcularDivisores(int numero){ int quantidade = 0; for(int i = 1; i <= numero; i++){ if(numero % i == 0){ quantidade++; } } return quantidade; } public static void main(String[] args) { boolean continuar = false; Scanner scan = new Scanner(System.in); ArrayList<Integer> numeros = new ArrayList(); ArrayList<Integer> divisores = new ArrayList(); do{ System.out.println("Digite um número: "); int numero = scan.nextInt(); numeros.add(numero); divisores.add(calcularDivisores(numero)); System.out.println("Deseja continuar?(s/n) "); String resposta = scan.next(); continuar = resposta.toUpperCase().equals("S"); }while(continuar); for(int i = 0; i < numeros.size(); i++){ System.out.println("O número " + numeros.get(i) + " possui " + divisores.get(i) + " divisores"); } } }
Valeu, Daniel!
Responder
Clique aqui para fazer login e interagir na Comunidade :)