1.数组越界异常实例化超过定义区间;
2.空指针异常
(1) boolean[] b=new boolean[3];
b=null;
system.out.print(b[0]);
栈中b找不到堆地址。
(2) string [] str=new string[4];
system.out.println(str[3].to(string));
改正方法:在输出前对str赋值 str[3]=new String("");
int[] x//一维;
int [] y []//二维;
y=new int[3][2];
x=y[0];可对x进行赋值;
import java.util.Scanner;
public class firstactivity{
public static void main(String[] args){
float[][] names;
names =new float[2][4];
//最小二乘法;
Scanner s=new Scanner(System.in);
int[] t={0,1,2,3,4,5,6,7};float sumt=0;
for(int i=0;i<=7;i++){sumt+=t[i];};
float y=0;
for (int i=0;i<=1;i++)
for(int j=0;j<=3;j++){
String str=s.next();
names[i][j]=Float.parseFloat(str);
y+=names[i][j];
}
int t2=0;int num=0;
float y2=0;
for(int i=0;i<=1;i++)
for(int j=0;j<=3;j++)
{
t2+=num*num;
y2+=num*names[i][j];
num++;
}
float arr[][]={{t2,sumt,y2},{sumt,8,y}};
for(int i=0;i<=2;i++)
arr[1][i]=arr[0][i]-arr[1][i]*(t2/sumt);
float b=arr[1][2]/arr[1][1];
float a=(arr[0][2]-arr[0][1]*b)/arr[0][0];
System.out.print("回归方程为:y="+a+"t+"+b);
}
}