7
respostas

Como adicionar uma pontuação no final da lista de scores;


package scoregame;

import java.util.Scanner;

public class ScoreGame {

    public static void main(String[] args) {
        Scanner ler = new Scanner(System.in);

        //Declara as variaveis
        int codigo = 0;
        int i = 0;


        //Foi criado o vetor
        int lista[] = new int[100];

        //Utiliza o laço para escolher as opções
        do{
            System.out.println("Menu principal");    
            System.out.println("--------------");
            System.out.println("(0) Adicionar Pontuação no final da lista");
            System.out.println("(1) Adicionar Pontuação em uma dada posicção");
            System.out.println("(2) Remover uma pontuação de uma posição");
            System.out.println("(3) Remover uma pontuação de uma dada posição");
            System.out.println("(4) Remover todas as ocorrências de uma pontuação");
            System.out.println("(5) Verificar se uma pontuação está contida lista");
            System.out.println("(6) Buscar a maior pontuação na lista de scores");
            System.out.println("(7) Calcular a soma total de pontuação na lista de scores");
            System.out.println("(8) sair");

            System.out.println("");
            System.out.println("Escolha uma opção: ");
            codigo = ler.nextInt();
            //É feito um switch case para escolher uma das opções
            switch(codigo){
                case 0:
                    lista[i] = codigo;
                    break;
                case 1:
                    lista[i] = codigo;
                    break;
                case 2:
                    lista[i] = codigo;
                    break;
                case 3:
                    lista[i] = codigo;
                    break;
                case 4:
                    lista[i] = codigo;
                    break;
                case 5:
                    lista[i] = codigo;
                    break;
                case 6:
                    lista[i] = codigo;
                    break;
                case 7:
                    lista[i] = codigo;
                    break;
                default:
                    System.out.println("Você saiu do jogo");
            }
            i++;
        }while(codigo != 8);


    }

}

Ola pessoal, como eu faço isso? obrigado.

1. Adicionar uma pontuação no final da lista de scores. Adiciona a nova pontuação na primeira posição disponível no final da lista. Caso a lista já esteja no limite, a pontuação não é adicionada e a quantidade de elementos não é modificada.

7 respostas

Oi Guilherme, tudo bem ?

Cara você vai precisar ter uma variavel para controlar o numero de itens que tem e outra para ver qual a posição atual, ai acredito que ficaria mais fácil de você fazer o seu jogo :D

tudo bem cara!

Controlar que você fala é criar um loop para percorrer o vetor ?

Exatamente!

A entendi agora, vou tentar e aviso se der certo, valeu mesmo cara =D


package scoregamer;

import java.util.Scanner;

public class ScoreGamer {

    public static void main(String[] args) {
         Scanner ler = new Scanner(System.in);

        //Declara as variaveis
        int codigo = 0;
        int i = 0;
        int qtdVetor = 0;


        //Foi criado o vetor
        int lista[] = new int[100];

        //Utiliza o laço para escolher as opções
        do{
            System.out.println("Menu principal");    
            System.out.println("--------------");
            System.out.println("(0) Adicionar Pontuação no final da lista");
            System.out.println("(1) Adicionar Pontuação em uma dada posicção");
            System.out.println("(2) Remover uma pontuação de uma posição");
            System.out.println("(3) Remover uma pontuação de uma dada posição");
            System.out.println("(4) Remover todas as ocorrências de uma pontuação");
            System.out.println("(5) Verificar se uma pontuação está contida lista");
            System.out.println("(6) Buscar a maior pontuação na lista de scores");
            System.out.println("(7) Calcular a soma total de pontuação na lista de scores");
            System.out.println("(8) sair");

            System.out.println("");
            System.out.println("Escolha uma opção: ");
            codigo = ler.nextInt();
            //É feito um switch case para escolher uma das opções
            switch(codigo){
                case 0:
                    adicionarFinal(lista);
                    System.out.println("Digite a pontuação");
                    qtdVetor = ler.nextInt();     

                    for(i = 0; i < lista.length; i++){
                        System.out.println("Foi adicionado o numero "+qtdVetor);
                        System.out.println("VETOR = "+lista[i]);
                    }

                    break;
                case 1:
                    break;
                case 2:
                    break;
                case 3:
                    break;
                case 4:
                    break;
                case 5:
                    break;
                case 6:
                    break;
                case 7:
                    break;
                default:
                    System.out.println("Você saiu do jogo");
            }
            i++;
        }while(codigo != 8);

    }
    public static void adicionarFinal(int lista[]){

        //Aqui vai ser criado um laço para percorrer o vetor    
        for(int i = 0; i < lista.length; i++){
            if(lista[i] == 0){
                int qtdVetor = 0;
                lista[i] = qtdVetor;
            }
        }


    }


}

Aparece os 100 vetores mas tudo zerado, o que eu estou fazendo de errado?

Talvez ajude: Passar a variável qtdVetor como parâmetro para a função, ou transforma-la em uma variável global. Dessa forma deveria chamar a função após inserir o valor na variável. Talvez criar um contador para marcar em qual posição a pontuação foi inserida no vetor seria mais fácil que percorrer o vetor inteiro. Também não intendi muito bem o if dentro da função. Espero ter ajudado. Boa sorte com o algoritmo!

O if eu usei no caso de existir algum lugar vazio no vetor ele adicionava a pontuação, mas pensando melhor não faz muito sentido.