当前位置:编程学习 > JAVA >>

【求助】这个错误怎么解决,求高手!!

怎么老提示
Exception in thread "main" java.lang.NullPointerException
at javaapplication12.table.around(table.java:85)
at javaapplication12.Main.main(Main.java:36)
Java Result: 1

package javaapplication12;
import java.io.*;
import java.util.Scanner;
/**
*
* @author Administrator
*/
public class table {
private String name;
private int col;
private int row;
private String[][] table1;
private String around;
public table() {
name = "null";
col = 0;
row = 0;
table1 = new String[row][col];
around = "*";
for (int i = 0; i < col; i++) {
for (int j = 0; j < row; j++) {
table1[i][j] = " ";
}
}
}
public table(String n, int r, int c, String aro) {
name = n;
row = r + r + 1;
col = c + c + 1;
around = aro;

}
public void setrow(int row) {
this.row = row;
}
public void setcol(int col) {
this.col = col;
}
public void setaround(String around) {
this.around = around;
}
public void setname(String name) {
this.name = name;
}
public int getrow() {
return row;
}
public int getcol() {
return col;
}
public String getaround() {
return around;
}
public String getname() {
return name;
}
public void around(String str) {

for (int i = 0; i <= row; i++) {
if (i % 2 != 0) {
continue;
}
for (int j = 0; j <= col; j++) {
if (j % 2 == 0) {
continue;
}
table1[i][j] = str + str + str + str;
}
}
for (int i1 = 0; i1 <= col; i1++) {
if (i1 % 2 != 0) {
continue;
}
for (int j1 = 0; j1 <= row; j1++) {
table1[i1][j1] = str;
}
}
}
public void rowcol() throws IOException {
Scanner in = new Scanner(System.in);
int m = 1, n = 1;
for (int i = 2; i < col; i++) {
if (i > 0 && i % 2 == 0) {
System.out.println("第" + m + "列");
String line = in.next();
table1[2][i] = line;
m++;
}
}
for (int j = 2; j < row; j++) {
if (j > 0 && j % 2 == 0) {
System.out.println("第" + n + "行");
String line = in.next();
table1[j][2] = line;
n++;
}
}
}
public void print() {
System.out.println("表名称:" + name);
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
if (i % 2 != 0 && j % 2 != 0) {
System.out.printf("%4d" + table1[i][j]);
} else {
System.out.print(table1[i][j]);
}
}
}
}
}


package javaapplication12;
import java.io.*;
import java.util.*;
/**
*
* @author Administrator
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {

String name,around;
int row,col;
Scanner in =new Scanner(System.in);
System.out.println("请输入表名");
name=in.next();
System.out.println("请输入行数");
row=in.nextInt();
System.out.println("请输入列数");
col=in.nextInt();
System.out.println("请输边框线型");
around=in.next();

table t=new table(name,row,col,around);

t.around(around);
t.print();



}
}



--------------------编程问答-------------------- 你调的public table(String n, int r, int c, String aro) {
name = n;
row = r + r + 1;
col = c + c + 1;
around = aro;
}
构造函数没有对属性
private String[][] table1;
初始化 --------------------编程问答-------------------- 呵呵,往构造函数里多写一行不就没事了
补充:Java ,  J2ME
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,