Passagem de variável..!

Tenho uma grande dúvida estou fazendo um programa que minha lógica necessita de passar uma variavel de um metodo para o outro mais eu não estou conseguindo passar me falaram sobre variável global mais eu não tenho ideia de como essa variavel funciona vo deixar meu códico aqui embaixo pra ficar mais fácil a visualização da minha dúvida por favor se alguém souber sobre variavel gobal me explique!

/*
Crie um aplicativo que receba os dados de 5 times da Copa:
NOME
PONTOS
SALDO DE GOLS

Os dados devem ser armazenados em vetores de 5 posições.

Crie metodos para efetuar os seguintes calculos:

a) Calcular a Média do número de PONTOS
b) Calcular o NOME do Time Perdedor (O que tiver o menor número de pontos, em caso
   de empate, verificar o menor saldo de gols)

Obs: Validar as entradas de PONTOS e SALDO DE GOLS, para não aceitar valores negativos.
 

*/

import javax.swing.*;

public class P3N14
{
	public static void main(String args[])
	{
		String nome[]= new String[5],saida;
		double pontos[]= new double [5],saldo[]= new double [5];
		JTextArea texto = new JTextArea(20,20);
		saida="Prova 3 \n";

	
		
		for(int i=0;i<5;i++)
		{
			nome[i]=JOptionPane.showInputDialog("Dígite o nome do "+(i+1)+"º time");
			do
			pontos[i]=Double.parseDouble(JOptionPane.showInputDialog("Dígite a quantidade de pontos do "+(i+1)+"° time"));
			while(pontos[i]<0);
		
			//*******************
			do
			saldo[i]=Double.parseDouble(JOptionPane.showInputDialog("Dígite o saldo de gols do "+(i+1)+"º time"));
			while(pontos[i]<0);
			
			media(pontos);
			ganhador(pontos,saldo);
			Nomedoganhador(nome);
			
		}
		
		saida+=ganhador(pontos,saldo);
		texto.setText(saida);
		JOptionPane.showMessageDialog(null,texto);
		
	}
	
	public static double media(double p[])
	{
		double total=0;
		for(int i=0;i<5;i++)
		{
			total+=p[i];
		}
		
		return total/5;
	}
	//**********************************
	public static double ganhador(double p[],double s[])
	{
		double gam[] =new double [5],menor=0,aux=0;
		
		for(int i=0;i<5;i++)
		{
			gam[i]=p[i];
		}
		
		menor=gam[0];
		for(int i=0;i<5;i++)
		{
			if(gam[i]<menor)
			{
				menor=gam[i];
				aux=i;// AQUI ESTÁ MINHA DÚVIVA QUERO PASSAR ESSA VARIAVEL PARA O METODO Nomedoganhador();
			}
		}
		return aux;		
	}
	//**********************************
	public static Nomedoganhador(String n[])
	{
		String nome[]=new String[5];
		
		for(int i=0;i<5;i++)//QUERO PASSAR PARA ESTE MÉTODO!
		{
			if()
		}
		
	}
	
}

imagino duas opções

  1. colocar essa variavel como retorno do metodo ganhador.
    passar essa variavel por parametro no outro metodo

  2. criar um atributo da classe pra essa variavel

Creio que variável global é atributo.
Para criar um atributo você define uma variavel depois
da declaração da classe.

public class P3N14 {
double ganhador;

}

Atributo é igual a váriavel que você define dentro de um método, porém ele serve para todos os métodos.

Outra solução seria da o return no método que você quer mandar, e receber ele como parametro no método que você quer receber a váriavel.