Ajuda com metodos

4 respostas
Maicon_Henrrique

Então é o seguinte , eu começei mecher em java a uma semana, li e agora to começando a pegar a pratica..
Eu fiz essa classe que , por meio de metodos, pega 2 numeors do usuario e adiciona,subtrai,divide ou multiplica os dois, exibindo o valor final,
Eu fiz 4 metodos, respectivos ao tipo de operação
Tudo ocorre OK, o unico problema é que no final da execução o valor que mostra (Resultado da expressao) retorna com valor 0
Nao consegui identificar o erro
Ta ai o codigo, se puderem me ajudar...
Desculpe os erros de portugues Obrigado!

//
import java.util.Scanner;
public class Dog {
  //---------------------------------------------
int n1,n2;
	
		 void adicao(){

			System.out.println("O resultado da adicão é :"+(n1+n2));	
		}
		 void multiplicacao(){

			System.out.println("O resultado da multiplicação é :"+(n1*n2));		
		}
		 void divisao(){


			System.out.println("O resultado da divisão é :"+(n1/n2));
		}
	     void subtracao(){

			System.out.println("O resultado da subtração é :"+ (n1-n2));
	    }

  //-----------------------------------------------
	        public static void main(String[] args) {
	        	int n1,n2,escolha;
	        	Scanner read = new Scanner(System.in);
	        	System.out.println ("Digite o primeiro numero das operações! :");
	        	System.out.print ("Valor 1 :");
	        	n1 = read.nextInt();
	        	System.out.print ("Valor 2 :");	
	        	n2 = read.nextInt();
	        	System.out.print ("Deseja fazer qual operação?");
	        	System.out.println ("1=Adicão, 2=Multiplicação, 3=Divisão ,4=Subtração");
	        	escolha = read.nextInt();
	        	Dog d = new Dog();
	            switch (escolha) {
	            case (1):
	            d.adicao();
	            break;
	            case (2):
	            d.multiplicacao();
	            break;
	            case (3):
	            d.divisao();
	            break;
	            case (4):
	            d.subtracao();
	            break;}
	            System.out.println ("Obrigado por Utilizar!");

	}

}

4 Respostas

R

tira aquele int n1,n2 do método MAIN
elas já são criadas no global… dae qndo vc atribui no método main, os valores vão pro método local e o global continua zero

Maicon_Henrrique

Se eu tirar o n1 e n2 do metodo main da o seguinte erro

(Eclipse)
Exception in thread “main” java.lang.Error: Unresolved compilation problems:
Cannot make a static reference to the non-static field n1
Cannot make a static reference to the non-static field n2

at Dog.main(Dog.java:30)
R

verdade… esqueci desse detalhe hahaha

la em cima, abaixo da classe dog, ao invés de

int n1,n2;

coloque

public static int n1,n2;
Maicon_Henrrique

Muito obrigado!

Criado 2 de julho de 2011
Ultima resposta 2 de jul. de 2011
Respostas 4
Participantes 2