我使用jSerialComm库和扫描仪类。当我尝试运行我的程序时,我得到以下错误:
线程“main”中出现异常Java . lang . nullpointerexception < br >位于java.io.Reader .(未知源)< br >位于java.io.InputStreamReader .(未知源)< br >位于java.util.Scanner .(未知源)< br >位于serial comm . main(serial comm . Java:44)
它指向以下行:Scanner Scanner=new Scanner(port.getInputStream());
import java.util.Scanner;
import com.fazecast.jSerialComm.*;
public class SerialComm {
public static void main(String[] args) {
// TODO Auto-generated method stub
SerialPort serPort[] = SerialPort.getCommPorts();
int i = 0;
for(SerialPort port : serPort)
{
System.out.println(i++ + " " + port.getSystemPortName());
}
Scanner s = new Scanner(System.in);
int selected = s.nextInt();
SerialPort port = serPort[selected];
System.out.println(port.getBaudRate());
port.setBaudRate(115200);
System.out.println(port.getBaudRate());
port.setNumDataBits(8);
port.setNumStopBits(1);
port.setParity(SerialPort.NO_PARITY);
try
{
port.openPort();
System.out.println("Connection is opend");
}
catch (Exception ex)
{
System.out.println("Chack connection ther is a problem");
}
port.setComPortTimeouts(SerialPort.TIMEOUT_READ_SEMI_BLOCKING, 100, 0);
Scanner scanner = new Scanner(port.getInputStream());
while(scanner.hasNextLine())
{
try
{
String line = scanner.nextLine();
System.out.println(line);
}
catch(Exception ex)
{
System.out.println("halo");
}
}
}
}
我已经测试了你的代码,它在我的Arduino上运行良好,这是Arduinos草图
void setup(){
Serial.begin(115200);
}
void loop(){
for(int i = 0;i<1024;i++){
Serial.println(i);
delay(1);
}
for(int i = 1023;i>0;i--){
Serial.println(i);
delay(1);
}
}
我正在为课堂做作业。由于某种原因,程序完全跳过了用户应该键入变量的部分。我想不出任何理由为什么它会以这种方式运行,因为我的其余代码位于部分之后(它要求诸如和类型之类的东西)工作正常且有序。
如果我们用扫描仪进行控制台输入,我们有两种方法来编写输入循环 我相信第二个更正确,因为在hasNextLine()javadoc中提到了这个方法正在等待新的行。但为什么第一个也是工作的,等待一个新的行没有suchelementexception?
问题内容: 我正在使用嵌套循环从字符串行(从文本文件)中提取数字,如下所示: 问题在于此代码将跳过所有空格,但是我也需要使用这些“空格”。那么可以返回空格还是我需要使用其他东西? 我的文本文件可能包含以下内容: 这些空白行各包含1条,这就是我需要返回的行。 问题答案: 使用扫描仪和方法,您将找到解决方案,因为这将使您能够捕获空白行或空白行。
问题内容: 我刚刚了解了Java的Scanner类,现在我想知道它如何与StringTokenizer和String.Split进行比较/竞争。我知道StringTokenizer和String.Split仅适用于字符串,那么为什么要对字符串使用扫描器?扫描仪是否仅打算一站式进行拆分? 问题答案: 他们本质上是课程的马。 设计用于需要解析字符串,提取不同类型数据的情况。它非常灵活,但是可以说它并没
控制台: