code in java Create an collection and fill it with 20 random numbers between 1 a
ID: 3830936 • Letter: C
Question
code in java
Create an collection and fill it with 20 random numbers between 1 and 15 (inclusive)Seed the constructor of class Random with the value 132. Print the numbers3. Serialize the collection to a file called Numbers.ser4. Deserialize the file into a new collection called numberFromFile. Remove all duplicate numbers5. Print the resulting collection (the one without duplicates)
Output:
Numbers: [8, 11, 6, 14, 14, 6, 14, 9, 2, 15, 11, 7, 11, 11, 3]Numbers without duplicates: [2, 3, 6, 7, 8, 9, 11, 14, 15]
Explanation / Answer
package org.students;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.util.Random;
public class SerializationDeSerialization {
public static void main(String[] args) throws Exception {
Random r=new Random(132);
int numbers3[]=new int[20];
for(int i=0;i<numbers3.length;i++)
{
numbers3[i]=r.nextInt(15) + 1;
}
System.out.println("Numbers :");
for(int i=0;i<numbers3.length;i++)
System.out.print(numbers3[i]+" ");
ObjectOutputStream oos=new ObjectOutputStream(new FileOutputStream("D:\Numbers.ser4"));
oos.writeObject(numbers3);
oos.flush();
oos.close();
ObjectInputStream ois=new ObjectInputStream(new FileInputStream("D:\Numbers.ser4"));
int[] numberFromFile = (int[]) ois.readObject();
ois.close();
//This Logic will Sort the Array of elements in Ascending order
int temp;
for (int i = 0; i < numberFromFile.length; i++)
{
for (int j = i + 1; j < numberFromFile.length; j++)
{
if (numberFromFile[i] > numberFromFile[j])
{
temp = numberFromFile[i];
numberFromFile[i] = numberFromFile[j];
numberFromFile[j] = temp;
}
}
}
int curr = numberFromFile[0];
boolean found = false;
int numbers5[]=new int[numberFromFile.length];
System.out.println(" Numbers Without Duplicates :");
int k=0;
for (int i = 0; i < numberFromFile.length; i++) {
if (curr == numberFromFile[i] && !found) {
found = true;
} else if (curr != numberFromFile[i]) {
numbers5[k++]=curr;
curr = numberFromFile[i];
found = false;
}
}
numbers5[k++]=curr;
for(int i=0;i<k;i++)
System.out.print(numbers5[i]+" ");
}
}
______________________
Output:
Numbers :
7 8 9 2 10 1 9 8 8 14 8 4 15 2 4 13 7 2 14 14
Numbers Without Duplicates :
1 2 4 7 8 9 10 13 14 15
_________________
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.