Dúvida no funcionamento de parâmetros, métodos e interface gráfica

Estou iniciando agora no java e estou criando um programa pra treinar, apenas conheço C e não estou conseguindo utilizar uma função de uma classe em outra, como devo proceder?
quando tento compilar a classe TestePeitoral eu tenho o seguinte erro:
"TestePeitoral.java:32: error: ‘.class’ expected exercicioPeitoral.escolherExercicios(exercicioPeitoral[]);

                                       ^

1 error"

não entendi muito bem como devo passar esse parâmetro para o método, e também se por acaso alguém tiver uma ideia melhor de como randomizar os exercícios seria de grande ajuda.

public class TestePeitoral
{
    //Atributos da classe
    Exercicios exercicioPeitoral[] = new Exercicios[13];
    //Métodos
    public void instanciarVetores()
    {
        for (i=0;i<13;i++)
        {
            this.exercicioPeitoral[i] = new Exercicios();
        }
    }
    public void inicializarExercicios()
    {
        this.exercicioPeitoral[0].exercicio = "Supino Reto com Dumblels";
        this.exercicioPeitoral[1].exercicio = "Supino Reto com Barra";
        this.exercicioPeitoral[2].exercicio = "Supino Inclinado com Dumblels";
        this.exercicioPeitoral[3].exercicio = "Supino Inclinado com Barra";
        this.exercicioPeitoral[4].exercicio = "Supino Declinado com Dumblels";
        this.exercicioPeitoral[5].exercicio = "Supino Declinado com Barra";
        this.exercicioPeitoral[6].exercicio = "Crucifixo Reto";
        this.exercicioPeitoral[7].exercicio = "Crucifixo Inclinado";
        this.exercicioPeitoral[8].exercicio = "Crucifixo Declinado";
        this.exercicioPeitoral[9].exercicio = "Crucifixo Peck Deck";
        this.exercicioPeitoral[10].exercicio = "Crucifixo Pulley";
        this.exercicioPeitoral[11].exercicio = "Pullover";
        this.exercicioPeitoral[12].exercicio = "Flexão";
    }
    public void sorteioExercicios()
    {
        exercicioPeitoral.escolherExercicios(exercicioPeitoral[]);
    }
}
import java.util.Random;
public class Exercicios
{   
    //Atributos
    String exercicio;
    String tipoSerie;
    int intensidade;
    //Métodos
    public void escolherExercicios(Exercicios[] grupoMuscular)
    {
        int i;
        int posicaoVetor;
        int sorteados[] = new int[4];
        Random aleatorio = new Random();
        for (i=0;i<4;i++)
        {
            posicaoVetor = aleatorio.nextInt (grupoMuscular.length);
            sorteados[i]=posicaoVetor;
            if (i>0)
            {
                while (sorteados[(i-1)] == posicaoVetor)
                {
                    posicaoVetor=aleatorio.nextInt (grupoMuscular.length);
                }
            }
            System.out.println("    "+grupoMuscular[posicaoVetor].exercicio+"");

        }
    }
}

Por fim gostaria de saber se existe alguma forma de cirar uma interface gráfica sem usar IDE, pois para estudar e memorizar melhor a linguagem eu estou usando apenas editor de texto de terminal.

Desde já agradeço!

exercicioPeitoral é um array. Você está tentando acessar o um metodo que pertence a classe Exercícios, acredito que seja isso o erro!

Você pode tentar fazer isso, talvez não seja a melhor maneira:

public void sorteioExercicios(){
    Exercicio.escolherExercicios(exercicioPeitoral[]);
}

E na classe Exercícios, deixe o método estático:

public static void escolherExercicios(Exercicio[] grupoMuscular){

       [...]
}

Sim! Você pode usar a biblioteca Swing ou JavaFX, existe alguns materiais na internet!

Sobre o código, fiz as alterações que citou, o erro continua o mesmo,
sobre a interface gráfica vou estar pesquisando agora, agradeço muito!

Pode mostrar o código e o erro de novo?

1 curtida
import java.util.Random;
public class Exercicios
{   
    //Atributos
    String exercicio;;
    String tipoSerie;
    int intensidade;
    //Métodos
    public static void escolherExercicios(Exercicios[] grupoMuscular)
    {
        int i;
        int posicaoVetor;
        int sorteados[] = new int[4];
        Random aleatorio = new Random();
        for (i=0;i<4;i++)
        {
            posicaoVetor = aleatorio.nextInt (grupoMuscular.length);
            sorteados[i]=posicaoVetor;
            if (i>0)
            {
                while (sorteados[(i-1)] == posicaoVetor)
                {
                    posicaoVetor=aleatorio.nextInt (grupoMuscular.length);
                }
            }
            System.out.println("    "+grupoMuscular[posicaoVetor].exercicio+"");

        }
    }
}
public class TestePeitoral
{
    //Atributos da classe
    Exercicios exercicioPeitoral[] = new Exercicios[13];
    //Métodos
    public void instanciarVetores()
    {
        for (i=0;i<13;i++)
        {
            this.exercicioPeitoral[i] = new Exercicios();
        }
    }
    public void inicializarExercicios()
    {
        this.exercicioPeitoral.instanciarVetores();
        this.exercicioPeitoral[0].exercicio = "Supino Reto com Dumblels";
        this.exercicioPeitoral[1].exercicio = "Supino Reto com Barra";
        this.exercicioPeitoral[2].exercicio = "Supino Inclinado com Dumblels";
        this.exercicioPeitoral[3].exercicio = "Supino Inclinado com Barra";
        this.exercicioPeitoral[4].exercicio = "Supino Declinado com Dumblels";
        this.exercicioPeitoral[5].exercicio = "Supino Declinado com Barra";
        this.exercicioPeitoral[6].exercicio = "Crucifixo Reto";
        this.exercicioPeitoral[7].exercicio = "Crucifixo Inclinado";
        this.exercicioPeitoral[8].exercicio = "Crucifixo Declinado";
        this.exercicioPeitoral[9].exercicio = "Crucifixo Peck Deck";
        this.exercicioPeitoral[10].exercicio = "Crucifixo Pulley";
        this.exercicioPeitoral[11].exercicio = "Pullover";
        this.exercicioPeitoral[12].exercicio = "Flexão";
    }
    public void sorteioExercicios()
    {
        Exercicio.escolherExercicios(exercicioPeitoral[]);
    }
}

Captura%20de%20tela%20de%202020-03-14%2016-59-22

Tente assim(tava faltando um s em Exercicios e não precisa do [ ]):

Exercicios.escolherExercicios(exerciciosPeitoral);

1 curtida

Essa parte foi resolvida, agora só me falta conseguir resolver o método de instanciar vetores que deu um erro agora.
Muito obrigado!

Qual?

consegui resolver, foi só um erro de sintaxe, muito obrigado mesmo, agora posso passar pra próxima fase

1 curtida