GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Java.lang.NullPointerException


#1

É esta mensagem que dá, depois que tentei inserir um dado do tipo Data?


#2

Kra,

Manda o teu código para o forum, se fica dificil de te orientar, este tipo de execção é porque o teu objeto não recebeu valor algum, ou seja, está nulo.

Atenciosamente,
Paulo


#3

java.lang.NullPointerException significa q vc estah apontando para um objeto que não existe, ou o caminho estah incorreto.


#4

String nome = null;
nome.toString(); // <=== Aqui dá NullPointerException!!

#5

Estou utilizando preparedStatement. Utilizei setDate, setObject, mas o resultado é nulo!!!

String value = ftfDataNasc.getText(); //campo formatado ("##/##/####)
Date dateNasce = new SimpleDateFormat("dd/mm/yyyy").parse(value);
....
prepara.setObject(3, new Date (dateNasce.getTime()));

#6

todo programador merece um puxao de orelha pra cada NullPointerException lancado. :twisted:


#7

Minha orelha começou a sangrar...


#8

Valor algum é diferente de ser nulo!

public void metodo(){
String nome;
String sobrenome =  null;
System.out.println("Sobrenome:" + sobrenome); // Funciona!
System.out.println("Nome:" + nome); // Erro de compilação. A variavel não foi inicializada!!
}

#9

manda ai a descrição da exception!


#10

SimpleDateFormat


#11

[quote=mrsmylle]Estou utilizando preparedStatement. Utilizei setDate, setObject, mas o resultado é nulo!!!

String value = ftfDataNasc.getText(); //campo formatado ("##/##/####)
Date dateNasce = new SimpleDateFormat("dd/mm/yyyy").parse(value);
....
prepara.setObject(3, new Date (dateNasce.getTime()));

[/quote]Olha o case sensitive!!

Date dateNasce = new SimpleDateFormat("dd/MM/yyyy").parse(value);

o mm tem que ser em maiúsculo, senão a formatação "pensa" que o mm é minutos!


#12

Olha o meu bloc ai!

 try{
			String value = ftfDataNasc.getText();
			Date dateNasce = new SimpleDateFormat("dd/mm/yyyy").parse(value);
			//txtRes.setText ("");
			PreparedStatement prepara = con.prepareStatement ("insert into aluno (ra, nome, datatual) values (?, ?,?);");
			prepara.setString(1, txtRa.getText());
			prepara.setString(2, txtNome.getText());
			prepara.setObject(3, new Date (dateNasce.getTime()));
			prepara.executeUpdate();
			txtRes.setText("Cadastro Efetuado");
			txtRa.setText("");
			txtNome.setText("");
		}
	    catch (SQLException ex)
	    {
			System.out.println (ex);
	    }
		catch (Exception exc) {System.out.println (exc);}

#13

String nome = null;
nome.toString(); // <=== Aqui dá NullPointerException!!

[/quote]

Material oficial da Sun

Class NullPointerException

Traduzindo :

Thrown quando a aplicação tenta acessar um um objeto que estaha referenciado como null. Iso pode incluir:

  • Chamando a instancia do metodo de num objeto null.
  • Acessando ou modificando um campo de um objeto null.
  • Requerendo o tamamho de um valor null que estah num array.
  • Acessando ou modificando o índice que estah nulll de um array.
  • Enviando nulo como tem um valor que pode dar erro(Throwable value)

#14

Deu certo aqui, eu apenas apaguei uma declaração desnecssária
public class....
JTextField ftfDataNasc;

public ....(){

JTextField ftfDataNasc = new.... //eu apenas exclui esta declaracao TextField!!
}
valeu pessoal! Achei o nullpoint!!


#15

HTTP Status 500 -

