package com.test;import java.util.*;
import java.lang.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.joda.*;
public class test {
int N;
double R[] = new double[N]; test(int N1)
{
this.N=N1;
}
test()
{
this.N=12;
}
public void tt()
{
for(int i=0;i<N;i++)
{
R[i]=0.0;
}
}
public static void main(String[] args) {
test t= new test(13);
t.tt();
for(int i=0;i<t.N;i++)System.out.println(t.R[i]);
}
}为什么总提示数组越界呢?是否不能动态的生成数组?
import java.lang.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.joda.*;
public class test {
int N;
double R[] = new double[N]; test(int N1)
{
this.N=N1;
}
test()
{
this.N=12;
}
public void tt()
{
for(int i=0;i<N;i++)
{
R[i]=0.0;
}
}
public static void main(String[] args) {
test t= new test(13);
t.tt();
for(int i=0;i<t.N;i++)System.out.println(t.R[i]);
}
}为什么总提示数组越界呢?是否不能动态的生成数组?
解决方案 »
- 接口回调的问题,希望大牛们能解答...
- 关于类的的属性的调用的问题
- java.lang.NumberFormatException: multiple points。请问这个问题怎么解决?
- 一个简单的JAVA运算结果问题想不明白? 谁来看下
- 怎样创建一个接口??????????
- 请教一个JList问题,左边list,右边不同的内容
- 急!!!!!!!!!请帮帮忙
- 做了一个ABOUT对话框,如何让它在打开时只显示在窗口的正中,而不管窗口的位置在哪里。
- 请问jdb调试工具的使用方法并介绍相关教程!谢谢!
- java循环之间为什么直接就换行了?(099之后怎么就突然换行了?)
- JAVA中 引用的内存(栈中的)大小是多少
- 用JDBC连接oracle数据库要做的准备
可以用一个已经有值的变量,
如:int N=10;
double R[] = new double[N];
这就没错了,
-----------------
类实例化的时候按照变量的声明先后先初始化变量,
然后才走构造器,
你的N是在构造器中传的,R[]初始化的时候还没值
这句写在构造方法中
int N;
double R[] = new double[N]; 这两句。
N的默认初始值是0,所以就初始化了一个长度为0的double数组,所以在方法中不管怎么赋值都会越界。
import java.lang.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import org.joda.*;
public class test {
/*1.这一部分在构造成时要先被创造*/
int N;
double R[] = new double[N]; //不能像这样声名r[]
/*2.这一部分在声名对象时被执行*/
test(int N1)
{
this.N=N1;
} test()
{
this.N=12;
} public void tt()
{
for(int i=0;i <N;i++)
{
R[i]=0.0;
}
} public static void main(String[] args) {
test t= new test(13);
t.tt();
for(int i=0;i <t.N;i++)System.out.println(t.R[i]);
}
}
private Double array[] ;
public TestDynaArray(int m){
this.n = m;
array = new Double[n];
}
public TestDynaArray(){
this.n = 12;
array = new Double[n];
}
public void fillArray(){
for (int i = 0; i < this.n; i++){
array[i] = 0.0;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
TestDynaArray test = new TestDynaArray(13);
System.out.println(test.array.length);
test.fillArray();
for (int i = 0; i < test.array.length; i++){
System.out.println(test.array[i]);
} }}
public class test {
int N;
double[] R;
test(int N1){
this.N=N1;
R= new double[N];
} test()
{
this.N=12;
R = new double[N];
} public void tt()
{
for(int i=0;i <N;i++)
{
R[i]=0.0;
}
} public static void main(String[] args) {
test t= new test(13);
t.tt();
for(int i=0;i <t.N;i++)System.out.println(t.R[i]);
}
}