好的,所以我有一个小问题,扫描器前进了一条额外的线。我有一个文件,其中有许多行包含整数,每行由一个空格分隔。文件中的某个地方有一行没有整数,只有单词“done”。当发现完成时,我们退出循环并打印出小于每行中每个给定整数的最大素数整数(如果整数已经是素数,则不对其进行任何处理)。我们一直这样做,直到“完成”为止。
我的问题:假设文件包含6行,第6行是完成这个词。我的输出将跳过第1、3和5行。它只会返回第2行和第4行的正确值。
下面是我在其中读取值的代码片段:
Scanner in = new Scanner(
new InputStreamReader(socket.getInputStream()));
PrintStream out = new PrintStream(socket.getOutputStream());
while(in.nextLine() != "done"){
String[] arr = in.nextLine().split(" ");
现在我感觉到问题是循环中的nextLine调用推进了行,然后nextline.split调用也推进了行。因此,所有奇数行都将丢失。是否有另一种方法可以在不推进行的情况下检查“完成”,或者是否有可能调用命令以某种方式将扫描仪重置回循环的开始?
我想你在找这个
while(in.hasNextLine()){
String str = in.nextLine();
if(str.trim().equals("done"){
break;
}else{
String[] arr = str.split("\\s+");
//then do whatever you want to do
}
}
问题是您有2个调用nextLine()
尝试这样的操作
String line = in.nextLine();
while (!"done".equals(line)) {
String[] arr = line.split(" ");
// Process the line
if (!in.hasNextLine()) {
// Error reached end of file without finding done
}
line = in.nextLine();
}
另请注意,我修复了您应该使用equals()
检查“完成”
的问题。
我有一个PDF文件,里面有海量的xmp元数据,当我用itext7处理它的时候,程序卡在语句查看源代码,发现在Pdffile对象的构造函数中执行了open(null)方法,最后卡在了并且没有避免它的选项,xmp元数据对我来说毫无用处。 有了itextSharp,基于PDF/A上的删除XMP元数据,我可以得到一个没有元数据的pdf文件。 我试图创建PdfReader或PdfDocument的子类,试图
我有一个JPA实体类,它使用关系来检索它的一些字段。有几个针对这个实体的查询只需要返回几个字段,都是从主表返回的。 我希望使用Spring Data JPA Projection接口,在我的存储库上进行查询,以便在不需要的时候自动避免连接到辅助表。在我的测试中,我还没有实现这一点,Hibernate生成的查询总是连接到辅助表,即使辅助表中的所有字段都不在投影上。是否支持这种行为,或者是否有更好的方
问题内容: 有没有办法使用泛型说“此方法返回”? 当然,我想在子类中重写此方法,因此声明应与一起使用。 这是一个例子: 根本不起作用:我收到“类型不匹配:无法从Base转换为T”。如果我强制使用强制转换,则覆盖将失败。 问题答案: 不,无法表达这一点。只需声明该方法即可返回类的类型。Java具有协变返回类型,因此无论如何您都可以重写方法以返回更特定的类型。 如果您想为此添加一些标记,则可以随时引入
我正在寻找一种使用npm脚本来运行tsc的方法——看 tsc—执行watch,但从不调用nodemon,反之亦然。
我有一些用MATLAB进行图像处理的代码。为了运行matlab代码,我们需要购买matlab许可证。但根据我的项目的要求,我必须使用任何开源软件。所以我想我可以把整个代码转换成Java。 用根啤酒是个好主意吗???
GeoFire与实时数据库紧密耦合,而地理查询是许多希望迁移到FireStore的应用程序的常见功能依赖项。有没有办法在Firestore环境中复制位置的散列/检索?