Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

danielswater

Funções

Recommended Posts

E ai pessoal beleza?

 

E o seguinte, carrego uma dúvida a bastante tempo, desde quando estava estudando lógica e ate agora não consegui sanar. Uma função só retorna 1 e somente 1 resultado? Por exemplo, se eu quiser fazer um programa que mostre o total de numeros iguais é possível? até tentei fazer, porem, nesse meu programa o usuário digita somente 2 vezes (1 para o primeiro e outra para o segundo, nao respeitando o comando for.

Segue o codigo:

 

import javax.swing.*;

public class teste {

public static void main(String arg[])

{

/* fazer um programa que faça o usuario digitar 10 numeros e verificar a quantidade de numeros iguais*/

int n1,n2,tot;


n1=Integer.parseInt(JOptionPane.showInputDialog("Digite um numero:"));
n2=Integer.parseInt(JOptionPane.showInputDialog("Digite outro numero:"));
tot=calc(n1,n2);

JOptionPane.showMessageDialog(null,"O TOTAL DE NUMEROS IGUAIS E: "+tot);

}


/*começo da função*/

public static int calc(int n1, int n2){

int tota=0;

for(int i=1;i<=10;i++)

if(n1==n2)
tota=tota+1;

return tota;

}

}

Alguem pode me explicar como realmente funciona uma função?

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um método (função) retorna apenas um valor. Porém, esse valor pode ser um tipo primitivo ou definido pelo usuário. Por exemplo, você pode ter um método que retorna um número inteiro e outro que retorna uma matriz de números inteiros. No seu caso, basta definir o método calc pra retornar uma matriz de inteiros.

 

public int[] calc(int n1, int n2) {
   int[] numeros = new int[10];
   return numeros;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

...esse valor pode ser um tipo primitivo ou definido pelo usuário.

 

Em orientação a objetos, uma função também pode retornar um objeto.

 

Sim, é verdade. E um objeto é um tipo definido pelo usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu Vergil e Prog pelas respostas.

 

Como estou começando agora em POO, vcs acham que devo me preocupar por nao entender completamente como funciona uma função? Ou quando eu estiver mais afundo em POO vou poder sanar de vez essa minha dúvida?

 

E engraçado isso porque meu professor de logica 2 em sua apostila, pedia exercicios de vetores e matrizes usando função. So que pela respostas de vcs, isso só e possivel quando estiver em POO, caso contrario retorna só um valor (pelo menos isso que entendi). No visualg eu tentei de todas as maneiras possíveis e nunca deu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que você tem que se preocupar, sim. Métodos são utilizados não só em programação orientada a objetos, mas também em programação estruturada, como C. Para efeito de esclarecimento, métodos e funções são a mesma coisa. A diferença é que em POO usa-se o termo método.

 

Em programação estruturada as funções são vistas como módulos. Uma forma de deixar o código mais legível e fácil de manter. Já em Programação Orientada a Objetos, os métodos têm um papel mais específico que vão desde encapsulamento a definição de comportamento de classe. Portanto, é melhor entender função agora pra não ter maiores dificuldades ao estudar POO.

 

Como disse, uma função pode retornar nada (void), tipos primitivos ou definidos pelo usuário. As variáveis indexadas ou matrizes também se encaixam nesse grupo. Só não posso dizer que isso funciona no VisualG. http://forum.imasters.com.br/public/style_emoticons/default/natal_tongue.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.