teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

状況の説明が足りなかったので、自分の求める動作について、追記いたしました。

2017/04/21 07:10

投稿

nuiri1343
nuiri1343

スコア54

title CHANGED
File without changes
body CHANGED
@@ -33,4 +33,51 @@
33
33
  ネットで色々調べてみたのですが、
34
34
  run()を抜ければ消滅するというように書いてあるサイトが多く、
35
35
  自分のはどうしてプログラムが終了しないのかよく分かりません。
36
- どうしたらいいでしょうか?
36
+ どうしたらいいでしょうか?
37
+
38
+
39
+
40
+ ###以下編集しました。
41
+ ###編集後のソースコード
42
+
43
+ ```java
44
+ import java.awt.*;
45
+ import java.applet.*;
46
+
47
+ public class Main extends Applet implements Runnable{
48
+ Thread thread = null;
49
+ public void init(){
50
+ this.thread = new Thread(this);
51
+ this.thread.start();
52
+ }
53
+
54
+ public void run(){
55
+ while(true){
56
+ String s = new java.util.Scanner(System.in).nextLine();
57
+ if(s.equals("exit")) break;
58
+ }
59
+ System.exit(0); //exitと入力され、runメソッドが終わると言うときに、プログラムを終了したいです。プログラムの終了方法について、ウィンドウの×ボタンを押した時と同じ動作になればいいと思っています。
60
+ }
61
+
62
+ public void stop(){
63
+ }
64
+ public void destroy(){
65
+ }
66
+
67
+ }
68
+
69
+ ```
70
+
71
+ ###発生している問題・エラーメッセージ
72
+
73
+ ```
74
+ Exception in thread "Thread-3" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "exitVM.0")
75
+ at java.security.AccessControlContext.checkPermission(AccessControlContext.java:372)
76
+ at java.security.AccessController.checkPermission(AccessController.java:559)
77
+ at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
78
+ at java.lang.SecurityManager.checkExit(SecurityManager.java:761)
79
+ at java.lang.Runtime.exit(Runtime.java:107)
80
+ at java.lang.System.exit(System.java:962)
81
+ at Main.run(Main.java:16)
82
+ at java.lang.Thread.run(Thread.java:745)
83
+ ```