Topic: Internal compiler error: java.lang.ArrayIndexOutOfBoundsException: 0.

  Print this page

1.Internal compiler error: java.lang.ArrayIndexOutOfBoundsException: 0. Copy to clipboard
Posted by: xiaoshitou
Posted on: 2005-05-11 17:16

package src.classifiers.trees;

import src.classifiers.trees.m5.*;
import java.io.*;
import java.util.*;
import src.core.*;

/**
* M5P. Implements routines for generating M5 model trees.
*
* Valid options are:<p>
*
* -U <br>
* Use unsmoothed predictions. <p>
*
* @author <a href="mailto:mhall@cs.waikato.ac.nz">Mark Hall</a>
* @version $Revision: 1.1 $
*/

public class M5P extends M5Base
implements Drawable {

/**
* Creates a new <code>M5P</code> instance.
*/
public M5P() {
super();
setGenerateRules(false);
}

/**
* Returns the type of graph this classifier
* represents.
* @return Drawable.TREE
*/
public int graphType() {
return Drawable.TREE;
}

/**
* Return a dot style String describing the tree.
*
* @return a <code>String</code> value
* @exception Exception if an error occurs
*/
public String graph() throws Exception {
StringBuffer text = new StringBuffer();

text.append("digraph M5Tree {\n");
Rule temp = (Rule)m_ruleSet.elementAt(0);
temp.topOfTree().graph(text);
text.append("}\n");
return text.toString();
}

/**
* Set whether to save instance data at each node in the
* tree for visualization purposes
*
* @param save a <code>boolean</code> value
*/
public void setSaveInstances(boolean save) {
m_saveInstances = save;
}

/**
* Get whether instance data is being save.
*
* @return a <code>boolean</code> value
*/
public boolean getSaveInstances() {
return m_saveInstances;
}

/**
* Returns an enumeration describing the available options
*
* @return an enumeration of all the available options
*/
public Enumeration listOptions() {
Enumeration superOpts = super.listOptions();

Vector newVector = new Vector();
while (superOpts.hasMoreElements()) {
newVector.addElement((Option)superOpts.nextElement());
}

newVector.addElement(new Option("\tSave instances at the nodes in\n"
         +"\tthe tree (for visualization purposes)\n",
         "L", 0, "-L"));
return newVector.elements();
}

/**
* Parses a given list of options. <p>
*
* Valid options are:<p>
*
* -U <br>
* Use unsmoothed predictions. <p>
*
* -R <br>
* Build a regression tree rather than a model tree. <p>
*
* -L <br>
* Save instance data at each node (for visualization purposes). <p>
*
* @param options the list of options as an array of strings
* @exception Exception if an option is not supported
*/
public void setOptions(String[] options) throws Exception {
setSaveInstances(Utils.getFlag('L', options));
super.setOptions(options);
}

/**
* Gets the current settings of the classifier.
*
* @return an array of strings suitable for passing to setOptions
*/
public String [] getOptions() {
String[] superOpts = super.getOptions();
String [] options = new String [superOpts.length+1];
int current = superOpts.length;
for (int i = 0; i < current; i++) {
options[i] = superOpts[i];
}

if (getSaveInstances()) {
options[current++] = "-L";
}

while (current < options.length) {
options[current++] = "";
}

return options;
}

/**
* Main method by which this class can be tested
*
* @param args an array of options
*/
public static void main(String[] args) {
try {
System.out.println(src.classifiers.Evaluation.evaluateModel(
       new M5P(),
       args));
} catch (Exception e) {
System.err.println(e.getMessage());
e.printStackTrace();
}
}
}

大家帮忙看看,怎么会出现Internal compiler error: java.lang.ArrayIndexOutOfBoundsException: 0.
问题

2.Re:Internal compiler error: java.lang.ArrayIndexOutOfBoundsException: 0. [Re: xiaoshitou] Copy to clipboard
Posted by: uniquejava
Posted on: 2005-05-11 18:50

import src.classifiers.trees.m5.*;
import src.core.*;
没有这两个包,大家怎么给你看啊
你是不是在研究Weka?对这个我不太懂,
你的错误是数组下标越界,我是看不出来的,呵呵

3.Re:Internal compiler error: java.lang.ArrayIndexOutOfBoundsException: 0. [Re: xiaoshitou] Copy to clipboard
Posted by: xiaoshitou
Posted on: 2005-05-11 19:11

这的确是weka的一个程序
是不是导入的这些包里面有数组下标越界问题出现的话,也会导致出现这样的错误。
我也觉得好像单单从这个程序里面发现不了什么数字下标越界啊

谢谢你了,楼上的

4.Re:Internal compiler error: java.lang.ArrayIndexOutOfBoundsException: 0. [Re: xiaoshitou] Copy to clipboard
Posted by: xiaoshitou
Posted on: 2005-05-11 20:14

能不能帮我看看这个程序,也是 “数组下标越界 ”错误。
该程序所导入的包我已经测试过了,都没有问题的
package src.gui.boundaryvisualizer;

import src.core.*;

public interface DataGenerator {

void buildGenerator(Instances inputInstances) throws Exception;

double [][] generateInstances(int [] indices) throws Exception;

double [] getWeights() throws Exception;

void setWeightingDimensions(boolean [] dimensions);

void setWeightingValues(double [] vals);

int getNumGeneratingModels();

void setSeed(int seed);
}


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923