Чтение только точных данных о совпадении из текстового файла на Java - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь найти способ извлечь или прочитать только один тип содержимого из текстового файла с использованием Java.

Допустим, мой текстовый файл содержит:

Как тебя зовут, 00 5 6 0 K Напиши 0 9 2 Имя Давай не будем говорить около 1 1 0 5 это

Теперь, что я хочу - моя Java-программа запускается и может найти только двоичные значения, равные 1 и 0. оставив все остальные вещи в текстовом файле и покажи их. Также, если возможно, посчитать двоичные значения.

Спасибо

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Я нашел решение, просто измените первый файл, Read1 - То, что я сделал, было сделано с помощью count ++ для 0 и c ++ для 1. Надеюсь, поможет.

package Binary; 
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 

public class Read1 {

    public static void main(String[] args) 
    {   int count=0;
        int c=0;

        BufferedReader br = Read2.openFile("src/in.txt"); 
            String line; 

                while ((line = Read2.readLine(br)) != null) 
        { 
            for (char letter : line.toCharArray()) 
            {       if (letter == '0')
            {
                count++;
            }
            if (letter == '1') {
                c++;
            }

            } 


        }

                System.out.println("Number of Zeros:" +count);
                System.out.println("Number of ones:" +c); 
}
}

Вот вывод:

Количество нулей: 14

Количество штук: 16

Спасибо всем за помощь.

0 голосов
/ 04 июля 2018

Я нашел решение - Первый файл

package Binary; 
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 

public class Read1 {

    public static void main(String[] args) 
    { 
        BufferedReader br = Read2.openFile("src/in.txt"); 
            String line; 
                while ((line = Read2.readLine(br)) != null) 
        { 
            for (char letter : line.toCharArray()) 
            {       if (letter >= '0' && letter <= '1') 
                    System.out.print(letter + " "); 
            } System.out.println(); 
        }   
    } 
}

Это еще один файл в пакете,

package Binary; 
import java.io.BufferedReader; 
import java.io.FileReader; 
import java.io.IOException; 


public class Read2 
{ 
    public static BufferedReader openFile(String filename) 
    { 
        try { 
                return new BufferedReader(new FileReader(filename)); 
            } 
            catch (IOException e) 
            { 
                return null; 
            } 

    } 

    public static void closeFile(BufferedReader reader) 

    { try 
        { 
            reader.close(); 
        } catch (IOException e) 
        { 

        } 
    } 

    public static String readLine(BufferedReader reader) 
    { 
        try 
        { 
            return reader.readLine(); 
        } catch (IOException e) 
        { 
            return null; 
        }
    }

}

А мои текстовые файлы выглядят так:

как дела

1 0 1 0 1 0 0 10 10 10 10 111 0100 1 111

Man01 No932 53 53 46 4 2

33 0 0 3

И результат был:

1 0 1 0 1 0 
0 1 0 1 0 1 0 1 0 
1 1 1 0 1 0 0 1 1 1 1 
0 1  
0 0 

Теперь, чтобы еще больше улучшить программу, я также хочу напечатать, сколько раз программа нашла и 0, и 1 в текстовом файле. В основном, общее количество случаев.

Любая помощь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...