Java 将条形码输入捕获到单个字符串中
我一直在努力解决这个问题,但没有解决办法,我确信我做错了很简单。但是我试图将输入捕获到一个简单的字符串中。我尝试将键添加到数组中,并尝试将它们转换为字符串,但没有效果 这是我的基本代码Java 将条形码输入捕获到单个字符串中,java,arrays,string,barcode,Java,Arrays,String,Barcode,我一直在努力解决这个问题,但没有解决办法,我确信我做错了很简单。但是我试图将输入捕获到一个简单的字符串中。我尝试将键添加到数组中,并尝试将它们转换为字符串,但没有效果 这是我的基本代码 @Override public void keyPressed(KeyEvent e) { if(e.getKeyCode() >=48 && e.ge
@Override
public void keyPressed(KeyEvent e) {
if(e.getKeyCode() >=48 && e.getKeyCode() <=57){
String myString = Character.toString(e.getKeyChar());
keys.add(myString);
}
System.out.println(keys);
}
});
最后几个条目是正确的条形码,但我无法使用以下方法将它们分开:
String barcode = keys.get(keys.size() - 1);
当我打印条形码时,我得到
4
2
2
1
1
4
7
1
1
1
1
这是错误的,因为有额外的数字,而且它不是一个没有空格的字符串。看起来像
键
-是列表。因此,当您试图打印它时,Java会打印toString
函数的结果(类似于此[4,2,2,1,1,4,7]
)。但是使用keys.get(n)
只能获取此列表中的最后一个元素
试试这个:
String barcode=keys.toString()
顺便说一句,您有一些额外的数字,因为计算了
按键
函数,该函数会将新值添加到按键
列表中。谢谢,我下班回家后会试试。不,没有运气。我得到了[4][4,2][4,2,2][4,2,2][4,2,2,1,1][4,2,2,1,1,4][4,2,2,1,1,4,7][4,2,2,1,1,4,4,4,7,7,1][4,2,2,2,1,4,7,1]和之前的结果一样。还有什么想法吗?
4
2
2
1
1
4
7
1
1
1
1