fork download
  1.  
  2. import java.util.Scanner;
  3.  
  4. public class Main {
  5. static class SharedData{
  6. public int a,b;
  7. //
  8. //
  9. // public int getA() {
  10. // return a;
  11. // }
  12. //
  13. // public void setA(int a) {
  14. // this.a = a;
  15. // }
  16. //
  17. // public int getB() {
  18. // return b;
  19. // }
  20. //
  21. // public void setB(int b) {
  22. // this.b = b;
  23. // }
  24. }
  25. static class ThreadOne extends Thread{
  26. final SharedData sharedData;
  27. public ThreadOne(SharedData sharedData){
  28. this.sharedData = sharedData;
  29. }
  30.  
  31. @Override
  32. public void run() {
  33. Scanner scanner = new Scanner(System.in);
  34. while (true){
  35. synchronized (sharedData){
  36. System.out.print("Enter the first number: ");
  37. int t = scanner.nextInt();
  38. sharedData.a=t;
  39. System.out.print("Enter the second number: ");
  40. t = scanner.nextInt();
  41. sharedData.b=t;
  42. try {
  43. sharedData.wait();
  44. } catch (InterruptedException e) {
  45. e.printStackTrace();
  46. }
  47. sharedData.notify();
  48. }
  49. }
  50. }
  51. }
  52.  
  53. static class ThreadTwo extends Thread{
  54. final SharedData sharedData;
  55.  
  56. public ThreadTwo(SharedData sharedData){
  57. this.sharedData = sharedData;
  58. }
  59.  
  60. @Override
  61. public void run() {
  62. while(true){
  63. synchronized (sharedData){
  64. try {
  65. sharedData.wait();
  66.  
  67. } catch (InterruptedException e) {
  68. e.printStackTrace();
  69. }
  70. System.out.println("Addition Result: "+(sharedData.a+sharedData.b));
  71. try {
  72. Thread.sleep(5000);
  73. } catch (InterruptedException e) {
  74. e.printStackTrace();
  75. }
  76. sharedData.notify();
  77. }
  78. }
  79. }
  80. }
  81.  
  82. public static void main(String[] args) {
  83. SharedData sharedData = new SharedData();
  84. ThreadOne t1 = new ThreadOne(sharedData);
  85. ThreadTwo t2 = new ThreadTwo(sharedData);
  86. t1.start();
  87. t2.start();
  88. }
  89. }
  90.  
Time limit exceeded #stdin #stdout #stderr 5s 36228KB
stdin
Standard input is empty
stdout
Enter the first number: 
stderr
Exception in thread "Thread-0" java.util.NoSuchElementException
	at java.base/java.util.Scanner.throwFor(Scanner.java:937)
	at java.base/java.util.Scanner.next(Scanner.java:1594)
	at java.base/java.util.Scanner.nextInt(Scanner.java:2258)
	at java.base/java.util.Scanner.nextInt(Scanner.java:2212)
	at Main$ThreadOne.run(Main.java:37)