Java 从txt文件中计数

Java 从txt文件中计数,java,string,java.util.scanner,Java,String,Java.util.scanner,我正在尝试解决一个练习:我有一个txt文件,其中的图像(20行x20列)是0和1的随机图像。在每个图像(20x20)之间有一条空行的间隙 根据这个txt文件,我必须计算这些图像中有多少图像的1大于0。最后,我还需要找到一张图像中出现的最大数量的1 这是我到目前为止的代码。。。但是我有点迷路了 import java.io.File; import java.util.Scanner; public class Main { public static void main(String

我正在尝试解决一个练习:我有一个txt文件,其中的图像(20行x20列)是0和1的随机图像。在每个图像(20x20)之间有一条空行的间隙

根据这个txt文件,我必须计算这些图像中有多少图像的1大于0。最后,我还需要找到一张图像中出现的最大数量的1

这是我到目前为止的代码。。。但是我有点迷路了

import java.io.File;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        File input = new File("path to my txt file");
        Scanner scanner = new Scanner(new File("path to my txt file"));

        int counter = 0;
        while (scanner.hasNext()){
            String word1 = scanner.next();
            String word2 = scanner.next();
            boolean switcher = false;


        int howManyOnes ("//path to my image file????") {
            int ones = 0;
            for (int i = 0; i < 20; i++) {
                for (int j = 0; j < 20; j++) {
                    ones +=?[i][j];
                }
            }
            return ones;
        }
    }
}
导入java.io.File;
导入java.util.Scanner;
公共班机{
公共静态void main(字符串[]args){
文件输入=新文件(“我的txt文件的路径”);
Scanner Scanner=新扫描仪(新文件(“我的txt文件的路径”);
int计数器=0;
while(scanner.hasNext()){
String word1=scanner.next();
String word2=scanner.next();
布尔切换器=假;
int howmanyes(//我的图像文件的路径??){
整数=0;
对于(int i=0;i<20;i++){
对于(int j=0;j<20;j++){
1+=?[i][j];
}
}
返回一个;
}
}
}

以下是我的理解,我将以此作为回答的基础

您的输入是一个文本文件,其中每个非空行总共有20个字符,其中一些是“1”,一些是“0”

“图像”是连续非空行的集合。当出现一个空行时,它表示一个“图像”的结束和下一个“图像”的开始

您的目标是:

计算这些图像中有多少图像的1大于0

查找一个图像中出现的最大数量的1

由于这似乎是一个家庭作业类型的问题,我将为您提供一些指导,说明如何先设计代码,如果您仍在努力,我可以提供其他详细信息。请参阅

假设

  • 您可以使用
    String
    类的任何方法
  • 考虑要跟踪的内容以及要跟踪的范围。您需要能够识别图像的开始和结束时间,并跟踪在该图像中看到的1和0的数量。也就是说,当图像开始时,该图像的1和0的数量应为零,并且应在识别时递增它们位于图像的每一行中。处理图像后,您需要将它们重置为0以准备处理下一个图像

    在处理完单个图像的同时,您需要确定该图像中的1s数是否大于到目前为止在任何其他图像中看到的1s数,以及是否跟踪该值。该值的范围大于前面提到的值,因为它是由all的图像。它必须与每个图像一起重置。类似地,1s大于0s的图像数量也具有这种范围-它应该与每个图像一起重置,而应该一直保持到整个文件处理完毕

    接下来,考虑如何确定图像中的1s和0的数量。看起来你正在考虑循环遍历每个字符,你可以这样做,但是有一种更简单的方法,它与我所提到的假设有关。


    我希望这能让您开始。请在编写更多代码时更新您的问题,我也很乐意更新我的答案。

    您似乎在方法中编写了一个方法。这不会编译吗?