TransWikia.com

Scanner não funcionando

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));
  }
}

One Answer

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

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP