java - 如何将非静态变量传递给 main 方法?
问题描述
我对 Java 有疑问。我正在尝试将integer
基础传递Vector
给程序的主体。问题是向量不能static
因为它包含程序修改的值。
我怎样才能在main
方法中有向量?
该向量用于通过串行向 Arduino 发送激活状态。
public int [] vector(){
SwingWorker<int [], Integer> swingWorker1 = new SwingWorker<int [], Integer>(){
@Override
public int [] doInBackground()throws IOException, InterruptedException{
int[] vec={manu,scarico,carico,co2,neon,led,res,filtro,g_luci,aria,uv,intera,decimale}; //initializing array
return vec;
}
};swingWorker1.execute();
return null;
}
public static void main(String args[]) {
SwingWorker<Void, Integer> swingWorker = new SwingWorker<Void, Integer>(){
@Override
public Void doInBackground()throws IOException, InterruptedException{
while(true){
int a;
int []vec= new int[13] ;
int []ric= new int [4] ;
JFrameAcquario jfk = new JFrameAcquario();
vec =jfk.vector();
SerialPort sp = SerialPort.getCommPort("COM3"); // device name TODO: must be changed
sp.setComPortParameters(9600, 8, 1, 0); // default connection settings for Arduino
sp.setComPortTimeouts(SerialPort.TIMEOUT_WRITE_BLOCKING, 0, 0); // block until bytes can be written
System.out.println("bo :)");
if (sp.openPort()) {
System.out.println("Port is open :)");
} else {
System.out.println("Failed to open port :(");
}
for (int i = 1; i < 12; ++i) {
sp.getOutputStream().write(vec[i]);
sp.getOutputStream().flush();
System.out.println("Sent number: " + vec[i]);
Thread.sleep(1000);
}
if(sp.getInputStream() != null){
for (int i = 0; i < 4; ++i) {
a = sp.getInputStream().read();
ric[i]=a;
System.out.println("Recived number: " + ric[i]);
Thread.sleep(1000);
}
}
if (sp.closePort()) {
System.out.println("Port is closed :)");
} else {
System.out.println("Failed to close port :(");
}
}
}
};
swingWorker.execute();
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new JFrameAcquario(null).setVisible(true);
}
});
}
解决方案
推荐阅读
- jooq - JOOQ RDS Aurora MySQL 支持
- javascript - 从 Laravel 视图中将属性传入 Treeselect vue 组件
- c# - 如何在进入中断模式之前读取 Firebase 响应
- javascript - JavaScript split() join() 仅用于精确短语
- php - 使用 PHP 在数组中组合单词和数字
- angular - 不会触发向 FormArray 添加验证
- vue.js - VueJs Hackernews 2.0 中的 Sass 代替 Stylus
- java - ojdbc 可以通过 SOCKS 代理连接到 Oracle 数据库吗?
- git - 如果一个分支从未合并到 master 中,删除该分支是否也会从 repo 中删除其提交?
- vba - 如何复制包含附件的记录?