[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/16 04:50 / Filesize : 268 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Java入門・初心者質問スレ Part.2



1 名前:デフォルトの名無しさん mailto:sage [2016/11/11(金) 20:25:11.04 ID:zFksT2Ki.net]
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ
echo.2ch.net/test/read.cgi/tech/1462997913/

894 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 05:25:59.08 ID:8SSjzg+S.net]
Eclipse 4.3 完全攻略、宮本信二、2013

Javaの解説は無いよ。
もっと新しい本もあるかも

895 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 08:06:42.19 ID:2TMSh7uI.net]
>>876
ありがとうございます!
今日の帰りにさっそく買ってきます!

896 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 12:24:05.50 ID:aVUuWHQu.net]
>>875
開発環境使うの初めてならeclipseよりIntellij IDEAの方を勧めますよ
android開発環境のAndroidStudioも中身はIntellij IDEAなので新しめのandroidの本なら使い方書いてあると思います
将来android開発もする予定なら開発環境は一つにした方が学習コストが低いと思います

897 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 12:31:42.52 ID:jvHM94jK.net]
RainbowDropsが綺麗だからEclipseにしちゃう

898 名前:デフォルトの名無しさん mailto:sage [2017/03/24(金) 12:49:00.55 ID:ADCvpbjH.net]
AndroidStudioは産廃って評判が多いけど、EclipseでAndroid開発してたころよりはマシだし
だいたいGoogleが開発したところがそびえ立つクソなんであって、IntelliJに問題はない

899 名前:デフォルトの名無しさん [2017/03/24(金) 12:54:34.68 ID:lapEt7PI.net]
>>875
エクリプスはJavaのためにあるわけではない。

900 名前:デフォルトの名無しさん [2017/03/24(金) 13:39:35.12 ID:FBSEgTxs.net]
俺の場合CやPerlでも使いたいのでeclipse

901 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 01:07:43.68 ID:t95Dldij.net]
swingでguiソフトを作っているのですがpaintcomponentメソッドでdisposeした方がいいのでしょうか?
調べるとdisposeするのがjavaの作法という記事を見ますが個人的にしない方が描画が高速な気がします。ガーベージコレクションがあるので問題ないのでしょうか?disposeしないことでプログラムにバグや動作不良などのデメリットはありますか?

902 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 01:21:58.51 ID:t95Dldij.net]
投稿したばかりですがdisposeありと無しを何回か検証した結果特に変わりはありませんでした。僕の勘違いがメモリを多く使いすぎていたかだと思います
すみませんでしたm(_ _)m



903 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 09:04:42.75 ID:crtOPoox.net]
kindleストアでスッキリわかるシリーズが4月2日まで半額セール

904 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 13:54:14.56 ID:UTF1keJq.net]
スッキリって入りとしてはいいと思うけどそれほど身につかない気がする

905 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 14:07:37.44 ID:omxknQTj.net]
会話形式の参考書って内容に集中できないんだよね

906 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 14:50:29.77 ID:1tNyLe59.net]
Google先生が最強

907 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 16:52:12.71 ID:ojlfFp+9.net]
良い本だと思うけど、演習問題がやや手薄。
他の演習書等で補う必要があると思う。

908 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 17:08:34.27 ID:b8qUt4LL.net]
スッキリはサンプルソースコードの名前が全部main.javaなのが凄まじく嫌がらせに感じる
IDEでまとめて見れないやんっていう

909 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 20:04:50.67 ID:E2Mhv2d7.net]
>>890
ど、dokojava...

910 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 20:53:42.20 ID:+CWlWdAu.net]
スッキリは汎用性皆無のコードで説明するのやめて欲しいわ
考えるな感じろと?

911 名前:デフォルトの名無しさん [2017/03/25(土) 21:13:49.71 ID:HHm6PAlo.net]
Don't think ! Feel.

