我正在编写一个程序,我希望控制台输出用户输入的其余数字。但是,每次编译代码时,控制台都会打印出来,我收到此控制台错误:
1 problem (1 warning)
Compiler is using classPath = '[C:\Users\Darien Springer\Documents\Java, C:\Users\Darien Springer\Desktop\drjava-beta-20160913-225446.exe]'; bootClassPath = 'null'
----------
1. WARNING in C:\Users\Darien Springer\Documents\Java\PrintDigits.java (at line 5)
Scanner scnr= new Scanner(System.in);
^^^^
Resource leak: 'scnr' is never closed
----------
1 problem (1 warning)
我不确定控制台的意思是“资源泄漏”。我已经在几个不同的地方查找了它(包括API和其他Stack Overflow问题),我不确定为什么没有打印到控制台。我正在使用DrJava程序以防万一有人在想。
以下是我的参考代码:
import java.util.Scanner;
public class PrintDigits {
public static void main(String [] args) {
Scanner scnr= new Scanner(System.in);
int userInput = 0;
int positiveInt = 0;
System.out.println("enter a positive integer:");
userInput = scnr.nextInt();
positiveInt = userInput % 10;
System.out.println(positiveInt);
return;
}
}
答案 0 :(得分:3)
所有警告都表示,您从未在代码中的任何位置调用java.io.IOException: read failed, socket might closed or timeout, read ret: -1
at android.bluetooth.BluetoothSocket.readAll(BluetoothSocket.java:900)
at android.bluetooth.BluetoothSocket.readInt(BluetoothSocket.java:912)
at android.bluetooth.BluetoothSocket.connect(BluetoothSocket.java:531)
。要让它消失,请在使用完扫描仪后致电scnr.close();
。
scnr.close();