【发布时间】:2015-12-11 21:55:19
【问题描述】:
我正在我的 Linux 机器 Ubuntu 14.04 上编程。其他技术规格是:
机器: Ubuntu-14.04 LTS
JDK: JDK-8(Java EE 应用程序)
网络服务器: Apache Tomcat
下面给出的 Java 代码抛出空指针异常。错误信息如下所示:
devkrishna@krishna:~/Desktop/Java/project1$ java attempt
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
Exception in thread "main" java.lang.NullPointerException
at attempt.main(project1.java:85)
第 85 行将是 (op[i].get();)
import java.io.*;
import java.util.*;
import java.lang.NullPointerException;
class Root{
public int no=0;
public String bookNo;
public String book;
public String author;
RandomAccessFile outs;
public void get(){
try{
DataInputStream in = new DataInputStream(System.in);
System.out.println("\n");
System.out.print("Enter book no. : ");
bookNo = in.readLine();
no = Integer.parseInt(bookNo);
System.out.print("Enter the book name: ");
book = in.readLine();
System.out.print("Enter author's name: ");
author = in.readLine();
}
catch(IOException e){
System.out.println("I/O EXCEPTION !!!");
System.exit(1);
}
}
public void processFile(){
try{
outs = new RandomAccessFile("output.dat","rw");
outs.seek(outs.length());
outs.writeBytes(bookNo);
outs.writeBytes("\t \t \t");
outs.writeBytes(book);
outs.writeBytes("\t \t \t");
outs.writeBytes(author);
outs.writeBytes("\n");
outs.close();
}
catch(IOException e){
System.out.println("FILE I/O ERROR !!!");
}
}
public void tell(){
try{
System.out.println("\n");
System.out.println("Book no. : " + bookNo);
System.out.println("Book name: " + book);
System.out.println("Author: " + author);
System.out.println("\n");
}
catch(Exception e){
System.out.println("EXCEPTION !!!");
}
}
}
class attempt{
public static void main(String[] args){
Root op[] = new Root[5];
for(int i=0;i < 5; i++){
op[i].get();
op[i].processFile();
op[i].tell();
}
}
}
在class Attempt的main方法中实现这个。
for(int i=0;i < 5; i++){
op[i] = new Root(); // here
op[i].get();
op[i].processFile();
op[i].tell();
}
抛出编译错误:
devkrishna@krishna:~/Desktop/Java/project1$ javac project1.java
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
project1.java:85: error: ']' expected
Root op[i]=new Root();
^
project1.java:85: error: illegal start of expression
Root op[i]=new Root();
^
2 errors
【问题讨论】:
-
错误与ubuntu无关。这是简单的编程错误(以及从答案中粘贴的第二个错误示例),但理论上在 Java java 编程中更重要的是 Java 版本、IDE 等。尝试提供更好的标签
标签: java nullpointerexception ubuntu-15.04