912 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 21:59:20.88 ID:2rp6TOCR.net]
関数型インターフェース調べたら引数の型や数、戻り値の型ごとに違うインターフェースやメソッド使ってて愕然とした
みんなこんなん覚えてんのか……?



913 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 22:20:58.24 ID:6pLpVBst.net]
>>883
paintcomponentでdisposeってGraphicsオブジェクトのことだと思うけど
引数で渡されたものなら普通はメソッドの呼び出し側で破棄されるから廃棄不要
後始末のタイミングが生成者側でうまく決められないものは仕方ないけど
基本的には後始末の責任は生成した者が負うようになってるのが真っ当な設計
だからpaintcomponent内で能動的に作成したものならdisposeもpaintcomponent側の責任

914 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 22:25:37.24 ID:6pLpVBst.net]
と、うちのばっちゃが言ってた

paintcomponentでなくpaintComponentだね

915 名前:デフォルトの名無しさん [2017/03/25(土) 23:02:58.80 ID:V66a16Nj.net]
>>894
ラムダ式使うんだよ
2,3個こういうのがあったはずと覚えとけば
検索できるし他のメソッドにもたどり着ける

バイキングで料理たくさんあるからといって
全部食べようとしたらお腹痛くなる

916 名前:デフォルトの名無しさん mailto:sage [2017/03/25(土) 23:22:14.45 ID:t95Dldij.net]
>>896
ありがとうございます

917 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 00:45:48.20 ID:AmprMgIj.net]
JSFとStruts 2とSpringとSpring MVCの違いは?

918 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 01:44:57.09 ID:dFhrxFHc.net]
去年改定したくせにラムダ式載せない新明解ジャバの著者め……
でも、プログラミング言語c++訳したから許すさない

919 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 02:21:47.60 ID:9bRE2FVy.net]
スッキリの実戦編まで読み終えたけど
次に読むような本って何なんでしょう?
色々実戦的に作ってみたいです

920 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 04:07:08.11 ID:PRpbdmfu.net]
EFFECTIVE JAVA 第2版、2014

Java 最強リファレンス、田中裕一、2014

実践Javaコーディング作法 プロが知るべき、
112の規約と21の心得、森崎雅稔(まさとし)、2014

スッキリわかる サーブレット&JSP入門

それか、Java8 の本

921 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 09:57:13.24 ID:oOxNGfpF.net]
>>901
>>705 も読んでないなら参考にしてみるといい

922 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 10:07:25.20 ID:be0M9Ng9.net]
>>899
JSF: ASP.NET WebFormsのパチモン。出来損ない
Struts 2: ASP.NET MVCのパチモン。非推奨
Spring: ASP.NET MVCのパチモン。出来損ない
Spring MVC: Springのコンポーネントの一つ



923 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 12:45:26.12 ID:pNW/BSt4.net]
新人研修でServletとSQLというのを一応やるらしいんだけど尼のスッキリ半額は別に買っておいた方がいいかな?

924 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 18:50:54.01 ID:oOxNGfpF.net]
ちょっとした疑問なんだけど、DBアクセスの並列化って難しいのかな
参照は特に問題ないと思うんだけど更新系は難しい?
少なくともJTAはスレッドとトランザクションを関連付けてるから、
並列化したやつが別スレッドに割り当てられたら別トランザクションになってしまうし厳しそうなイメージはある…

925 名前:デフォルトの名無しさん [2017/03/26(日) 18:56:41.68 ID:avI+l4ib.net]
トランザクションかけなければいいじゃん

926 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 19:06:10.75 ID:oOxNGfpF.net]
トランザクションかけないってことはautocommitだよね
更新失敗したらどうするの?

927 名前:デフォルトの名無しさん [2017/03/26(日) 19:08:45.68 ID:K0FPpjuZ.net]
東京電力の新会長に日立製作所の人間が就任

928 名前:デフォルトの名無しさん [2017/03/26(日) 19:13:34.40 ID:avI+l4ib.net]
>>908
もう一回やり直せばいい

