Practice Question Write a program that takes around 20 numbers from a user. Appr
ID: 3897969 • Letter: P
Question
Practice Question Write a program that takes around 20 numbers from a user. Appr Make different classes to do the following: 1. Create a new file and put these numbers in the file, name it as "Any Name> .txt" 2. Read the file and display all the numbers as a list. 3. Print the average of the numbers. 4. Prints the highest and lowest number. 5. Filters out all of the even numbers 6. Sort all the numbers and append the sorted numbers back in the Si Bac same file after adding a line "Sorted list of numbers"Explanation / Answer
Operations.java
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
public class Operations {
int nos[]=new int[20];
public void writeFile()
{
int num;
/*
* Creating an Scanner class object which is used to get the inputs
* entered by the user
*/
Scanner sc = new Scanner(System.in);
try {
FileWriter fw=new FileWriter(new File("nos.txt"));
for(int i=0;i<20;i++)
{
System.out.print("Enter number :"+(i+1)+":");
nos[i]=sc.nextInt();
fw.write(nos[i]+" ");
}
fw.close();
sc.close();
} catch (IOException e) {
e.printStackTrace();
}
}
public void readFile()
{
int num,i=0;
try {
Scanner sc = new Scanner(new File("nos.txt"));
while(sc.hasNext())
{
num=sc.nextInt();
nos[i]=num;
System.out.println(num);
}
sc.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public void calAvg()
{
double sum=0.0;
for(int i=0;i<nos.length;i++)
{
sum+=nos[i];
}
System.out.printf("Average :%.2f ",(sum/(nos.length)));
}
public void findMax()
{
int max=nos[0];
for(int i=0;i<nos.length;i++)
{
if(max<nos[i])
{
max=nos[i];
}
}
System.out.println("Maximum element is :"+max);
}
public void findMin()
{
int min=nos[0];
for(int i=0;i<nos.length;i++)
{
if(min>nos[i])
{
min=nos[i];
}
}
System.out.println("Minimum element is :"+min);
}
public void displayEvenNumbs()
{
System.out.println("Displaying even numbers");
for(int i=0;i<nos.length;i++)
{
if((nos[i])%2==0)
{
System.out.println(nos[i]);
}
}
}
public void sortArrayWriteFile()
{
//This Logic will Sort the Array of elements in Ascending order
int temp;
for (int i = 0; i < nos.length; i++)
{
for (int j = i + 1; j < nos.length; j++)
{
if (nos[i] > nos[j])
{
temp = nos[i];
nos[i] = nos[j];
nos[j] = temp;
}
}
}
try {
FileWriter fw=new FileWriter("nos.txt",true);
fw.write("-- Sorted List of Numbers --");
for(int i=0;i<nos.length;i++)
{
fw.write(nos[i]+" ");
}
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
_______________
Test.java
public class Test {
public static void main(String[] args) {
Operations op=new Operations();
op.writeFile();
op.readFile();
op.calAvg();
op.calAvg();
op.findMax();
op.findMin();
op.displayEvenNumbs();
op.sortArrayWriteFile();
}
}
________________
Output:
Enter number :1:54
Enter number :2:23
Enter number :3:78
Enter number :4:81
Enter number :5:65
Enter number :6:54
Enter number :7:43
Enter number :8:78
Enter number :9:89
Enter number :10:98
Enter number :11:8
Enter number :12:6
Enter number :13:64
Enter number :14:17
Enter number :15:74
Enter number :16:56
Enter number :17:60
Enter number :18:34
Enter number :19:56
Enter number :20:77
54
23
78
81
65
54
43
78
89
98
8
6
64
17
74
56
60
34
56
77
Average :56.90
Average :56.90
Maximum element is :98
Minimum element is :6
Displaying even numbers
78
54
78
98
8
6
64
74
56
60
34
56
_________
nos.txt
54
23
78
81
65
54
43
78
89
98
8
6
64
17
74
56
60
34
56
77
-- Sorted List of Numbers --6
8
17
23
34
43
54
56
56
60
64
65
74
77
77
78
78
81
89
98
_____________Thank You
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.