type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: Not writable: /home/abrhpb/public_html/anexos/noticia/
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause
java.lang.IllegalArgumentException: Not writable: /home/abrhpb/public_html/anexos/noticia/
com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:218)
com.oreilly.servlet.MultipartRequest.(MultipartRequest.java:109)
org.apache.jsp.gerenciador.upload.add_005ffoto_jsp.jspService(org.apache.jsp.gerenciador.upload.add005ffoto_jsp:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.5.9 logs.

e no código ao adicionar ta assim

//colunista.setDescricao(getParametro("texto", null));

e quando vai recuperar que é quando da o erro ta assim

//<%=colunista.getDescricao()%>


#16

[color=darkred]Oi pessoal...
Bom...eu estou montando um projeto em Java, utilizando o Jcreator
Estou fazendo conexão com o Banco de dados, porém ao executar o programa e clicar no botão para gravar o registro no banco, no prompt aparecem várias instruções, e a primeira delas é essa:

java.lang.nullpointerexception

mas ainda existem umas 20 linhas com diversos "erros"
não sei o que fazer para resolver o problema, pois já revisei o programa várias vezes, e não acho o erro!
Quem puder ajudar...ficaria imensamente grata
:smile:

Segue o código do programa:
[/color]
[color=black]

import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class buscanome extends JFrame implements ActionListener
{

JLabel L1,L2;
JButton btpesquisar, btcancelar;
static JTextField tfNome;
String nome;
JPanel painel1 = new JPanel();
ResultSet rs;
Statement MeuState;
Connection MinhaConexao;
boolean status;

 public static void main(String args[])

{

JFrame Janela = new buscanome();
Janela.show();
WindowListener x = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};
Janela.addWindowListener(x);
}

buscanome()
{
painel1.setLayout(new FlowLayout(FlowLayout.LEFT));
L1 = new JLabel("Você selecionou a opção de identificação por nome.Por Favor: ");
L2 = new JLabel("Digite o nome para pesquisar.");

tfNome = new JTextField(50);
nome = tfNome.getText();
btpesquisar=new JButton("Pesquisar");
btcancelar=new JButton("Cancelar Operação");

btpesquisar.setBackground(new Color(180,180,250));
btcancelar.setBackground(new Color(180,180,250));

btpesquisar.addActionListener(this);
btcancelar.addActionListener(this);

painel1.add(L1);               painel1.add(tfNome);
painel1.add(L2);                
painel1.add(btpesquisar);         painel1.add(btcancelar);

getContentPane().add(painel1);
setTitle("Busca por Nome");
setSize(600,140);
setResizable(false);
String url = "jdbc:odbc:MeuBanco";

try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
MinhaConexao = DriverManager.getConnection(url);
}
catch(ClassNotFoundException erro)
{
System.out.println("Driver JDBC-ODBC nao encontrado!");
return;
}
catch(SQLException erro)
{
System.out.println("Problema na Conexao com fonte de dados");
return;
}}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btpesquisar)
{
try
{

			//MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

			String sql = "select * nome from Pacientes 	where nome = '" + nome + "'";
			tfNome.getText();
			rs = MeuState.executeQuery(sql);
			rs.next();
			nome = rs.getString("nome");

			String sql2="Insert into Resultado(resulnome) Values (sql)";
				MeuState.executeUpdate(sql2); 
			JOptionPane.showMessageDialog(null, "Gravação Realizada com  sucesso!");

			}
		catch(SQLException erro) {		}

}} }

[/color]


#17

public void insereProduto(Produto pr){
ResultSet rs=null;//OBJETO QUE RETORNA TODOS OS DADOS e como se fosse uma tabela na minah classe java
String sql="insert into produto(nome,fornecedor,preco,qtde) values (?,?,?,?)";
Connection cnx;//Cria um objeto com todos os dados para conexao
try{
Class.forName("com.mysql.jdbc.Driver");//passa a string de qual banco de dados sera usado
//ABRE A CONXAO COM O BANCO DE DADOS COM A VARIAVEL CNX
cnx=DriverManager.getConnection("jdbc:mysql://localhost/sistema","root","root");//aponta para qual servidor ele vai achar
rs.first();
PreparedStatement stm=cnx.prepareStatement(sql);//PREPARA PARA PASSAR TODA A STRING SQL PARA O BANCO
stm.setString(1,pr.getNome());
stm.setString(2,pr.getFornecedor());
stm.setDouble(3,pr.getPreco());
stm.setDouble(4,pr.getQtde());
stm.executeUpdate();
stm.executeQuery(); //EXECUTA A STRING SQL
cnx.close();// FECHA A CONEXAO COM O BANCO DE DADOS
}
//E TRATADO UMA EXPEITION OU ALGUM ERRO CASO HAJA
catch(Exception e){
System.out.println(e.toString());
}

}

pessoal não consigo conectar está dado o mesmo erro
gerando um exeption.nullpointer.


#18

Pessoal estou com um probleminha no site da Brasil Telecom:
500 Internal Server Error
java.lang.NullPointerException at org.apache.struts.action.ActionServlet.getProcessorForModule(ActionServlet.java:639) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1907) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:782) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:330) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:794) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:208) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].server.http.AJPRequestHandler.run(AJPRequestHandler.java:125) at com.evermind[Oracle Application Server Containers for J2EE 10g (9.0.4.2.0)].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192) at java.lang.Thread.run(Thread.java:534)

Só que um dia o site funcionou... e depois não mais!!!!
Alguém pode me ajudar???
Obrigada :lol:


#19

Boas a todos, também estou com o erro NullPointerException quando executo a função acrescentaLivro nomeadamente aqui, já tentei tirar o this.livros = null; mas acontece-me o mesmo.

Alguma ajuda

public class Biblioteca {
private Vector livros;
private String nome;

public Biblioteca(String nome){
this.nome = nome;
    this.livros = null;
}

public void acrescentaLivro(String titulo, String autor){
Livro novo = new Livro(titulo, autor); //cria o registo
livros.add(novo);//acrescenta-o á bilbioteca

}

#20

Amigos, muito obrigado pela ajuda de vocês, eu tive o mesmo erro de java.lang.NullPointerException no eclipse 3.5.2 ve 1.4.0
O meu problema foi devido a uma veriável local, eu comentei, e ai voltou a funcionar.