929 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 21:06:34.52 ID:sVlg3iWy.net]
1行で全部更新するとか
DBによってはできるかも?

930 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 21:41:51.23 ID:Aj20bW+b.net]
ストリームをcollect(Collectors.toList())したものをリスト型の変数に代入しようとしたら
「Object cannot be converted to List」と出ます
キャストすると代入出来るのですが、collect(Collectors.toList())の戻り値は
List型ではなくObject型なんですか?

931 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 21:52:32.48 ID:Aj20bW+b.net]
>>912
あっ、すみません
ストリームを一旦Stream型の変数に代入してからそれをcollect(Collectors.toList())したものを
List型の変数に代入したら上手くいきました
なぜだ……

932 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 23:26:40.79 ID:Aj20bW+b.net]
>>912
何度もすみません、自己解決しました
そもそもStream生成前のListの方でジェネリクスの指定が上手くいってませんでした
お騒がせしました



933 名前:デフォルトの名無しさん mailto:sage [2017/03/26(日) 23:44:43.93 ID:oOxNGfpF.net]
>>910
意味わからん
コミットされて終わったものをもう一度やり直す???

934 名前:デフォルトの名無しさん [2017/03/26(日) 23:50:24.79 ID:avI+l4ib.net]
>>915
更新に失敗したらもう一回更新すればいいだろうが

935 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 01:31:51.49 ID:NVo+TrDo.net]
話が通じないな

936 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 02:36:19.07 ID:86gAYyt9.net]
DBでは、一度コミットされたら元に戻せないぞ

937 名前:デフォルトの名無しさん [2017/03/27(月) 04:37:45.89 ID:OrjpaGTs.net]
>>908
更新に失敗していればcommitもくそもない。

938 名前:デフォルトの名無しさん [2017/03/27(月) 04:39:11.66 ID:OrjpaGTs.net]
>>906
平行処理なら別トランザクションにねるのに決まっているだろうが。何を意味不明なことを言っているのか?

939 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 09:27:48.50 ID:sSRSimL8.net]
別トランザクションになった時点でDB視点では並行じゃないんだけどね。

940 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 09:50:10.88 ID:VgJTF0Ub.net]
データベース板に居たっけ?って思ってしまた

941 名前:デフォルトの名無しさん [2017/03/27(月) 09:58:08.90 ID:0LKgXvpZ.net]
並列化してはいけない部分を並列化しただけの話?

942 名前:デフォルトの名無しさん mailto:sage [2017/03/27(月) 11:27:13.11 ID:hfJnPcD+.net]
元々の質問は同一トランザクションで並列化できるかどうかの質問ぽいか
参照系はできるが更新系は難しいでいいんじゃないの?

あとは別トランザクションになってもいいのなら並列化は可能



943 名前:デフォルトの名無しさん mailto:sage [2017/03/28(火) 20:22:27.29 ID:fgGnm3yR.net]
JAVAとC言語どっちが簡単に自由度のあるゲーム作れますか?
DxライブラリみたいなのってJAVAにありますか?

944 名前:デフォルトの名無しさん [2017/03/28(火) 21:43:52.42 ID:8KHwvxzc.net]
>>925
何を作るかにもよるが、まあ、普通に考えてその二つならJavaだな。
ただし、Android用でないと多数の人が使う状態にはならないと思う。

945 名前:デフォルトの名無しさん mailto:sage [2017/03/28(火) 22:33:24.41 ID:fgGnm3yR.net]
>>926
PCで動かすアクションゲームを作りたいです

946 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 00:54:14.87 ID:M4UnQvMB.net]
Unityやれば?言語はC#になるけども

947 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 10:45:39.18 ID:CKC2RzK7.net]
>>928
unityかDirectXでやろうか迷ってます

948 名前:デフォルトの名無しさん mailto:sage [2017/03/29(水) 11:27:59.40 ID:CKC2RzK7.net]
やっぱり半年はDxlibで作り続けます
皆さん返信ありがとうございました

