Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 4

import dataStructures.

Chain;

import java.util.Scanner;
import java.util.Random;

public class MyChain extends Chain {


Scanner scanner = new Scanner(System.in);
Random rand = new Random();
public void getValuesInList(){
System.out.println("yugaar utga oruulah ve\n1. Random\n2. garaar");
int choice = 0;
choice = scanner.nextInt();
if (choice < 0 && choice > 3)
throw new IllegalArgumentException
("choice right");
System.out.println("heden element nemeh ve");
int size = 0;
size = scanner.nextInt();

if (size < 0)
throw new IllegalArgumentException
("choice right");
switch(choice) {
case 1:
for(int i = 0; i < size; i++) {
this.add(size(), rand.nextInt(100));
}
break;
case 2:
for(int i = 0; i < size; i++) {
this.add(size(), scanner.nextInt());
}
break;
}
}
public Object[] toArray() {
Object[] resultArray = new Object[size()];
for (int i = 0; i < size(); i++) {
resultArray[i] = this.get(i);
}
return resultArray;
}
public void addRange(Object input[]) {
for(int i = 0; i < input.length; i++) {
this.add(size(), input[i]);
}
}
public boolean isIn(Object var) {
boolean result = false;
for(int i = 0; i < size(); i++) {
if(var.equals(get(i))){
result = true;
break;
}
}
return result;
}
public MyChain union(MyChain chain) {
MyChain unionList = new MyChain();

for (int i = 0; i < size(); i++) {


unionList.add(unionList.size(), get(i));
}

for (int i = 0; i < chain.size(); i++) {


if (!isIn(chain.get(i))) {
unionList.add(unionList.size(), chain.get(i));
}
}

return unionList;
}
public MyChain intersection(MyChain chain) {
MyChain intersectionList = new MyChain();
for (int i = 0; i < size(); i++) {
if (chain.isIn(get(i))) {
intersectionList.add(intersectionList.size(), get(i));
}
}
return intersectionList;
}
public static void main(String[] args) {
MyChain myChain1 = new MyChain();
MyChain myChain2 = new MyChain();
Object myArray1[] = null;
Scanner scanner = new Scanner(System.in);
int choice = -1;
while(choice != 0) {
System.out.println("1. utga nemeh\n2. jagsaaltiig massiv bolgoh\
n3. massiviig jagsaalt bolgoh\n4. Union 2 Lists\n5. intersection 2 Lists\n0. end
program\n ");
choice = scanner.nextInt();
if (choice < 0 && choice > 6)
throw new IllegalArgumentException
("choice right");
switch(choice) {
case 1:
System.out.println("ali jagsaaltd nemeh ve\n1. ehnii
jagsaalt \n2. 2doh jagsaalt");
int whichList = 0;
whichList = scanner.nextInt();
if (whichList < 0 && whichList > 3)
throw new IllegalArgumentException
("choice right");
switch(whichList) {
case 1:
myChain1.getValuesInList();
break;
case 2:
myChain2.getValuesInList();
break;
}
System.out.println("ehnii jagsaalt: " + myChain1);
System.out.println("2doh jagsaalt: " + myChain2);
break;
case 2:
MyChain myChain3 = new MyChain();
myChain3.getValuesInList();
myArray1 = myChain3.toArray();
System.out.println("jagsaaltiig massiv bolgoson;");
for(int i = 0; i < myChain3.size(); i++) {
System.out.print(myArray1[i] + ", ");
}
System.out.print("\n");
break;
case 3:
System.out.println("jagsaaltda massiv nemeh uu shuud
hurvuuleh uu.\n1. jagsaaltnd nemeh\n2.shuud hurvuuleh");
int list = 0;
MyChain myChain4 = new MyChain();
list = scanner.nextInt();
if (list < 0 && list > 3)
throw new IllegalArgumentException
("choice right");
switch(list){
case 1:
System.out.println("ali jagsaaltnd massiv
nemeh ve\n1. ehnii_jagsaalt \n2. 2doh_jagsaalt ");
int listchoice = scanner.nextInt();
if (listchoice < 0 && listchoice > 3)
throw new IllegalArgumentException
("choice right");
switch(listchoice) {
case 1:
myChain1.addRange(myArray1);
System.out.println("ehnii
jagsaalt uurchlugdsun: " + myChain1);
break;
case 2:
myChain2.addRange(myArray1);
System.out.println("2doh
jagsaalt uurchlugdsun " + myChain2);
break;
}
break;
case 2:
myChain4.addRange(myArray1);
System.out.println("massiviig jagsaaltruu
hurvuuleh: " + myChain4);
break;
}
break;
case 4:
System.out.println("ehnii jagsaalt: " + myChain1);
System.out.println("2doh jagsaalt: " + myChain2);
System.out.println("2 jagsaaltiin negdel"+
myChain1.union(myChain2));
break;
case 5:
System.out.println("ehnii jagsaalt: " + myChain1);
System.out.println("2doh jagsaalt: " + myChain2);
System.out.println("2 jagsaaltiin ogtloltsol"+
myChain1.intersection(myChain2));
break;
}
}
scanner.close();
}
}

You might also like