我正在使用Netbeans IDE 8.0.2创建一个java程序,其中用户输入一个起始编号和一个结束编号。一旦他们点击JButton,它就会输出一个循环,从JLabel中的起始编号开始到结束编号(例如,3,4,5,6,7,8)。循环在控制台中完全正常运行,但只有最后一个循环数输出到JLabel。
代码如下
import java.io.FileInputStream;
import java.io.IOException;
class Input {
public static void main(String[] args) throws IOException {
FileInputStream fis=null;
try {
fis=new FileInputStream("file.txt");
int available=fis.available();
byte[] read=new byte[available];
int bytesRead;
int offset=0;
while(offset<read.length) {
bytesRead=fis.read(read,offset,read.length-offset);
if (bytesRead==-1) break;
offset+=bytesRead;
}
System.out.println(read.length);
for (byte b:read) {
int i=b & 0xFF;
System.out.write(i);
System.out.write('\t');
}
}
finally {
if (fis != null)
try {
fis.close();
}
catch(IOException e) {
e.printStackTrace();
}
}
}
}
如果我能得到任何帮助,为什么会发生这种情况以及如何解决这个问题,那将是惊人的。
答案 0 :(得分:2)
在每次迭代中,您都会覆盖JLabel中的文本。这就是JLabel总是显示最后一个数字的原因。
将单个字符串中的所有整数连接起来,然后在循环完成后,将JLabel的文本设置为连接字符串。
__()
顺便说一下:你有语法错误。