949 名前:デフォルトの名無しさん [2017/03/29(水) 17:54:31.92 ID:3mAYmV0J.net]
DirectXは玄人向けだしな。

950 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 09:24:05.57 ID:yKZp9elZ.net]
エクリプスもしくはWindowsのコマンドプロンプト上で動作させることを前提として、
以下のようなメニューをまずSystem.out.printlnで表示させて、数字を押したらその処理へ分岐させたいと思っています

0)終了 2)分岐A 2)分岐B

この状態で入力待ちし、有効な数字(テンキー)を一回押した時点(エンターキーを押す必要なく)で分岐させたいのですがどうすればできますでしょうか?

951 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 09:34:16.63 ID:yKZp9elZ.net]
すみません
メニュー画面は

0)終了 1)分岐A 2)分岐B

でした

952 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 09:46:14.21 ID:7zcp0Qp+.net]
JCurses



953 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 10:14:05.58 ID:jHsv1zL4.net]
>>932
学校の宿題/課題なら自分で調べろ

仕事ならそういったコントロールはJavaじゃなくてスクリプトでやったほうがいい
スクリプトで処理を決定して、実際の処理だけJavaで書くようなイメージ
役割分担せずに全部Javaで書くのはオススメしない

954 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 18:23:39.16 ID:LF0rDNJx.net]
javaブロンズ試験て簡単ですか?

955 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 18:30:29.91 ID:Bv8WFxPo.net]
>>934
ありがとうございます

>>935
あぼーんさせていただきました

956 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 19:12:56.71 ID:nJQFz+7u.net]
別の言語でCUIフロント書いてJavaでサービスを提供が無難だろうね
というかこの場合はJavaを捨てて他の言語で全部やるのが正解かな

957 名前:デフォルトの名無しさん [2017/03/30(木) 19:35:19.16 ID:aX4kcfBQ.net]
>>936
そんなの人による。オブジェクト指向がわかっていればちょっと問題集をやれば受かる。

958 名前:デフォルトの名無しさん [2017/03/30(木) 20:32:42.78 ID:LoY/XYZC.net]
>>936
知らない。受けようとすら思ったことがないので。

959 名前:デフォルトの名無しさん [2017/03/30(木) 20:36:33.31 ID:LoY/XYZC.net]
>>938
JavaでやるならGUIでボタン並べとくのが楽かも。
かといってその後画面に何も出さなくていいようなプログラムだと無駄か、

960 名前:デフォルトの名無しさん [2017/03/30(木) 20:47:03.40 ID:aX4kcfBQ.net]
>>941
初心者のくせに変なアドバイスするな。

961 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 21:27:26.98 ID:3vwWvZ6d.net]
エンターを拒否する理由がわからないし本人も書かない

>>941 はそれほど変ではない。まぁエンターを可にすれば良いだけだけど

KeyListenerにキーボードが押された時にイベントが発生するってのがあった
ttps://www.javadrive.jp/applet/event/index5.html

962 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 21:48:24.46 ID:DOXC6NBl.net]
>>936
プログラミング自体初めての人でも1週間あれば受かる



963 名前:デフォルトの名無しさん [2017/03/30(木) 22:43:45.87 ID:aX4kcfBQ.net]
>>944
それは暗記が得意な人間限定だろ。

964 名前:デフォルトの名無しさん mailto:sage [2017/03/30(木) 23:29:43.34 ID:zmDt1cqU.net]
>>936
資格が欲しいならブロンズでは役不足
ブロンズが受かるくらいの能力って意味なら土台くらいに思っていた方がいい
どちらにしてもブロンズでつまずくなら考えた方がいいと思う
学生なら大変って思うのはしょうがないけど

965 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 00:29:00.68 ID:G7JBJ9MS.net]
>>936
こんな問題が出ます。

以下のコードがあります。
1. class Num {
2. private int number1 = 10;
3.
4. public void Num() {
5. number1 = 100;
6. }
7.
8. public void disp() {
9. System.out.println(number1);
10. }
11. }
12. public class TestP {
13. public static void main(String[] args) {
14. Num n = new Num();
15. n.disp();
16. }
17. }

