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