Обработка файлов в java недоразумении - PullRequest
0 голосов
/ 21 июня 2020

Hy, в настоящее время я изучаю Java, и я много читал об обработке файлов в Java, но я еще не понял.


import java.math.BigInteger;
import java.util.Scanner;

public class multiply {

    public static void main(String []args) {
            Scanner cin = new Scanner(System.in);  // Create a Scanner object

            String firstNumber = "";
            int n = cin.nextInt();
            while (n != 0) {
                int number = cin.nextInt();
                firstNumber = firstNumber + number;
                n--;
            }
            BigInteger number1 = new BigInteger(firstNumber);
            
            String firstNumber2 = "";
            int n2 = cin.nextInt();
            while (n2 != 0) {
                int number2 = cin.nextInt();
                firstNumber2 = firstNumber2 + number2;
                n2--;
            }
            BigInteger number2 = new BigInteger(firstNumber2);
            //BigInteger res = new BigInteger(number1.multiply(number2));
            
            System.out.println(number1.multiply(number2));
        
    }

}

Я придумал эту программу, которая умножает большое целое число, но я не знаю, что мне добавить, чтобы он читал из файла с именем "multiply.in" и отображал результат в файле "multiply.out" .

В C ++ я знаю, что использование ifstream, ofstream решает проблему.

Если бы вы могли помочь мне с кодом, я был бы очень признателен.

1 Ответ

0 голосов
/ 21 июня 2020

Этот код читает файл и принимает только целые значения из первой строки. и выполняет такие операции, как сложение и умножение, и записывает в файл.

            public static void main(String args[]) throws IOException {
            Scanner cin = new Scanner(System.in);  // Create a Scanner object
    
            File file = new File("/home/Downloads/multiplyin.txt");
            File fileOut = new File("/home/Downloads/multiplyOut.txt");
    
            BufferedReader reader = new BufferedReader(new FileReader(file));
            String firstNumber = reader.readLine();
            System.out.println("input 1");
            int n = cin.nextInt();
            System.out.println("input 2");
            int n2 = cin.nextInt();
    
            while (n != 0) {
                System.out.println("sub inputs" + n);
                int number = cin.nextInt();
                firstNumber = firstNumber + number;
                n--;
            }
            BigInteger number1 = new BigInteger(firstNumber);
    
    
            while (n2 != 0) {
                System.out.println("sub inputs" + n);
                int number2 = cin.nextInt();
                firstNumber = firstNumber + number2;
                n2--;
            }
            BigInteger number2 = new BigInteger(firstNumber);
    
            BufferedWriter writer = new BufferedWriter(new FileWriter(fileOut));
            writer.write(String.valueOf(number1.multiply(number2)));
            writer.close();
            reader.close();
        }
    }
...