実行結果はどれですか?
1.100
2.10
3.2行目が原因でコンパイルエラーになる
4.4行目が原因でコンパイルエラーになる
5.14行目が原因でコンパイルエラーになる
6.実行時に例外が発生する

966 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 00:41:13.49 ID:Otn8HbSa.net]
935ってそんなひどい回答か?
至極まっとうな意見に見えるんだが…936がアレなだけ?

967 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 01:22:00.16 ID:hT0rQPiY.net]
誰が見ても、935 はまともだろ

>>932
>コマンドプロンプト上で、エンターキーを押す必要なく
もう、この時点で、Javaじゃないしw

968 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 04:33:30.50 ID:osu/qMYT.net]
CUIで入力を確定させるのにエンターキー使わない方法ってあるのか……?

969 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 07:23:06.99 ID:Otn8HbSa.net]
>>950
あるというか、仕様として決めればいい話
Javaでかつエンターいらないって仕様なら、
1行読みじゃなくて1文字読みすればいいだけのこと

970 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 09:02:39.11 ID:Ynkhy4/h.net]
コマンドプロンプトとjavaだけじゃ不可能じゃね?

971 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 09:03:42.27 ID:XdddFVWv.net]
cで言う所のgetche()だな

972 名前:デフォルトの名無しさん [2017/03/31(金) 10:51:24.05 ID:ndHhBxYB.net]
>>952
ぐるぐる回ればいいんだよ。



