Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.company;
- import java.io.*;
- import java.util.Scanner;
- public class Main {
- public static String inputPath(){
- Scanner scan = new Scanner(System.in);
- boolean isIncorrect;
- String path;
- System.out.println("Введите абсолютную ссылку на файл");
- do {
- isIncorrect = false;
- path = scan.nextLine();
- File outputFile = new File(path);
- if (!outputFile.exists()){
- System.out.println("Файл не найден! Введите абсолютную ссылку на файл");
- isIncorrect = true;
- }
- }while (isIncorrect);
- return path;
- }
- public static int findSumOfDividers(int number){
- int sum = 0;
- for (int i = 1; i < number; i++){
- if (number % i == 0){
- sum += i;
- }
- }
- return sum;
- }
- public static void outputToFile(String path) throws Exception {
- FileWriter writer = new FileWriter(path);
- int firstNumber;
- int secondNumber;
- boolean notRepeatNumbers = true;
- for (int i = 1; i < 32000; i++){
- firstNumber = findSumOfDividers(i);
- secondNumber = findSumOfDividers(firstNumber);
- if ((i == secondNumber) && (secondNumber != firstNumber)){
- if (notRepeatNumbers){
- writer.write(firstNumber + " и " + secondNumber + "\n");
- System.out.println(firstNumber + " и " + secondNumber);
- notRepeatNumbers = false;
- }else{
- notRepeatNumbers = true;
- }
- }
- }
- writer.close();
- System.out.println("Информация успешно записана в файл!");
- }
- public static void main(String[] args) throws Exception {
- System.out.println("Программа выводит все дружественные числа до 32000");
- String path = inputPath();
- outputToFile(path);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement