-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTextItems.java
179 lines (149 loc) · 6.64 KB
/
TextItems.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
// Source code is decompiled from a .class file using FernFlower decompiler.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Scanner;
public class TextItems {
private static final String FORTY_EQUALS = "========================================";
private static final String FORTY_DASHES = "----------------------------------------";
private static final String FORTY_BANGS = "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!";
private Scanner keyboard;
private ArrayList<ArrayList<String>> itemList;
private ArrayList<String> textItem;
public TextItems() {
this.keyboard = new Scanner(System.in);
this.itemList = null;
System.out.println(
"\nError: File name must be supplied when declaring a TextItems object.\nExample: TextItems myTextItems = new TextItems(\"text_item_file.txt\");\nProgram is now terminating.\n");
this.pause();
System.exit(0);
}
public TextItems(String var1) {
this.keyboard = new Scanner(System.in);
try {
Scanner var2 = new Scanner(new File(var1));
Throwable var3 = null;
try {
String var4;
for (var4 = var2.nextLine(); !var4.equals("========================================"); var4 = var2
.nextLine()) {
}
this.itemList = new ArrayList();
for (var4 = var2.nextLine(); var4 != null
&& !var4.equals("========================================"); var4 = var2.nextLine()) {
this.textItem = new ArrayList();
this.textItem.add(new String(var4));
for (var4 = var2.nextLine(); !var4.equals("----------------------------------------"); var4 = var2
.nextLine()) {
this.textItem.add(var4);
}
this.itemList.add(this.textItem);
}
} catch (Throwable var14) {
var3 = var14;
throw var14;
} finally {
if (var2 != null) {
if (var3 != null) {
try {
var2.close();
} catch (Throwable var13) {
var3.addSuppressed(var13);
}
} else {
var2.close();
}
}
}
} catch (FileNotFoundException var16) {
pause("Trouble opening input file.\nException message: " + var16.getMessage()
+ "\nProgram will now terminate.\n");
System.exit(0);
} catch (Exception var17) {
pause("Unanticipated problem reading input file.\nException message: " + var17.getMessage()
+ "\nProgram will now terminate.\n");
System.exit(0);
}
}
public TextItems(InputStream var1) {
this.keyboard = new Scanner(System.in);
try {
Scanner var2 = new Scanner(var1);
String var3;
for (var3 = var2.nextLine(); !var3.equals("========================================"); var3 = var2
.nextLine()) {
}
this.itemList = new ArrayList();
for (var3 = var2.nextLine(); var3 != null
&& !var3.equals("========================================"); var3 = var2.nextLine()) {
this.textItem = new ArrayList();
this.textItem.add(new String(var3));
for (var3 = var2.nextLine(); !var3.equals("----------------------------------------"); var3 = var2
.nextLine()) {
this.textItem.add(var3);
}
this.itemList.add(this.textItem);
}
} catch (NullPointerException var4) {
pause("Trouble opening input file.\nException message: " + var4.getMessage()
+ "\nProgram will now terminate.\n");
System.exit(0);
} catch (Exception var5) {
pause("Unanticipated problem reading input file.\nException message: " + var5.getMessage()
+ "\nProgram will now terminate.\n");
System.exit(0);
}
}
public void displayItem(String var1) {
int var2;
for (var2 = 0; var2 < this.itemList.size()
&& !((String) ((ArrayList) this.itemList.get(var2)).get(0)).equals(var1); ++var2) {
}
if (var2 == this.itemList.size()) {
System.out.println("\nError: <<" + var1 + ">> not found.\n");
this.pause();
} else {
for (int var3 = 1; var3 < ((ArrayList) this.itemList.get(var2)).size(); ++var3) {
if ("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
.equals(((ArrayList) this.itemList.get(var2)).get(var3))) {
this.pause();
} else {
System.out.println((String) ((ArrayList) this.itemList.get(var2)).get(var3));
}
}
}
}
private void pause() {
System.out.print("Press Enter to continue ... ");
this.keyboard.nextLine();
}
private static void pause(String var0) {
System.out.print(var0);
System.out.print("Press Enter to continue ... ");
Scanner var1 = new Scanner(System.in);
var1.nextLine();
}
public static void main(String[] var0) {
System.out.print("\nTesting constructor with file name input.");
System.out.print("\nEnter the name of a file of text items: ");
Scanner var3 = new Scanner(System.in);
String var1 = var3.nextLine();
TextItems var4 = new TextItems(var1);
System.out.print("\nEnter the name of a text item: ");
String var2;
for (var2 = var3.nextLine(); !var2.equals(""); var2 = var3.nextLine()) {
var4.displayItem(var2);
System.out.print("\nEnter the name of a text item: ");
}
pause("OK ... no more text item requests.\nProgram now terminating.\n");
System.out.print("\nTesting constructor with InputStream input.");
var4 = new TextItems(TextItems.class.getResourceAsStream(var1));
System.out.print("\nEnter the name of a text item: ");
for (var2 = var3.nextLine(); !var2.equals(""); var2 = var3.nextLine()) {
var4.displayItem(var2);
System.out.print("\nEnter the name of a text item: ");
}
pause("OK ... no more text item requests.\nProgram now terminating.\n");
}
}