973 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 11:08:45.91 ID:H1pQ0CXA.net]
>>953
getche()嫌い(´・ω・`)

974 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 12:08:22.35 ID:r4bo6GQ0.net]
ネイティブライブラリ作ってJNIで利用するしか手がなさそう

975 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 20:55:58.48 ID:+RoQYFQA.net]
javaでゲームを作っています
キー入力でキャラクターが移動してマウスで様々なイベントの処理をしようとしているのですがマウスでイベントを処理するとキー入力を受け付けなくなってしまいます
原因が分かる方いますか?

976 名前:デフォルトの名無しさん [2017/03/31(金) 21:09:11.82 ID:w9WwQK5E.net]
>>957
わかんない。変な書き方してるんじゃない?

977 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 21:46:30.50 ID:Tf8W7eqI.net]
わかったぞ
バグってるからだ!

978 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 21:58:04.26 ID:+RoQYFQA.net]
やはりどこかバグがあるんですかね
そこまで複雑な処理はしてないのですが...
しばらく探してみます

979 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 22:13:13.87 ID:mtJPl6/b.net]
バグってハニー

980 名前:デフォルトの名無しさん [2017/04/01(土) 05:25:50.87 ID:2aD1OODW.net]
ていうか、どう書いたのかここに書くなり何処かに書いてリンクするなりしてくれないと誰も何とも言えんだろう

981 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 16:16:56.73 ID:2aD1OODW.net]
>>953
その関数環境依存で最初からライブラリに入ってるのは主にWindows用Cコンパイラだよな。
他の環境だと自作することになって面倒。

982 名前:デフォルトの名無しさん [2017/04/01(土) 21:22:01.68 ID:j/176Eap.net]
ttps://pastebin.com/eJLwe5pK
コンソルに出力された結果値
A:X, B:〇, C:X, D:X, E: X, -> @@ : TW : 15, $ : 650 <-ここは300
A:X, B:X, C:〇, D:X, E: X, -> @@ : TW : 15, $ : 650 <-ここは350
A:X, B:X, C:X, D:〇, E: X, -> @@ : TW : 15, $ : 650 <-ここは500
A:X, B:X, C:X, D:X, E: X, -> @@ : TW : 15, $ : 650 <-ここは0

質問:<-[ここは~] の箇所は出力値が想定と違うのは



983 名前:ネぜでしょうか? []
[ここ壊れてます]

984 名前:デフォルトの名無しさん mailto:sage [2017/04/01(土) 23:32:20.40 ID:JX3Xm6T9.net]
想定がよくわからん。↓みたいな事がしたいのかと思ったけど。
ttps://paiza.io/projects/eGVsgPaiOfG8hG7yst2CBg

985 名前:デフォルトの名無しさん [2017/04/01(土) 23:52:55.78 ID:j/176Eap.net]
>>965

そうです。まさにその通りです。ソースを参考に何が間違っていたのか分析してみます。
大変ありがとうございました。

986 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 00:57:17.53 ID:oPl36p+V.net]
ソースコードを見て考えなくても、1行ずつ、デバッグすれば良いだけだろ?

それか、あちこちに、print文をばらまくとか

987 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 09:48:13.58 ID:7PiFqLeo.net]
>>964
正直何がしたいか(要件)がわからないけど、やりたいことに対して実装が複雑すぎじゃない?
実業務だったら多分全部書き直してる

988 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 16:17:59.71 ID:E8izrwFB.net]
wait()って、notify()ではなくタイムアウトで関数ブロック状態で抜けた場合それを知るすべが無いの?
タイムアウト・InterruptedExceptionで抜けた場合は処理Aを、
notify()で抜けた場合は処理Bを、ってことがやりたいんだが

989 名前:デフォルトの名無しさん mailto:sage [2017/04/02(日) 19:16:01.75 ID:REfjDWjC.net]
>>969
notifyする側でsynchronizedブロック抜ける前になんかのフラグたてて、
wait終わったときにそのフラグ読み込むとかじゃだめかな?

waitObjectにboolean notifyFlagとか持たせて

// wait側
synchronized(waitObject)
{
try {
waitObject.wait(timeout);
} catch (InterruptedException e) {
// Thread.interrupted();
}

if (waitObject.notifyFlag) {
  // 処理B
} else {
// 処理A
}
}


// notify側
synchronized(waitObject)
{
waitObject.notifyFlag = true;
waitObject.notify();
}

990 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 00:57:41.00 ID:uNrfjwY7.net]
https://ideone.com/ccxD7R
上記のソースコードで実行時エラーが発生してしまうのですが、
どう直せばよいでしょうか?(Scannerの文)
スッキリわかるJava入門を参考に書いたのですが、
(例えば)String str = new java.util.Scanner(System.in).nextLine();
という文にある問題点が分かりません。

991 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 01:56:35.58 ID:BUL/emew.net]
自分の手元で動かせる環境がないのかな?
ideoneの使い方がそもそも間違ってるぞ。

992 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 03:01:27.51 ID:UirRGd7/.net]
>>970
ありがとうございます!



993 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 06:44:58.47 ID:UyEHLSu2.net]
>>971
単純に入力が無いぞこのやろーっていうエラーを吐いてる
IntelliJ辺りでソースコードコピーして実行したら
ちゃんと動いたぞ

994 名前:971 mailto:sage [2017/04/03(月) 15:54:28.98 ID:QRQ9n9IP.net]
>>972>>974
ありがとうございます。

エクリプスが入ってます。確かにそこではコンパイルエラーは出ていません。
しかしこのソースコードだとScannerクラスの使い方がよくないみたいなんですが、その辺りをどなたか説明して頂けないでしょうか?Googleで調べてもよくわかりません…。

995 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 16:11:53.89 ID:yiUlzfB2.net]
入力がないぞこのやろーってエラーをはいてるって言ってくれてるんだから入力するだけと違うんか

996 名前:971 mailto:sage [2017/04/03(月) 16:25:25.04 ID:uNrfjwY7.net]
>>976
どうやって入力すればいいんですか?
エクリプスのような案内が出ないんですが…。

997 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 16:31:30.42 ID:uA2N3UXp.net]
>>977
ideoneでコード書いてる下にstandard inputみたいなのあるはず
手元にEclipseあるならそれでやればいいんじゃないの?

998 名前:971 mailto:sage [2017/04/03(月) 17:08:42.50 ID:QRQ9n9IP.net]
>>978
ありがとうございます。

必要とされるであろうリテラルを、まとめて書いておくんですか?

999 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 18:03:17.35 ID:uA2N3UXp.net]
>>979
そう
改行挟んでね []
[ここ壊れてます]

1001 名前:971 mailto:sage [2017/04/03(月) 19:41:05.11 ID:uNrfjwY7.net]
>>980
分かりました。
ありがとうございました。

1002 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 19:43:08.35 ID:gZTdU5yD.net]
34歳ここにも書き込んでるなら向こうはよくね?



1003 名前:デフォルトの名無しさん [2017/04/03(月) 19:44:04.24 ID:bUINxLhd.net]
>>957
キーイベントはフォーカスを持ったパネルとかコントロールしか受け取れない
あと、恐らくjframe使ってると思うけど、Container cont=getContentPane();で
contに直接ボタンとかをaddしてない?それやるとタイトルバーに食い込むよね?
まずpannelをaddするとpanelはバーの下に配置されて左上0,0がバーの下になる。
マウスの位置の取得とかフォーカスとか全てそのパネルを基準にするといい。

1004 名前:デフォルトの名無しさん [2017/04/03(月) 19:50:58.79 ID:C0G2h/2V.net]
>>967
わかりました。デバッグしてみます。

>>968
Cで書かれているものをjavaで書こうとしているので、できるだけ、C実装と同じようにしたいと思っています。

1005 名前:デフォルトの名無しさん mailto:sage [2017/04/03(月) 19:55:50.56 ID:jWiaLeMO.net]
>>984
他言語で同じ動作をするプログラムを組むってのは同じコードを書くって意味じゃないぞ

1006 名前:デフォルトの名無しさん [2017/04/03(月) 21:40:30.47 ID:C0G2h/2V.net]
>>985

はい、今回初めてわかりました。今は以下のようになっています。もう少し修正してみます。

ttps://pastebin.com/5GYupJyS

1007 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 05:18:13.74 ID:K8Tf42DL.net]
Haxe(ヘックス)はOSSで、JSに型チェックを付けたような言語で(altJS)、
JS(ES5), Flash, PHP, C++, Java, C#, Python, Lua に書き出せる。
Windows8.1対応。IDEは、FlashDevelop

このサイトで、ブラウザでプログラミングして、実行できる
Try Haxe !
try.haxe.org/

Haxeプログラミング入門、尾野政樹、2015

1008 名前:デフォルトの名無しさん [2017/04/04(火) 14:36:15.40 ID:S7/ucjiF.net]
なぁ
interrupt()のすぐ後にsleep()入れると何故かスリープ後に割り込みが発生するんだけどこれ仕様?おかしいだろ。
すぐ割り込ませたいんだけど

1009 名前:デフォルトの名無しさん [2017/04/04(火) 19:05:06.01 ID:I9HDP9Y0.net]
わからん。
なぜ< Result >
false
false
false
false
false
表示されるんだろうか。
[false, true, false, true, false]が表示されるはずなんだが。
ttps://pastebin.com/DhqE0x1K

1010 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 19:18:34.10 ID:865J8TPA.net]
>>970
Thread.currentThread().isInterrupted()じゃダメなんだっけ?

1011 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 19:47:54.02 ID:iuVo07t1.net]
>>989
ざっとしか見てないけど50-58の間にreturnがなくて58で必ずFalse入れてるんだからそうなるだろ

1012 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 20:22:21.70 ID:D5e7y0zT.net]
40行目、selected = tmpSelect;じゃなくてselected = new ArrayList<>(tmpSelect);じゃないか?



1013 名前:デフォルトの名無しさん [2017/04/04(火) 20:47:18.61 ID:I9HDP9Y0.net]
>>991
39行目でtrueの場合(値更新)のみselectedは更新されるので、それ以外ではFalseの影響は受けないと考えます。
デバグ走らせたけど、2回しかこの処理は通っていませんでした。

>>992
ありがとうございます。予想通りに出力されました。
しかし、なぜselected = tmpSelect;では出来なかったのでしょうか。

1014 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 20:50:02.91 ID:y0EcmGB0.net]
次スレ
Java入門・初心者質問スレ Part.3
echo.2ch.net/test/read.cgi/tech/1491306071/

>>990
Thread.currentThread().isInterrupted()でなにをすると?
割り込みステータスじゃタイムアウトとnotifyの判別できないんじゃね?

1015 名前:デフォルトの名無しさん [2017/04/04(火) 22:43:40.74 ID:A2bdtwo3.net]
趣味でプログラミング始めようとして、一応入門書一冊読んだだけでプログラム作り始めました。
複数の入力に対して、計算結果を出力する泥アプリを作ろうとしています。
AndroidStrudioでエミュ起動するところまではできましたが、
Caused by: java.lang.NumberFormatException: Invalid int: ""はいています。
該当箇所は以下で、EditTextは入力を数字に制限しています。

EditText edit = (EditText) findViewById(R.id.edit);
String str = edit.getText().toString();
int num = Integer.parseInt(str);

TryCatchが必要のようなので、

String str = edit.getText().toString();
try {
num = Integer.parseInt(str);
}catch (NumberFormatException e){
num = 10;
}

としてひとまず代入が成功しているかのチェックも行いましたが、初期化された数字しか表示できません。
正しく自分の状況を説明できているかもわかりませんが、よろしくお願いいたします。

1016 名前:デフォルトの名無しさん mailto:sage [2017/04/04(火) 23:05:30.35 ID:rl/ytT5/.net]
>>995
edit.getText().toString()呼び出すタイミングが悪いのでは?
Activity.onCreate()とかで呼び出してるんじゃないかな
上記ならどのタイミングでEditTextに入力された値を扱いたいかが分からないとそれ以上のアドバイスはできないけど

1017 名前:デフォルトの名無しさん [2017/04/04(火) 23:24:24.85 ID:A2bdtwo3.net]
>>996
public class MainActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

int num1 , num2 ;

EditText edit = (EditText) findViewById(R.id.edit_ab);
String str1 = edit_ab.getText().toString();
num1 = Integer.parseInt(str1);

EditText edit2 = (EditText) findViewById(R.id.edit2);
String str2 = edit_hr.getText().toString();
num2 = Integer.parseInt(str2);

final float num0 = num1 + num2 / 100;

final TextView text = (TextView)findViewById(R.id.text);
Button button_done = (Button)findViewById(R.id.button);
button_done.setOnClickListener(new View.OnClickListener(){
public void onClick(View v){
text.setText(String.valueOf(num0));
}
});
}
}

一部割愛していますが、上記のような形になっています。
@Overrideの意味も理解できていない状況ですが、そのonCreateも影響しているのでしょうか。

1018 名前:デフォルトの名無しさん mailto:sage [2017/04/05(水) 00:29:20.89 ID:QXjM+MPV.net]
>>997
onClick()の中でnum1、num2取るように直してみな

1019 名前:デフォルトの名無しさん mailto:sage [2017/04/05(水) 00:35:55.27 ID:ft0BvTmE.net]
>>993
Cで言うポインタみたいなもんなのよ。
selected = tmpSelect;ってすると以降tmpSelect、selectedが同じインスタンスを指すようになる。
そうなると当然tmpSelectで行った変更はselectedでも見えるし、selectedで行った変更はtmpSelectでも反映される。
ttps://paiza.io/projects/P95uB_jQm3p0-qLv8Y7fuw

1020 名前:デフォルトの名無しさん [2017/04/05(水) 00:38:09.83 ID:/7gGEn2o.net]
>>989
staticおじさんの回答
https://paiza.io/projects/Z4PUIZZTxSSXqP8Xfs0fwQ

1021 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef