我尝试仅将偶数添加到ArrayList
。我认为使用扫描仪处理文件是最合适的工具。文件的路径应该写在控制台中。我还使用两种最流行的方法来定义偶数。
问题是 - 不仅仅是偶数添加到我的 ArrayList 中。
这是我的代码:
BufferedReader bfReader = new BufferedReader(new InputStreamReader(System.in));
InputStream inputStream = null;
List<Integer> myInts = new ArrayList<Integer>();
String filePath = null;
try {
filePath = bfReader.readLine();
inputStream = new FileInputStream(filePath);
} catch (IOException e) { }
Scanner scanner = new Scanner(inputStream);
while (scanner.hasNext()) {
if ((scanner.nextInt() % 2) == 0 && scanner.nextInt() != 1)
myInts.add(scanner.nextInt());
// if ((scanner.nextInt() & 1) == 0)
// myInts.add(scanner.nextInt());
}
for (Integer x : myInts) {
System.out.println(x);
}
我想我误解了有关扫描仪
的一些内容。
很高兴收到任何答案!
最佳答案
原因是每次新调用nextInt()
都会从输入中读取新的整数。
这是一个修改后的代码片段,说明了您可能想要尝试的内容:
Scanner scanner = new Scanner(inputStream);
int myInt;
while (scanner.hasNext()) {
myInt = scanner.nextInt();
if ((myInt % 2) == 0 && myInt != 1)
myInts.add(myInt);
}
有关更多信息,请参阅 docs .
关于java - 使用Java扫描仪偶数和奇数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35139231/