Escreva um programa que peça ao usuário um números inteiro

10 respostas
java
J

Alguém pode me ajudar com algum código, tentei a semana toda fazer porém só da erro.

10 Respostas

J

Poste o código que você já fez! Para podemos te ajudar a corrigir!

J

2 é divisor de 4, porque 4 dividido por 2 produz um resto igual a 0. Em código fica assim:

private boolean ehDivisor(int x, int y) {
    // "%" significa o resto, então se o resto for 0 vai retornar true!
    return (x % y == 0);
}
J

então era só isto que estava dando erro amigo?

J

Um detalhe importante, essa função determina se o número y é um divisor de x. Então:

ehDivisor(4,2) // retorna true, porque 2 é um divisor de 4!
ehDivisor(4,3) // retorna false, porque 3 não é divisor de 4!

A questão também pede para lista todos os divisores de um número usando essa função, você deve fazer isso!

J

Vocé deve chamar a função. Uma solução pronta:

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);
    System.out.print("Digite um número: ");
    int numero = scanner.nextInt();
     
    System.out.println("Divisores:");
    for(int i = 1; i <= numero; i++){
        if(ehDivisor(numero, i){
            System.out.println(i);
        }
    }

}

private static boolean ehDivisor(int x, int y) {
    // "%" significa o resto, então se o resto for 0 vai retornar true!
    return (x % y == 0);
}
J

ta dando erro de sintaxe, será o que é?

J

Olha de novo, eu tinha digitado n no lugar de numero e esqueci da palavra static na declaração da função ehDivisor, olha novamente a solução acima, eu já corrigi!

J

o erro está nesse trecho, tentei por " " porém nada, estou usando o eclipse para testar o código.

System.out.println(Divisores:);

for(int i = 1; i <= numero; i++){

if(ehDivisor(numero, i){

System.out.println(i);

}

}
}

private static boolean ehDivisor(int x, int y) {
    // "%" significa o resto, então se o resto for 0 vai retornar true!
    return (x % y == 0);
}
J

Java dá uma dor de cabeça rsrs, o código está assim, porém continua dando erro.

public class questao1 {
public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);
System.out.print("Digite um número: ");
int numero = scanner.nextInt();
 
System.out.println("Divisores:");
for(int i = 1; i <= numero; i++){
    if(ehDivisor(numero, i){
        System.out.println(i);
    }
}

}

private static boolean ehDivisor(int x, int y) {

// % significa o resto, então se o resto for 0 vai retornar true!

return (x % y == 0);

}
J

Está faltando uma chave “}” no final e um “)” no if !

public class questao1 {
   public static void main(String[] args) {

      Scanner scanner = new Scanner(System.in);
      System.out.print("Digite um número: ");
      int numero = scanner.nextInt();
 
      System.out.println("Divisores:");
      for(int i = 1; i <= numero; i++){
           if(ehDivisor(numero, i)){
              System.out.println(i);
           }
       }
   }

   private static boolean ehDivisor(int x, int y) {
      // “%” significa o resto, então se o resto for 0 vai retornar true!
      return (x % y == 0);
   }
}
Criado 13 de junho de 2020
Ultima resposta 13 de jun. de 2020
Respostas 10
Participantes 2