1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problema simples com vetores 2 (sou iniciante)

Novo código que fiz, mas ainda com o mesmo erro de baixo:

public static void main(String[] args) {
        Scanner leia=new Scanner(System.in);
        int i,n=0;
        float maior,menor;

        System.out.print("Digite o número de alunos: ");
        n=leia.nextInt();
        String nome[]=new String[n];
        float peso[]=new float[n];
        for (i=0;i<n;i++){
            System.out.print("Digite o nome do aluno "+(i+1)+": ");
            nome[i]=leia.nextLine();
        }
        System.out.print("Digite o peso do aluno 1: ");
        peso[0]=leia.nextFloat();
        maior=peso[0];
        menor=peso[0];
        for(i=1;i<n;i++){
            System.out.print("Digite o peso do aluno "+(i+1)+": ");
            peso[i]=leia.nextFloat();
            if(peso[i]>=60 & peso[i]<=70){
                System.out.print(nome[i]);
            }
            if(peso[i]>maior){
                maior=peso[i];
            }
            else if(peso[i]<menor){
                menor=peso[i];
            }
        }
        System.out.print("O maior peso é "+maior+" e o menor é "+menor+".");
    }

--

Consegui resolver o erro que dava anteriormente pela ajuda do amigo. Mas agora está dando erro na saída. Gostaria de saber porque a saída está sendo assim:

Digite o número de alunos: 3
Digite o nome do aluno 1: Digite o nome do aluno 2:

Quando digito o número de alunos, era pra entrar no laço do for para perguntar pelo nome de todos os alunos, após entrar no laço para digitação do peso de cada um. Por que está aparecendo como acima?

Grato!


Oi pessoal, estou com um problema em um exercício da faculdade. Fiz o código, mas está dando erro. O erro é este:

Digite o número de alunos: 3
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
Digite o nome do aluno 1:     at atividade3.Atividade3.main(Atividade3.java:17)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 4 segundos)

O programa que fiz é este:

public static void main(String[] args) {
        Scanner leia=new Scanner(System.in);
        int i,n=1;
        String nome[]=new String[n];
        float peso[]=new float[n],maior,menor;

        System.out.print("Digite o número de alunos: ");
        n=leia.nextInt();
        for (i=0;i<n;i++){
            System.out.print("Digite o nome do aluno "+(i+1)+": ");
            nome[i]=leia.nextLine();
        }
        System.out.print("Digite o peso do aluno 1: ");
        peso[0]=leia.nextFloat();
        maior=peso[0];
        menor=peso[0];
        for(i=1;i<n;i++){
            System.out.print("Digite o peso do aluno "+(i+1)+": ");
            peso[i]=leia.nextFloat();
            if(peso[i]>=60 & peso[i]<=70){
                System.out.print(nome[i]);
            }
            if(peso[i]>maior){
                maior=peso[i];
            }
            else if(peso[i]<menor){
                menor=peso[i];
            }
        }
        System.out.print("O maior peso é "+maior+" e o menor é "+menor+".");
    }

A linha 17 é q que tem isso: nome[i]=leia.nextLine();

Desde já agradeço pela atenção e prestatividade!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags java ou faça a sua própria pergunta.