منتدى مصر التقني
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

تمارين بلغة الجافا...اكتب برنامج يقرأ ملف الارقام من نوع int ويكتب كل أرقام إلى ملف آخر ، ولكن بدون أي أرقام مكررة

اذهب الى الأسفل

تمارين بلغة الجافا...اكتب برنامج يقرأ ملف الارقام من نوع int ويكتب كل أرقام إلى ملف آخر ، ولكن بدون أي أرقام مكررة Empty تمارين بلغة الجافا...اكتب برنامج يقرأ ملف الارقام من نوع int ويكتب كل أرقام إلى ملف آخر ، ولكن بدون أي أرقام مكررة

مُساهمة من طرف أحمد مناع في الثلاثاء يونيو 02, 2020 5:01 pm

اهلا وسهلا بكم

السؤال على النحو التالى :

Write a program that reads a file of numbers of type int and writes all the
numbers to another file, but without any duplicate numbers. Assume that
the numbers in the input file are already ordered from smallest to largest.
After the program is run, the new file will contain all the numbers in the
original file, but no number will appear more than once in the file. The
numbers in the output file should also be sorted from smallest to largest.
Your program should obtain both file names from the user. Use either a
text file or a binary file. For the text-file version, assume one number per
line. For the binary-file version, use numbers of type int that are written
using writeInt.


السؤال يتطلب كتابة برنامج لقراءة ارقام من ملف نصي ثم اعادة كتابة تلك الارقام مرة اخري فى ملف نصي اخر لكن بدون تكرار اى رقم من الارقام التى بالملف الاول مع مراعاة تريب الارقام من الاصغر الى الاكبر....وكتابة اسم الملفات من خلال المستخدم

والحل على النحو التالى :

الكود:
package numbers;
// Java program to remove
// duplicates from input.txt and
// save output to output.txt

import java.io.*;
import java.util.Arrays;
import java.util.Random;
import java.util.Scanner;

public class FileOperation
{
   public static void main(String[] args) throws IOException
   {
            
            
                
       // getting the line separator of the system
       String newline = System.getProperty("line.separator");
      
         // إنشاء كائن الادخال
         Scanner s = new Scanner (System.in);
    
         // مطالبة المستخدم بادخال اسم للملف الاول
         System.out.println("Entre the original file name :");
         String Original_file= s.next();
    
      
         // إنشاء كائن الملفات مع تمرير اسم الملف الية
         File file = new File (Original_file);
      
         // إنشاء كائن الطباعة وكتابة الملفات
          PrintWriter out =new  PrintWriter(new FileWriter(file));
      
      
          // إنشاء كائن توليد الارقام العشوائية
          Random randomGenerator = new Random();
      
          // انشاء مصفوفة رقمية بحجم خميس رقم
          int[] array = new int[50];
      
          // حلقة تكرارية للحصول على 50 رقم عشوائي
         for(int i = 0; i < array.length; i++) {
               int randomInt = randomGenerator.nextInt(20) + 1;
          
              // تخزين الرقم العشوائى المستخرج بالمصفوفة
              array[i]=randomInt;
      
        }
      
          // ترتيب عناصر المصفوفة من الاصغر للاكبر
          Arrays.sort(array);
      
        for (int i = 0; i < array.length; i++) {
        // كتابة الارقام الى الملف النصي
        out.write(Integer.toString(array[i]));
        out.write(newline);
      
       }
      
       out.close();
      
        
   System.out.println("The Original file IS Create successfully");
        
                // مطالبة المستخدم بادخال اسم للملف الثاني
               System.out.println("Entre the original file name :");
               String output_file= s.next()+".txt";
            
      // PrintWriter object for output.txt
      PrintWriter pw = new PrintWriter(output_file);
                              
                   
      // BufferedReader object for input.txt
      BufferedReader br1 = new BufferedReader(new FileReader(Original_file));
      
      String line1 = br1.readLine();
      
      // loop for each line of input.txt
      while(line1 != null)
      {
         boolean flag = false;
         
         // BufferedReader object for output.txt
         BufferedReader br2 = new BufferedReader(new FileReader(output_file));
         
         String line2 = br2.readLine();
         
         // loop for each line of output.txt
         while(line2 != null)
         {
            
            if(line1.equals(line2))
            {
               flag = true;
               break;
            }
            
            line2 = br2.readLine();
         
         }
         
         // if flag = false
         // write line of input.txt to output.txt
         if(!flag){
            pw.println(line1);
            
            // flushing is important here
            pw.flush();
         }
         
         line1 = br1.readLine();
         
      }
      
      // closing resources
      br1.close();
      pw.close();
                
                System.out.println("The New file output IS Create successfully");
      
   }
}

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 1061
النقاط : 201923
التقيم : 130
الدولة : مصر
الجنس : ذكر

https://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى