Jump to content
Snulker

NullPointerException

Recommended Posts

Snulker

Boa tarde , sou iniciante em java e preciso de ajuda para resolver um erro no meu código. Este dá o erro  "Exception in thread "main" java.lang.NullPointerException" . Agradeço qualquer ajuda e obrigado .

package com.company;

import java.util.Scanner;

public class Main {
  public static void main(String[] args) {
    // write your code here
    Scanner in = new Scanner(System.in);
    Quadra[] quadra = new Quadra[Constantes.MAXQUADRAS];
    Jornadas[] jornadas = new Jornadas[Constantes.MAXJRNDS];
    int q = 0; int x;
    do {
      System.out.println("Menu Principal");
      System.out.println("1-Gestão de Quadras ");
      System.out.println("2–Gestão de Participantes");
      System.out.println("3–Gestão de Jornadas");
      System.out.println("4–Estatísticas ");
      System.out.println("0–Sair ");
      System.out.println("Insira a sua opçao deseada.");
      
      do {
        x = in.nextInt();
        if (0 > x || x > 5)
          System.out.println("Valor invalido.");
      } while (0 > x || x > 5);
      
      switch (x) {
        case 1:
          q=menuQuadras(quadra, q);
          break;
        case 2 ; 
          System.out.println("Em construção");
          break;
      }
      in.nextInt();
    } while (x != 0);
  }

  private static int menuQuadras(Quadra[] quadra , int q) {
    Scanner in = new Scanner(System.in);
    int x;
    System.out.println("Menu Gestão de Quadras");
    System.out.println("1-Inserir Quadra");
    System.out.println("2-Eliminar Quadra");
    System.out.println("3-Consultar Quadra por nome ");
    System.out.println("4-Consultar Quadra com mais cavalos");
    System.out.println("5-Listar Todas as Quadras");
    System.out.println("0–Sair ");
    System.out.println("Insira a sua opçao deseada.");
    do {
      x = in.nextInt();
      if (0 > x || x > 5)
        System.out.println("Valor invalido.");
    } while (0 > x || x > 5);

    switch (x) {
      case 1:
        System.out.println("1-Inserir Quadra");
        q=quadra[q].oneQuadra(quadra,q);
        break;
      case 2 ;
        System.out.println("Em construçao");
        break;
    }
    return q ;
}
import java.util.Scanner;

public class Quadra {
  String nmqdr;
  String lcld;
  int qtdcvls;

  public int oneQuadra (Quadra quadra[],int q ) {
    Scanner in = new Scanner(System.in);
    System.out.println("Insira o nome da quadra.");
    quadra[q].nmqdr=in.nextLine();
    System.out.println("Insira a localidade.");
    quadra[q].lcld=in.nextLine();
    System.out.println("Insira a quantidade de cavalos.");
    quadra[q].qtdcvls=in.nextInt();
    for ( int i = 0 ; i<1;i++)
      q=q+1;
    
    return q ;
}
package com.company;

public class Constantes {
  static final int MAXQUADRAS=100;
  static final int MAXJRNDS=15;
  static final int MAXPRT= 10;
  static final int MAXPRVS=3;
}

quadra[q].qtdcvls=in.nextInt();

for ( int i = 0 ; i<1;i++)
  q=q+1;
return q ;
}

 

Share this post


Link to post
Share on other sites
M6

Vê o strack trace todo. Junto dessa mensagem está mais informação, inclusive a classe e o número de linha em que isso acontece.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Snulker

Exception in thread "main" java.lang.NullPointerException
    at com.company.Main.menuQuadras(Main.java:69)
    at com.company.Main.main(Main.java:30)

as linhas estao alteradas porque não pus o código todo mas  instruções onde dá erro são as seguintes :

linha 30 :

q=menuQuadras(quadra, q); 

linha 69 ; 

q=quadra[q].oneQuadra(quadra,q);

Edited by Snulker

Share this post


Link to post
Share on other sites
M6

Tens o erro na linha 69. Eu diria que estás a tentar aceder a uma posição do array quadra que não existe.

 


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Share this post


Link to post
Share on other sites
Snulker

Mas a constante vale 100 e eu pedi a primeira de todas que é 0 porque int  q=0; . 

Share this post


Link to post
Share on other sites
HappyHippyHippo

teres três cestos de fruta nao quer dizer que tenhas muita fruta. A única coisa que diz e que tens três cestos


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.