Interface com o Usuário

2 respostas
S

Quando vou utilizar a interface com o usuário, recomenda-se que esta esteja inserida no programa principal (main). Porém, quero criar uma classe a parte denominada InterfaceUsuario. Como fazer para que o programa principal pegue os dados recolhidos na classe InterfaceUsuario? No caso, os dados a serem recolhidos são os dois números para realizar as operações matemáticas.

import java.io.*;
import java.util.Scanner;

public class Soma 
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner(System.in);
		System.out.print("Digite o primeiro número: ");
		double a = s.nextDouble ();
		System.out.println("Digite o segundo número: ");
		double b = s.nextDouble ();
		double resultado1 = a + b;
		double resultado2 = a - b;
		double resultado3 = a*b;
		double resultado4 = a/b;
		System.out.println("O resultado da soma é: " + resultado1 + "\n");
		System.out.println("O resultado da subtração é: "  + resultado2 + "\n");
		System.out.println("O resultado da multiplicação é: " + resultado3 + "\n");
		System.out.println("O resultado da divisão é: " + resultado4 + "\n");
	}

}

2 Respostas

wagnerfrancisco
SunSun:
Quando vou utilizar a interface com o usuário, recomenda-se que esta esteja inserida no programa principal (main).

Como assim? O método main é somente o ponto de partida do teu programa. Não existe recomendação para deixar a interface nele. O comum é ele simplesmente instanciar uma classe que tem (ou é) um frame principal, que é composto de diversas outras classes que compõe a interface do usuário.

Porém, quero criar uma classe a parte denominada InterfaceUsuario. Como fazer para que o programa principal pegue os dados recolhidos na classe InterfaceUsuario? No caso, os dados a serem recolhidos são os dois números para realizar as operações matemáticas.
import java.io.*;
import java.util.Scanner;

public class Soma 
{
	public static void main(String[] args) 
	{
		Scanner s = new Scanner(System.in);
		System.out.print("Digite o primeiro número: ");
		double a = s.nextDouble ();
		System.out.println("Digite o segundo número: ");
		double b = s.nextDouble ();
		double resultado1 = a + b;
		double resultado2 = a - b;
		double resultado3 = a*b;
		double resultado4 = a/b;
		System.out.println("O resultado da soma é: " + resultado1 + "\n");
		System.out.println("O resultado da subtração é: "  + resultado2 + "\n");
		System.out.println("O resultado da multiplicação é: " + resultado3 + "\n");
		System.out.println("O resultado da divisão é: " + resultado4 + "\n");
	}

}

Já criou a classe InterfaceUsuario? Ela vai ser texto mesmo, usando Scanner? Se for, uma opção é armazenar os valores dentro dela internamente e depois acessá-los por meio de um método. Poste o que você tem/quais são suas ideias para ficar mais fácil entender o que vc quer.

S

Obrigado. Consegui entender o que devia ser feito. Obrigado pelas dicas.

Criado 24 de agosto de 2012
Ultima resposta 30 de ago. de 2012
Respostas 2
Participantes 2