Skip to content

Commit 365ca0c

Browse files
authored
Add files via upload
1 parent c1daeea commit 365ca0c

File tree

2 files changed

+88
-0
lines changed

2 files changed

+88
-0
lines changed

IOrderedJobs.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/**
2+
*
3+
*/
4+
package com.webwirtue.sample;
5+
6+
/**
7+
* @author ankitkumar
8+
*
9+
*/
10+
public interface IOrderedJobs {
11+
12+
void registerIndependent(char c);
13+
14+
String getSortedJobNames();
15+
16+
void register(char c, char d);
17+
18+
}

OrderedJobs.java

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
/**
2+
*
3+
*/
4+
package com.webwirtue.sample;
5+
6+
import java.util.ArrayList;
7+
import java.util.HashMap;
8+
import java.util.LinkedList;
9+
import java.util.List;
10+
import java.util.Map;
11+
12+
/**
13+
* @author ankitkumar
14+
*
15+
*/
16+
public class OrderedJobs implements IOrderedJobs{
17+
18+
private List<Character> jobs=new LinkedList<>();
19+
20+
21+
@Override
22+
public void registerIndependent(char job) {
23+
int ascaiiOfLowerA=(int)'a';
24+
int ascaiiOfLowerZ=(int)'z';
25+
int ascaiOfJobName=(int)job;
26+
if(!(ascaiOfJobName>=ascaiiOfLowerA && ascaiOfJobName<=ascaiiOfLowerZ)){
27+
throw new IllegalArgumentException("Job Name should be a letter");
28+
}
29+
if(jobs.contains(job)){
30+
return;
31+
}
32+
jobs.add(job);
33+
}
34+
35+
36+
37+
@Override
38+
public String getSortedJobNames() {
39+
// TODO Auto-generated method stub
40+
StringBuilder result=new StringBuilder();
41+
for(Character job:jobs){
42+
result.append(Character.toString(job));
43+
}
44+
return result.toString();
45+
}
46+
47+
48+
49+
@Override
50+
public void register(char job, char dependent) {
51+
//if original exist
52+
if(jobs.contains(job)){
53+
int index=jobs.indexOf(job);
54+
if(index==0){
55+
((LinkedList<Character>)jobs).addFirst(dependent);
56+
}else{
57+
jobs.add(index-1, dependent);
58+
}
59+
}else{
60+
jobs.add(dependent);
61+
jobs.add(job);
62+
}
63+
64+
}
65+
66+
67+
68+
69+
70+
}

0 commit comments

Comments
 (0)