Caros amigos do imenso fórum,
Preciso criar uma função com dois parâmetros numéricos capaz de
verificar qual número é o maior e retorná-lo
Se alguém puder dar uma mãozinha, segue o código:
import java.util.Scanner;
public class Número_Maior {
public static int Número_Maior(int number1, int number2) {
Scanner sc = new Scanner(System.in);
System.out.println("Digite o primeiro número");
number1 = sc.nextInt();
System.out.println("Digite o segundo número");
number2 = sc.nextInt();
if (number1 > number2) {
return number1;
} else {
return number2;
}
}
public static void main(String[] args) {
String resultado = Número_Maior();
System.out.println("Número maior é = " +resultado);
}
}
O primeiro erro é que o método tá esperando dois parâmetros, mas na chamada dele dentro do método main()
não tem nenhum parâmetro passado. Ou seja, se espera que seja Número_Maior(int num1, int num2)
e você está chamando Número_Maior()
.
Outra coisa:
Se tá recebendo como parâmetro, então a leitura do console com o Scanner
deveria ser no método main
e passar o valores como parâmetro. Porque se tu passar como parâmetro e depois atribuir os valores escritos no console dentro do método Número_Maior(int num1, int num2)
, os valores serão sobrescritos.
A ideia de como consertar foi passada.
Tenta consertar e se não conseguir volta a pedir ajuda.
No mais, a lógica de verificar se um número é maior que o outro está correta.
Bom, lucas… obrigado pela resposta. Tentei fazer como você sugeriu mas deu mais erros, o mais próximo que cheguei foi assim:
import java.util.Scanner;
public class Número_Maior {
public static String Maior_número(int number1, int number2) {
Scanner sc = new Scanner(System.in);
System.out.println("Digite o primeiro número");
number1 = sc.nextInt();
System.out.println("Digite o segundo número");
number2 = sc.nextInt();
if (number1 > number2) {
return "Número Par";
} else {
return "Número Ímpar";
}
}
public static void main(String[] args) {
String resultado1 = Maior_número();
System.out.println("Valor informado é " + resultado1);
String resultado2 = Maior_número();
System.out.println("Valor informado é " + resultado2);
}
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Digite o primeiro número");
int number1 = sc.nextInt();
System.out.println("Digite o segundo número");
int number2 = sc.nextInt();
String resultado = Maior_número(number1, number2);
System.out.println(resultado);
}
public static String Maior_número(int number1, int number2) {
if (number1 > number2) {
return "Número Par";
} else {
return "Número Ímpar";
}
}
pronto, agora da pra vc começar…hehe
A sua resposta não está correta, mas fico feliz que tenha tentado. É errando que se aprende e a gente que gosta de ajudar quem se empenha.
O @blayd2015 deu a resposta. Compara com o que tava fazendo antes e vê o que fez de errado.
Vi também que na primeira resposta queria saber o maior e na segunda quer saber quem é par e quem é ímpar. A verificação de par ou ímpar está errado. Pra saber quem é par ou ímpar é simples: se o resto de uma divisão for 0 o número é par, se o resto de uma divisão for 1, então o número é ímpar.
Pra verificar o resto de uma divisão recomendo ver o operador matemático mod
(é um sinal de porcetagem - %
).