Same problem using the Java ArrayList class (of type <Integer>). Write in Java t
ID: 3689060 • Letter: S
Question
Same problem using the Java ArrayList class (of type <Integer>). Write in Java the following methods: merge, split, bubbleSort. Use this notes for a short list of methods in ArrayList class.
SAMPLE OUTPUT:
Please input the name of the file to be opened for first list: list1.txt
Please input the name of the file to be opened for second list: list2.txt
The first list is: [13, 25, 34, 67, 56, 10, 20, 27, 2, 5, 1, 45, 59]
The second list is: [73, 29, 14, 87, 72, 100, 200, 127, 22, 15, 19, 145, 159, 78]
The merged list is: [13, 25, 34, 67, 56, 10, 20, 27, 2, 5, 1, 45, 59, 73, 29, 14, 87, 72, 100, 200, 127, 22, 15, 19, 145, 159, 78]
The merged list sorted is: [1, 2, 5, 10, 13, 14, 15, 19, 20, 22, 25, 27, 29, 34, 45, 56, 59, 67, 72, 73, 78, 87, 100, 127, 145, 159, 200]
Enter key for split: 33
The first list after split is: [1, 2, 5, 10, 13, 14, 15, 19, 20, 22, 25, 27, 29]
The second list after split is: [34, 45, 56, 59, 67, 72, 73, 78, 87, 100, 127, 145, 159, 200]
FOR input files:
list1.txt: 13 c v b 25 34 x x 67 56 10 a a 20 27 2 a s 5 1 45 59
list2.txt: 73 29 c c c 14 87 72 100 200 c c c 127 22 15 19 c v v v 145 159 78
Explanation / Answer
I have executed it under NetBeans IDE:
package combinetwofile;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class CombineTwoFile
{
public static void main(String[] args) throws IOException
{
BufferedReader keybord = new BufferedReader(new InputStreamReader(System.in));
ArrayList<String> list = new ArrayList<String>();
int merge[]=new int[30];
int i=0;
try
{
BufferedReader br = new BufferedReader(new FileReader( "input1.txt"));
BufferedReader r = new BufferedReader(new FileReader( "input2.txt"));
StringTokenizer t1=new StringTokenizer(br.readLine());
StringTokenizer t2=new StringTokenizer(r.readLine());
String s1 =null;
String s2 = null;
int value;
System.out.print("list 1:[");
while(t1.hasMoreTokens())
{
value=Integer.parseInt(t1.nextToken());
merge[i]=value;
System.out.print(value+" ");
i++;
}
System.out.print("] ");
System.out.print("list 2:[");
while(t2.hasMoreTokens())
{
value=Integer.parseInt(t2.nextToken());
merge[i]=value;
i++;
System.out.print(value+" ");
}
System.out.print("] ");
while ((s1 = br.readLine()) != null)
{
list.add(s1);
}
while((s2 = r.readLine()) != null)
{
list.add(s2);
}
}
catch (IOException e)
{
e.printStackTrace();
}
System.out.print("Merged list:[");
for(int k=0;k<i;k++)
System.out.print(merge[k]+" ");
System.out.print("] ");
int sorted[]=new int[i];
int temp;
for(int l=0;l<i-1;l++){
for(int m=l+1;m<i;m++){
if(merge[l] >= merge[m]){
temp=merge[l];
merge[l]=merge[m];
merge[m]=temp;
}
}
}
System.out.print("Sorted Merged list:[");
for(int k=0;k<i;k++)
System.out.print(merge[k]+" ");
System.out.print("] ");
int sIndex;
System.out.println("Enter the split index:");
sIndex=Integer.parseInt(keybord.readLine());
int total1=0,total2=0;
for(int k=0;k<i;k++)
{
if(sIndex >= merge[k])
total1++;
else
total2++;
}
//System.out.print("total1 "+total1+" total2 "+total2+" i "+i+" ");
int first[]=new int[total1];
int second[]=new int[total2];
System.out.print("after split list 1:[");
for(int k=0;k<first.length;k++)
{
if(sIndex >= merge[k]){
System.out.print(merge[k]+" ");
}
}
System.out.print("] ");
System.out.print("after split list 2:[");
for(int k=0;k<merge.length;k++)
{
if(sIndex < merge[k]){
System.out.print(merge[k]+" ");
}
}
System.out.print("] ");
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.