Can someone connect two java files together? Thank you import java.io.*; public
ID: 3713889 • Letter: C
Question
Can someone connect two java files together? Thank you
importjava.io.*;
publicclassFIFO {
publicstaticvoidmain(String[]args) throwsIOException
{
BufferedReader br= newBufferedReader(newInputStreamReader(System.in));
intframes, pointer= 0, hit= 0, fault= 0,ref_len;
intbuffer[];
intreference[];
intmem_layout[][];
System.out.println("Please enter the number of Frames: ");
frames= Integer.parseInt(br.readLine());
System.out.println("Please enter the length of the Reference string: ");
ref_len= Integer.parseInt(br.readLine());
reference= newint[ref_len];
mem_layout= newint[ref_len][frames];
buffer= newint[frames];
for(intj= 0; j< frames; j++)
buffer[j] = -1;
System.out.println("Please enter the reference string: ");
for(inti= 0; i< ref_len; i++)
{
reference[i] = Integer.parseInt(br.readLine());
}
System.out.println();
for(inti= 0; i< ref_len; i++)
{
intsearch= -1;
for(intj= 0; j< frames; j++)
{
if(buffer[j] == reference[i])
{
search= j;
hit++;
break;
}
}
if(search== -1)
{
buffer[pointer] = reference[i];
fault++;
pointer++;
if(pointer== frames)
pointer= 0;
}
for(intj= 0; j< frames; j++)
mem_layout[i][j] = buffer[j];
}
for(inti= 0; i< frames; i++)
{
for(intj= 0; j< ref_len; j++)
System.out.printf("%3d ",mem_layout[j][i]);
System.out.println();
}
System.out.println("The number of Hits: "+ hit);
System.out.println("Hit Ratio: "+ (float)((float)hit/ref_len));
System.out.println("The number of Faults: "+ fault);
}
}
importjava.util.Scanner;
publicclassLRU {
publicstaticintmin(intcounter[],intnFrames)
{
intminimum= counter[0];
intpos= 0;
for(inti=0;i<nFrames;i++) { if(minimum> counter[i])
pos= i;
}
returnpos;
}
publicstaticvoidmain(String[]args) {
// TODOcode application logic here
Scanner s= newScanner(System.in);
intn,recent= 0,pageFault= 0,nFrames;
System.out.print("Enter the number of pages: ");
n= s.nextInt();
intpageString[] = newint[n];
System.out.print("Enter the page reference string: ");
for(inti=0;i<n;i++)
pageString[i]=s.nextInt();
System.out.print(" Enter the number of frames: ");
nFrames= s.nextInt();
intframes[] = newint[nFrames];
intcounter[] = newint[nFrames];
for(inti=0;i<nFrames;i++)
{ frames[i] = 0;
counter[i] = 0;//here 0 referes an empty space in frame
}
for(inti=0;i<n;i++)
{intflag=0;
for(intj=0;j<nFrames;j++)
{
if(frames[j] == pageString[i])
{flag=1;
counter[j] = recent++; //counter holds which frame is recently used,
//recently used page in frame will have a bigger number
//and least recently used page in frame will have a lower number
break;
}
}
if(flag== 0)
{
for(intj=0;j<nFrames;j++)
{if(frames[j] == 0)
{ frames[j] = pageString[i];
counter[j] = recent++;
flag=1;
pageFault++;
break;
}
}
}
if(flag== 0){
intPositionToreplace= min(counter,nFrames);
frames[PositionToreplace] = pageString[i];
counter[PositionToreplace] = recent++;
pageFault++;
}
//print frames
System.out.println();
for(intj=0;j<nFrames;j++)
{
System.out.print(frames[j]+" ");
}
}
System.out.print(" Page Fault: "+pageFault);
}
}
Explanation / Answer
Please find my answer.