Alguém pode me dizer o que tem de errado com esse código? Fiz ele a pouco no Eclipse, testei, porém, não sei por que a segunda condição, onde (b>a) não apresenta a mensagem no console. Estou a horas olhando o código e não sei o que fiz de errado.
Na primeira condição, o código funciona numa boa. Agora quando faço o teste com números 2 e 12, por exemplo, a mensagem não aparece, é como se o segundo bloco estivesse sendo ignorado. Alguém sabe me dizer o que tem de errado? Sei que a pergunta parece ser boba, mas sou iniciante. Desde já agradeço
// 26.Receba 2 números inteiros. Verifique e mostre se o maior número é múltiplo do menor
package passeiEmAlgoritmos;
import java.util.Scanner;
public class Ex26_Multiplo {
public static void main(String[] args) {
int a, b;
Scanner leia = new Scanner (System.in);
System.out.println("Informe um número inteiro:");
a= leia.nextInt();
System.out.println("Informe outro número inteiro:");
b= leia.nextInt();
if (a > b) {
if (a % b == 0) {
System.out.println("O maior num" + a + " é múltiplo do menor " + b);
}
else {
if (b > a){
if (b % a == 0){
System.out.println("O maior num." + b + " é múltiplo do menor num. "+ a);
}
else {
System.out.println("O maior número não é múltiplo do menor.");
}
}
}
}
}
Se indentar corretamente o seu código, vai ver onde está o erro:
// 26.Receba 2 números inteiros. Verifique e mostre se o maior número é múltiplo do menor
package passeiEmAlgoritmos;
import java.util.Scanner;
public class Ex26_Multiplo {
public static void main(String[] args) {
int a, b;
Scanner leia = new Scanner (System.in);
System.out.println("Informe um número inteiro:");
a= leia.nextInt();
System.out.println("Informe outro número inteiro:");
b= leia.nextInt();
if (a > b) {
if (a % b == 0) {
System.out.println("O maior num" + a + " é múltiplo do menor " + b);
} else {
if (b > a){
if (b % a == 0){
System.out.println("O maior num." + b + " é múltiplo do menor num. "+ a);
} else {
System.out.println("O maior número não é múltiplo do menor.");
}
}
}
}
}
}
Agradeço pela sua resposta, mas confesso que mesmo após você ter indentado o código, sigo sem saber o que fiz de errado. Eu já tentei reescrever de outras formas aqui e não obtive sucesso. Vou seguir tentando, uma hora vai! Valeu
Acabei de resolver aqui com a ajuda de um colega. De qualquer forma, agradeço por você ter sinalizado que tinha algo errado com a indentação. Esse exercício me ajudou a perceber que ainda estou me perdendo nas aberturas e fechamentos de chave em Java. Enfim, até errando nós aprendemos. Gratidão!
package passeiEmAlgoritmos;
import java.util.Scanner;
public class Teste {
public static void main(String[] args) {
int a, b;
Scanner leia = new Scanner (System.in);
System.out.println("Informe um número inteiro:");
a= leia.nextInt();
System.out.println("Informe outro número inteiro:");
b= leia.nextInt();
if (a > b) {
if (a % b == 0){
System.out.println("O maior num " + a + " é múltiplo do menor " + b);
}else{
System.out.println("O maior número " + a + " não é múltiplo do menor " + b);
}
} else {
if (b > a){
if (b % a == 0){
System.out.println("O maior num." + b + " é múltiplo do menor num. " + a);
} else {
System.out.println("O maior número " + b + " não é múltiplo do menor." + a);
}
}
}
}
}