Stack Overflow em Português Asked by João Vítor on September 28, 2020
Estou tentando fazer um programinha, mas o Scanner parece não estar funcional.
Sempre que coloco para printar ele retorna 0 independente dos números, sendo que era para retornar o maior número.
Ele na classe View funciona normal, porém queria implementar o Controller.
CODE:
Controller.java
import java.util.Scanner;
public class Controller {
int num1, num2;
public void getNums (){
Scanner scan = new Scanner(System.in);
num1 = scan.nextInt();
num2 = scan.nextInt();
}
}
MaiorNumero.java
public class MaiorNumero {
public int maiorNumero (int num1, int num2)
{
if (num1 > num2){
return num1;
}
else {
return num2;
}
}
}
View.java
public class View extends Controller {
public void requestNums(){
System.out.println("1º e 2º Número"
+"nex. 1 2"
+"n:");
}
public void printMaior(){
MaiorNumero mn = new MaiorNumero();
System.out.println(mn.maiorNumero(num1, num2));
}
}
Antes de mais, não sei que modelo MVC estás a usar, mas nos meus projetos o módulo View nunca extende o controller, cada um dos módulos deve ser totalmente independente! Na tua classe View, no método printMaior() estás a chamar o método maiorNumero e passas duas variáveis num1 e num2 que ainda não foram inicializadas (pelo menos no código que meteste aqui). Experimenta chamar o método getNums antes do maiorNumero:
public void printMaior(){
MaiorNumero mn = new MaiorNumero();
this.getNums();
System.out.println(mn.maiorNumero(num1, num2));
}
Correct answer by Benjamim Coelho on September 28, 2020
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP