标签: processing

将HashMap迭代器转换为具体类型时出现ClassCastException

我是processing.org和Java的新手.我试图将对象存储在HashMap中,然后迭代HashMap的值,调用存储对象上的方法.为了做到这一点,我假设我需要将迭代器向下转换为我的类的类型,但这会抛出一个ClassCastException("java.util.HashMap $ ValueIterator不能转换为sketch_oct27a $ MyClass").以下简化代码演示了此行为:

import java.util.*;

void setup() {
  HashMap m = new HashMap();

  m.put("First", new MyClass());
  m.put("Second", new MyClass());
  m.put("Third", new MyClass());

  Iterator iter = m.values().iterator();

  while (iter.hasNext()) {
   ((MyClass)iter).SaySomething(); // Throws ClassCastException
   iter.next();
  }    
}

class MyClass { 
  void SaySomething() {
    println("Something");
  }
}
Run Code Online (Sandbox Code Playgroud)

如何通过迭代器调用SaySomething()方法?

java processing iterator hashmap

0
推荐指数
1
解决办法
3584
查看次数

如何向jEdit添加新的编程语言?

我最近一直在学习Processing编程语言.处理包括一个称为处理开发环境(PDE)的IDE,但编辑器非常基础.

IDE可以选择使用外部编辑器.我的首选编辑之一是jEdit,因为它支持跨平台.Jedit已经内置了对170多种语言的支持,但目前还没有处理过,我认为它仍然有点太小众.

如何将具有所有颜色突出显示的处理添加到jEdit?

processing jedit

0
推荐指数
1
解决办法
2814
查看次数

处理语言:从ArrayList()获取内部数组值

我正在尝试在Processing中使用ArrayList()方法.

我有这个:

    ArrayList trackPoints = new ArrayList();

        //inside a loop
        int[] singlePoint = new int[3];

        singlePoint[0] = 5239;
        singlePoint[1] = 42314;
        singlePoint[2] = 1343;
        //inside a loop

    trackPoints.add(singlePoint);
Run Code Online (Sandbox Code Playgroud)

所以基本上我想在我的ArrayList中添加一个带有三个值的数组"singlePoint".

这似乎工作正常,因为现在我可以使用println(trackPoints.get(5));,我得到这个:

[0] = 5239;
[1] = 42314;
[2] = 1343;
Run Code Online (Sandbox Code Playgroud)

但是,如何获得此数组的单个值?

println(trackPoints.get(5)[0]); 不起作用.

我收到以下错误:"表达式的类型必须是数组类型,但它解析为对象"

知道我做错了什么吗?如何从这个包含多个数组的arrayList中获取单个值?

谢谢您的帮助!

java arrays processing arraylist multidimensional-array

0
推荐指数
1
解决办法
3006
查看次数

在python中使用字节

我正在尝试将一个processing.org应用程序移植到python中并且遇到一些困难.

我需要在python中写这个:

int[][] elevation; // elevations in meters
float[][] felevation; // scaled to range [0,1] where 1=max
int maxheight;

void setup(){
size(600,600,P2D);

// read srtm binary file
elevation=new int[1201][1201];
felevation=new float[1201][1201];
byte b[] = loadBytes("N30W091.hgt"); // THIS IS A BINARY FILE
int ix=0;
maxheight=0;
for (int row=0;row<1201;row++) {
  for (int col=0;col<1201;col++) {
    // bytes are signed, from -128 to 127, converts to unsigned...
    int hi = b[ix] & 0xff; 
    int lo = b[ix+1] & 0xff; 
    int el=(int)((hi<<8)|lo); // big endian! …
Run Code Online (Sandbox Code Playgroud)

python processing byte

0
推荐指数
1
解决办法
1406
查看次数

java.lang.NumberFormatException:对于输入字符串:"9813023219"

我正在使用串行事件将从arduino读取的rfid标签传递给处理.在串行事件中,我正在解析并将变量转换为整数.这大部分工作,只有一张rfid卡一直在抛出错误.

void serialEvent(Serial thisPort)
{
  String inString = thisPort.readString();
  if(inString != null)
  {
    Serial connect1 = (Serial) connections.get(0);
      if(thisPort == connect1 )
      {
        Chair chair = (Chair) chairs.get(0);
        if(inString.contains("UID Value:"))
        {
          int p2 = inString.indexOf(":");
          String pString = inString.substring(p2+1); 
          String pString2 = pString.substring (0,10);
          //println(pString2);
          pString2.trim();

          println("String length: " + pString2.length());

          chair.setRFID(pString2);
          println(pString2);
        }

      }
  }
}

void setRFID(String r)
  {  
     try{
       this.rfid = Integer.parseInt(r);
     }
     catch (Exception e) {
      e.printStackTrace();
     }

     //set position of person to chair
     for (Person …
Run Code Online (Sandbox Code Playgroud)

java string processing

0
推荐指数
1
解决办法
2258
查看次数

如何在初学者草图中显示坐标?

当我试验Processing(for循环和变量)时,我总是想弄清楚哪个点与变量的哪个迭代有关:

 for (i = 10; i <100; i +=5) {
   rect (i, i+10, 50, 50);
} 
Run Code Online (Sandbox Code Playgroud)

我有什么方法可以显示他们的点旁边的坐标吗?或者是否可以对代码迭代进行着色?可能使第一个红色,然后是蓝色等.

任何指向资源,或非常欢迎的例子.

processing

0
推荐指数
1
解决办法
77
查看次数

处理:复数库?

我刚刚开始学习处理,并且很好奇是否有一个用于对表单的复数建模的库a + bi。特别是可以处理复数数字乘法的数字,例如:

(a + bi)(a + bi)


Run Code Online (Sandbox Code Playgroud)

java math processing complex-numbers

0
推荐指数
1
解决办法
1794
查看次数

简化java/processing中的数组列表

我怎样才能简化这个长列表..我不想写Arduino.LOW这么多次..

int[] values = { Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
 Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW,
 Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW, Arduino.LOW };
Run Code Online (Sandbox Code Playgroud)

java arrays processing

0
推荐指数
1
解决办法
235
查看次数

如何连续增量后减量?

我试图获得从0到n的增量,然后从n-1减少到0,并反复重复该循环.

在这个以Processing编写的例子中,我希望背景从黑色(i = 0)逐渐变为白色(i = 255),然后逐渐变为白色到黑色,依此类推.现在我只能让它从黑色变为白色,然后它突然变回黑色.

int i = 0;

void setup(){
size(640, 360);
frameRate(60);
}
void draw(){
  background(i);
  i++;
  if(i==256){i=0;}
}
Run Code Online (Sandbox Code Playgroud)

c++ processing loops increment

0
推荐指数
1
解决办法
156
查看次数

如何在处理中添加外部库

当我尝试添加外部Java库时,我一直在使用处理一段时间并遇到了问题.我按照在线提供的所有步骤进行操作,我必须访问lib文件夹(processing-3.3)并在其中添加我的库.不幸的是,我的方法不起作用.我面临的另一个问题是我不知道如何导入这个库.这是库的链接,这是.jar文件链接.有人可以帮忙吗?

问候

java processing

0
推荐指数
1
解决办法
6400
查看次数