Advertisement
Guest User

Untitled

a guest
Sep 24th, 2011
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.17 KB | None | 0 0
  1. import java.util.Scanner;
  2. import java.util.Random;
  3. import javax.swing.*;
  4. import java.awt.*;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. public class CalcReview implements ActionListener{
  8. static javax.swing.JTextField AnswerBox;
  9. static String theirAnswer = new String();
  10. static String ready = new String();
  11. static String ask = new String();
  12. static String answer = new String();
  13. static javax.swing.JTextArea jTextArea1;
  14. static String textEntered = new String();
  15. static Integer r = new Integer(-1);
  16. static Integer loops = new Integer(0);
  17. //static ActionListener listener = null;
  18.  
  19. public static void main(String[] args){
  20. //ActionListener listener = null;
  21. JFrame frame = new JFrame("Chem Review");
  22. JPanel pane = new JPanel();
  23. frame.setSize(750,410);
  24. pane.setSize(750,410);
  25. frame.getContentPane().add(pane);
  26. javax.swing.JLabel QuestionArea;
  27. javax.swing.JLabel Questions;
  28. javax.swing.JLabel jLabel1;
  29. javax.swing.JLabel jLabel2;
  30. javax.swing.JLabel jLabel3;
  31. javax.swing.JScrollPane jScrollPane1;
  32. javax.swing.JTextArea jTextArea1;
  33. javax.swing.JTextField jTextField1;
  34. javax.swing.JLabel questionInput;
  35. //javax.swing.JTextField AnswerBox;
  36. //String ask = new String();
  37. // String answer = new String();
  38. jLabel1 = new javax.swing.JLabel();
  39. jLabel2 = new javax.swing.JLabel();
  40. QuestionArea = new javax.swing.JLabel();
  41. Questions = new javax.swing.JLabel();
  42. questionInput = new javax.swing.JLabel();
  43. jScrollPane1 = new javax.swing.JScrollPane();
  44. jTextArea1 = new javax.swing.JTextArea();
  45. AnswerBox = new JTextField(20);
  46.  
  47. jLabel1.setText("jLabel1");
  48.  
  49.  
  50. jLabel2.setFont(new java.awt.Font("Calibri", 1, 24)); // NOI18N
  51. jLabel2.setText("AP Chem Polyatomic Ion Review");
  52.  
  53. QuestionArea.setFont(new java.awt.Font("Tahoma", 0, 14));
  54.  
  55. Questions.setText("Question:");
  56.  
  57. //questionInput.setText("QuestionArea");
  58.  
  59. jTextArea1.setColumns(20);
  60. jTextArea1.setLineWrap(true);
  61. jTextArea1.setRows(5);
  62. jTextArea1.setText("Hello! This program is made to help you \nmemorize the different polyatomic ions.\nWhen inputting your answer, be sure to use\nthe correct capitalization, or it will be \nread as wrong. When writing exponents, DO\nNOT put a space between the letters and \nthe number. All exponents must be written\nas: '-2' not '2-'.\nExamples: NH4+, CO3-2\"\nGood Luck!");
  63. jTextArea1.setWrapStyleWord(true);
  64. jTextArea1.setEditable(false);
  65. jScrollPane1.setViewportView(jTextArea1);
  66.  
  67.  
  68.  
  69. AnswerBox.setText("Enter Text Here");
  70. //AnswerBox.addActionListener(listener);
  71. frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
  72.  
  73. javax.swing.GroupLayout layout = new javax.swing.GroupLayout(pane);
  74. pane.setLayout(layout);
  75. layout.setHorizontalGroup(
  76. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  77. .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  78. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  79. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  80. .addGroup(layout.createSequentialGroup()
  81. .addGap(51, 51, 51)
  82. .addComponent(jLabel2)
  83. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 31, Short.MAX_VALUE))
  84. .addGroup(layout.createSequentialGroup()
  85. .addGap(120, 120, 120)
  86. .addComponent(questionInput)
  87. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
  88. .addGroup(layout.createSequentialGroup()
  89. .addGap(72, 72, 72)
  90. .addComponent(Questions)
  91. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
  92. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  93. .addComponent(AnswerBox)
  94. .addComponent(QuestionArea, javax.swing.GroupLayout.Alignment.TRAILING)
  95. .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 345, Short.MAX_VALUE))
  96. .addContainerGap())
  97. );
  98. layout.setVerticalGroup(
  99. layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  100. .addGroup(layout.createSequentialGroup()
  101. .addGap(29, 29, 29)
  102. .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
  103. .addComponent(QuestionArea)
  104. .addGroup(layout.createSequentialGroup()
  105. .addComponent(jLabel2)
  106. .addGap(77, 77, 77)
  107. .addComponent(Questions)
  108. .addGap(9, 9, 9)
  109. .addComponent(questionInput)
  110. .addGap(298, 298, 298))
  111. .addGroup(layout.createSequentialGroup()
  112. .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 307, javax.swing.GroupLayout.PREFERRED_SIZE)
  113. .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  114. .addComponent(AnswerBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  115. .addGap(109, 109, 109)))
  116. .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
  117. );
  118. frame.setVisible(true);
  119.  
  120.  
  121. /*JFrame frame = new JFrame("Chem Review");
  122. JPanel pane = new JPanel(new BorderLayout());
  123. GridLayout g = new GridLayout(4,2);
  124. //JButton button1 = new JButton("Give Up");
  125. JLabel label1 = new JLabel("AP Chem Polyatomic Ions Review");
  126. JLabel questionLine = new JLabel("Write the word or formula for: " +ask);
  127. JTextField text = new JTextField("Enter Text Here");
  128. JLabel lastEntered = new JLabel();
  129.  
  130. JTextArea side = new JTextArea("Hello! This program is made to help you memorize the different polyatomic ions.\nWhen inputting your answer, be sure to use the correct capitalizations, or it \nwill be read as wrong. When writing exponents, DO NOT put a space between the letters \nand the number. All exponents must be written as: '-2' not '2-'");
  131. frame.setSize(900,500);
  132. pane.setSize(900,500);
  133. frame.setDefaultCloseOperation(frame.EXIT_ON_CLOSE);
  134. frame.getContentPane().add(pane);
  135. //pane.add(label1, BorderLayout.NORTH);
  136. //pane.add(side, BorderLayout.EAST);
  137. //pane.add(button1);
  138. //button1.setAlignmentX(120);
  139. //button1.setText("Give Up");
  140. //pane.add(questionLine,BorderLayout.WEST);
  141. //pane.add(text, BorderLayout.SOUTH);
  142.  
  143. //questionLine.setLocation(questionLine.getX()+120, questionLine.getY()-50);
  144. //frame.pack();
  145. frame.setVisible(true);*/
  146.  
  147.  
  148.  
  149.  
  150.  
  151. Random generator = new Random();
  152. int x =0;
  153.  
  154. String ammonium = "NH4+";
  155. String hydronium = "H3O+";
  156. String nitrite = "NO2-";
  157. String nitrate = "NO3-";
  158. String hydroxide = "OH-";
  159. String acetate = "CH3COO-";
  160. String chromite = "CrO2-";
  161. String cyanide = "CN-";
  162. String permanganate = "MnO4-";
  163. String hypochlorite = "ClO-";
  164. String chlorite = "ClO2-";
  165. String chlorate = "ClO3-";
  166. String perchlorate = "ClO4-";
  167. String cyanate = "OCN-";
  168. String thiocyanate = "SCN-";
  169. String dichromate = "Cr2O7-2";
  170. String manganate = "MnO4-2";
  171. String tartrate = "C4H4O6-2";
  172. String oxalate = "C3O4-2";
  173. String thiosulfate = "S2O3-2";
  174. String hydrogenCarbonate = "HCO3-";
  175. String hydrogenSulfate = "HSO4-";
  176. String hydrogenPhosphate = "HPO4-2";
  177. String dihydrogenPhosphate = "H2PO4-";
  178. String borate = "BO3-3";
  179. String aluminate = "AlO3-3";
  180. String selenate = "SeO4-2";
  181. String iodate = "IO3-";
  182. //String theirAnswer = new String();
  183. //String ready = new String();
  184. int question=0;
  185. /*System.out.println("Hello! This program is made to help you memorize the different polyatomic ions.When inputting your answer, be sure to use the correct capitalizations, or it \nwill be read as wrong. When writing exponents, DO NOT put a space between the letters \nand the number. All exponents must be written as: '-2' not '2-'");
  186. System.out.println("Examples: NH4+, CO3-2");
  187. System.out.println("Good Luck!");*/
  188. int z = 1;
  189.  
  190. do{
  191. if(loops.equals(0)){
  192. jTextArea1.append("If you would like the test to be a mix of hard and easy ions, type 1. If you would like the test to be ONLY difficult ions, type 2.");
  193.  
  194. AnswerBox.setActionCommand("1");
  195. loops +=1;
  196. }
  197. /*Scanner input = new Scanner(System.in);
  198. ready = input.next().toString();*/
  199. //ready = answerBox.getText();
  200. if(ready.equals("1") && r !=-1){
  201. jTextArea1.append("test");
  202. question = generator.nextInt(58);
  203. z=-1;
  204. r=1;
  205. }if(ready.equals("2") && r !=-1){
  206. question = generator.nextInt(19);
  207. z=-1;
  208. }if(ready.equals("3") && r !=-1){
  209. question = 0;
  210. z=-1;
  211. }
  212. if(!ready.equals("1") && !ready.equals("2") && (r.equals(1))){
  213. jTextArea1.append("You have entered an incorrect digit.\nIf you would like the test to be a mix of hard and easy ions, type 1. If you would like the test to be ONLY difficult ions, type 2.");
  214. r=-1;
  215. }
  216. }while(z==1 && r==-1);
  217. jTextArea1.append("Question:");
  218.  
  219.  
  220. do
  221. {
  222. switch(question){
  223. case 0:
  224. ask = "ammonium";
  225. answer = ammonium;
  226. break;
  227. case 1:
  228. ask = "cyanate";
  229. answer = cyanate;
  230. break;
  231. case 2:
  232. ask = "thiocyanate";
  233. answer = thiocyanate;
  234. break;
  235. case 3:
  236. ask = "dichromate";
  237. answer = dichromate;
  238. break;
  239. case 4:
  240. ask = "manganate";
  241. answer = manganate;
  242. break;
  243. case 5:
  244. ask = "tartrate";
  245. answer = tartrate;
  246. break;
  247. case 6:
  248. ask = "oxalate";
  249. answer =oxalate;
  250. break;
  251. case 7:
  252. ask = "thiosulfate";
  253. answer = thiosulfate;
  254. break;
  255. case 8:
  256. ask = "Hydrogen Carbonate";
  257. answer = hydrogenCarbonate;
  258. break;
  259. case 9:
  260. ask = "dihydrogen phosphate";
  261. answer = dihydrogenPhosphate;
  262. break;
  263. case 10:
  264. ask = "hydrogen sulfate";
  265. answer = hydrogenSulfate;
  266. break;
  267. case 11:
  268. ask = "hydrogen phosphate";
  269. answer = hydrogenPhosphate;
  270. break;
  271. case 12:
  272. ask = "borate";
  273. answer = borate;
  274. break;
  275. case 13:
  276. ask = "aluminate";
  277. answer = aluminate;
  278. break;
  279. case 14:
  280. ask = "selenate";
  281. answer = selenate;
  282. break;
  283. case 15:
  284. ask = "iodate";
  285. answer = iodate;
  286. break;
  287. case 16:
  288. ask = "hydronium";
  289. answer = hydronium;
  290. break;
  291. case 17:
  292. ask = "nitrite";
  293. answer = nitrite;
  294. break;
  295. case 18:
  296. ask = "nitrate";
  297. answer = nitrate;
  298. break;
  299. case 19:
  300. ask = "hydroxide";
  301. answer = hydroxide;
  302. break;
  303. case 20:
  304. ask = "acetate";
  305. answer = acetate;
  306. break;
  307. case 21:
  308. ask = "chromite";
  309. answer = chromite;
  310. break;
  311. case 22:
  312. ask = "cyanide";
  313. answer = cyanide;
  314. break;
  315. case 23:
  316. ask = "cyanide";
  317. answer = cyanide;
  318. break;
  319. case 24:
  320. ask = "permanganate";
  321. answer = permanganate;
  322. break;
  323. case 25:
  324. ask = "hypochlorite";
  325. answer = hypochlorite;
  326. break;
  327. case 26:
  328. ask = "chlorite";
  329. answer = chlorite;
  330. break;
  331. case 27:
  332. ask = "chlorate";
  333. answer = chlorate;
  334. break;
  335. case 28:
  336. ask = "perchlorate";
  337. answer = perchlorate;
  338. break;
  339. case 29:
  340. ask = ammonium;
  341. answer = "ammonium";
  342. break;
  343. case 30:
  344. ask = cyanate;
  345. answer = "cyanate";
  346. break;
  347. case 31:
  348. ask = thiocyanate;
  349. answer = "thiocyanate";
  350. break;
  351. case 32:
  352. ask = dichromate;
  353. answer = "dichromate";
  354. break;
  355. case 33:
  356. ask = manganate;
  357. answer = "manganate";
  358. break;
  359. case 34:
  360. ask = tartrate;
  361. answer = "tartrate";
  362. break;
  363. case 35:
  364. ask = oxalate;
  365. answer ="oxalate";
  366. break;
  367. case 36:
  368. ask = thiosulfate;
  369. answer = "thiosulfate";
  370. break;
  371. case 37:
  372. ask = hydrogenCarbonate;
  373. answer ="hydrogen Carbonate";
  374. break;
  375. case 38:
  376. ask = dihydrogenPhosphate;
  377. answer = "dihydrogen Phosphate";
  378. break;
  379. case 39:
  380. ask = hydrogenSulfate;
  381. answer = "hydrogen Sulfate";
  382. break;
  383. case 40:
  384. ask = hydrogenPhosphate;
  385. answer = "hydrogen Phosphate";
  386. break;
  387. case 41:
  388. ask = borate;
  389. answer = "borate";
  390. break;
  391. case 42:
  392. ask = aluminate;
  393. answer = "aluminate";
  394. break;
  395. case 43:
  396. ask = selenate;
  397. answer = "selenate";
  398. break;
  399. case 44:
  400. ask = iodate;
  401. answer = "iodate";
  402. break;
  403. case 45:
  404. ask = hydronium;
  405. answer = "hydronium";
  406. break;
  407. case 46:
  408. ask = nitrite;
  409. answer = "nitrite";
  410. break;
  411. case 47:
  412. ask = nitrate;
  413. answer = "nitrate";
  414. break;
  415. case 48:
  416. ask = hydroxide;
  417. answer = "hydroxide";
  418. break;
  419. case 49:
  420. ask = acetate;
  421. answer = "acetate";
  422. break;
  423. case 50:
  424. ask = chromite;
  425. answer = "chromite";
  426. break;
  427. case 51:
  428. ask = cyanide;
  429. answer ="cyanide";
  430. break;
  431. case 52:
  432. ask = cyanide;
  433. answer = "cyanide";
  434. break;
  435. case 53:
  436. ask = permanganate;
  437. answer = "permanganate";
  438. break;
  439. case 54:
  440. ask = hypochlorite;
  441. answer = "hypochlorite";
  442. break;
  443. case 55:
  444. ask = chlorite;
  445. answer ="chlorite";
  446. break;
  447. case 56:
  448. ask = chlorate;
  449. answer ="chlorate";
  450. break;
  451. case 57:
  452. ask = perchlorate;
  453. answer ="perchlorate";
  454. break;
  455. }
  456.  
  457. int y=0;
  458. do{
  459.  
  460. y=0;
  461. questionInput.setText("Write the word or formula for: " + ask);
  462. Scanner input2 = new Scanner(System.in);
  463. theirAnswer = input2.nextLine().toLowerCase();
  464. if(theirAnswer.equals(answer.toLowerCase()))
  465. {
  466. jTextArea1.append("That's Right!");
  467. if(ready.equals("1")){
  468. question = generator.nextInt(58);
  469. }if(ready.equals("2")){
  470. question = generator.nextInt(19);
  471. }if(ready.equals("3")){
  472. question = question+1;
  473. }
  474. y=-1;
  475. }else if(theirAnswer.equals("giveup")){
  476. jTextArea1.append(answer);
  477. }
  478. else if(!theirAnswer.equals(answer)){
  479. jTextArea1.append("Sorry, Try again!");
  480. }
  481. }while(y==0);
  482. }while(x==0);
  483. }
  484.  
  485.  
  486. @Override
  487. public void actionPerformed(ActionEvent e) {
  488. AnswerBox.addActionListener(this);
  489. jTextArea1.append(AnswerBox.getText());
  490. textEntered = AnswerBox.getText();
  491. if (e.getActionCommand().equals("1")) {
  492. ready = AnswerBox.getText();
  493. }
  494. }
  495.  
  496. public class keyEvents implements ActionListener{
  497.  
  498.  
  499. public void actionPerformed(ActionEvent evt) {
  500. System.out.println("TEST");
  501. AnswerBox.addActionListener(this);
  502. jTextArea1.append(AnswerBox.getText());
  503. textEntered = AnswerBox.getText();
  504. //if (evt.getActionCommand().equals("1")) {
  505. ready = AnswerBox.getText();
  506.  
  507. }
  508.  
  509. //}
  510.  
  511. }
  512.  
  513.  
  514.  
  515.  
  516. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement