使用Eclipse错误处理转换为Java的代码

使用Eclipse错误处理转换为Java的代码,java,eclipse,processing,Java,Eclipse,Processing,正如我在另一篇文章中提到的,我是Java的初学者。我试图运行基于销售数据创建球体的代码,并使用EclipseIDE将其转换为Java,运行代码后遇到以下错误 同样在显示float m和float m2的行中(当我将光标悬停时,消息显示“未使用局部变量m2的值”),我将非常感谢您的帮助 import java.awt.Color; import processing.core.*; import processing.core.PVector; import pr

正如我在另一篇文章中提到的,我是Java的初学者。我试图运行基于销售数据创建球体的代码,并使用EclipseIDE将其转换为Java,运行代码后遇到以下错误

同样在显示float m和float m2的行中(当我将光标悬停时,消息显示“未使用局部变量m2的值”),我将非常感谢您的帮助

    import java.awt.Color;

    import processing.core.*;
    import processing.core.PVector;
    import processing.data.Table;
    import processing.data.TableRow;


    public class UsingProcessing extends PApplet {
    Table table;
    int ballcount = 11;
    //int ballcount = table.getRowCount(); //NullPoint Exception error happening     here
    PVector[] orgin = new PVector[ballcount];
    float[]radii = new float[ballcount];
    Balls[]balls;
    Color[]cols = new Color[ballcount]; 

    public void setup(){
    background(255, 127, 245);
    noStroke();
    ortho();

    table = loadTable("HW 1 Data.csv", "header");
    println(table.getRowCount() + " total rows in table");
    balls = new Balls[table.getRowCount()];

    for (int i = 0; i<table.getRowCount(); i++){
        TableRow row = table.getRow(i);
        int product = row.getInt("Product");
        int sales = row.getInt("Sales");
        int category = row.getInt("Category");

        //Add to Arrays
        orgin[i]= new PVector(width/2, height/2);
        balls[i] = new Balls(product,sales,category);
        radii[i] = (sales/30000);
        if (category == 1) {
           cols[i]= new Color(255, 30, 50);
        }  else if (category == 2){
           cols[i]= new Color(100,255,50);
        }  else {
           cols[i]= new Color(100,50,255);
      }

       //cols[i]= color(150,100,150,200);
      }
    }

     public void draw() {
         background(50);
         shininess(45);
         lightSpecular(255, 255, 255);
         directionalLight(254, 254, 254, 1, 1, -1);
         specular(225, 225, 225);
 ambientLight(90, 90, 90);
 ambient(90, 90, 90);

 // orb-orb collision
 for (int i=0; i<orgin.length; i++) {
   for (int j=1+1; j<orgin.length; j++) {
     float r2 =  radii[i] + radii[j];
     float d = dist(orgin[i].x, orgin[i].y, orgin[j].x, orgin[j].y);
     if (d < r2) {
       if (d==0) { // avoid dist of 0
         orgin[i].add(new PVector(random(-.1, .1), random(-.1, .1)));
       }
       PVector axis = PVector.sub(orgin[i], orgin[j]);
       float m = axis.mag();
       float m2 =  radii[i] + radii[j] - m;
       axis.normalize();
       PVector temp = new PVector();
       temp.set(orgin[i]);
       orgin[i].x = orgin[j].x + axis.x*r2;
       orgin[i].y = orgin[j].y + axis.y*r2;
       orgin[j].x = temp.x - axis.x*r2;
       orgin[j].y = temp.y - axis.y*r2;
     }
   }
 }

 for (int i=0; i<orgin.length; i++) {
   fill(cols[i].getRGB());
   pushMatrix();
   translate(orgin[i].x, orgin[i].y);
   sphere(radii[i]);
   popMatrix();

   // boundary collison
   if (orgin[i].x > width-radii[i]) {
     orgin[i].x = width-radii[i];
   } else if (orgin[i].x < radii[i]) {
     orgin[i].x = radii[i];
   } 

   if (orgin[i].y > height-radii[i]) {
     orgin[i].y = height-radii[i];
   } else if (orgin[i].y < radii[i]) {
     orgin[i].y = radii[i];
   }
 }
}

private float random(double d, double e) {
// TODO Auto-generated method stub
return 0;
}

class Balls {
   int product; 
   int sales;
   int category;;
   int radius;

   boolean over = false;

   Balls(){
   }
   Balls(int product, int sales, int category){
     this.product = product;
     this.sales = sales;
     this.category = category;
   }
}
public static void main(String[] args) {

PApplet.main("UsingProcessing");

}
public void settings(){
size(1200, 700, P3D);

}


}
导入java.awt.Color;
进口加工。核心。*;
导入processing.core.PVector;
导入处理.data.Table;
导入processing.data.TableRow;
使用Processing扩展PApplet的公共类{
表格;
整数球数=11;
//int ballcount=table.getRowCount();//此处发生NullPoint异常错误
PVector[]orgin=新PVector[球数];
浮球[]半径=新浮球[球数];
球[]球;
颜色[]cols=新颜色[球数];
公共作废设置(){
背景(255、127、245);
仰泳();
正交();
table=loadTable(“HW 1 Data.csv”,“header”);
println(table.getRowCount()+“表中的行总数”);
balls=新球[table.getRowCount()];

对于(int i=0;i而言,
m2未被使用
错误只是一个警告。它与您的错误无关

您的错误是由于代码试图使用不在类路径上的类造成的。您需要修复类路径


要修改类路径,请右键单击proeject,然后转到属性,然后转到Java构建路径。您需要将库JAR添加到类路径。

导入处理JAR时,请记住添加core\library的所有内容,其中包含访问本机代码的库,以使用openGL和其他处理功能

gluegen-rt-natives-windows-i586.jar ... jogl-all-natives-linux-amd64.jar ... ecc


m和m2是未使用的变量,IDE告诉您它们超出了任何可能的交互范围(您没有使用它们,他可以告诉您)

谢谢@KevinWorkman。通过将所有库添加到正确的类路径来修复。再次感谢。您曾经解决过这个问题吗?
java.lang.NoClassDefFoundError: com/jogamp/opengl/GLException
    at processing.opengl.PGraphicsOpenGL.createPGL(PGraphicsOpenGL.java:668)
    at processing.opengl.PGraphicsOpenGL.<init>(PGraphicsOpenGL.java:532)
    at processing.opengl.PGraphics3D.<init>(PGraphics3D.java:35)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at processing.core.PApplet.makeGraphics(PApplet.java:2227)
    at processing.core.PApplet.createPrimaryGraphics(PApplet.java:2306)
    at processing.core.PApplet.initSurface(PApplet.java:10399)
    at processing.core.PApplet.runSketch(PApplet.java:10338)
    at processing.core.PApplet.main(PApplet.java:10094)
    at processing.core.PApplet.main(PApplet.java:10076)
    at UsingProcessing.main(UsingProcessing.java:126)
Caused by: java.lang.ClassNotFoundException: com.jogamp.opengl.GLException
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 14 more
java.lang.RuntimeException: com/jogamp/opengl/GLException
    at processing.core.PApplet.makeGraphics(PApplet.java:2260)
    at processing.core.PApplet.createPrimaryGraphics(PApplet.java:2306)
    at processing.core.PApplet.initSurface(PApplet.java:10399)
    at processing.core.PApplet.runSketch(PApplet.java:10338)
    at processing.core.PApplet.main(PApplet.java:10094)
    at processing.core.PApplet.main(PApplet.java:10076)
    at UsingProcessing.main(UsingProcessing.java:126)