★★Java質問・相談スレッド165★★
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2013/10/20(日) 19:30:39.35JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
(p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※
前スレッド
★★Java質問・相談スレッド164★★
http://toro.2ch.net/test/read.cgi/tech/1378219684/
0331デフォルトの名無しさん
2013/11/04(月) 22:25:05.01お前はプログラム修正で文字化けが発生するようになったことを客に指摘されて
同じことを客に抜かすのか?
0332329
2013/11/04(月) 22:25:17.570333デフォルトの名無しさん
2013/11/04(月) 22:25:34.52すいません、大外にはFileNotFouneExceptionを捕まえるtry〜catchがあると思ってください。
ただ単純に、�@、�Aのどちらでも、close漏れは防げるのか、防げないのかということが知りたいです。
0334デフォルトの名無しさん
2013/11/04(月) 22:25:36.59TableLayoutで作った表の幅と高さを調整したいのですが、どうしたらいいでしょうか?
TableLayoutでテキストとボタンを配置したのですが、実機で起動したところ
表示したものが、1/9の大きさで左上隅に表示されました。
これだと、小さすぎるので幅を大きくしたいのですが、
調べたところ、xmlファイルのはあるのですが、Activityファイルでは見つかりませんでした。
どこを調べたらいいのでしょうか?
0335デフォルトの名無しさん
2013/11/04(月) 22:26:59.26何の話してんだバーカ
2chの仕様をいってんだよ
0336デフォルトの名無しさん
2013/11/04(月) 22:33:35.780337デフォルトの名無しさん
2013/11/04(月) 22:35:23.94close漏れは(�@、�A)どちらでも防げるよ。
0338デフォルトの名無しさん
2013/11/04(月) 22:38:16.680339デフォルトの名無しさん
2013/11/04(月) 23:21:43.96おまえら面白杉だろw
0340デフォルトの名無しさん
2013/11/05(火) 00:01:05.31検索したらそのものずばりの解説がヒットしたけど、検索した?
http://www.atmarkit.co.jp/ait/articles/1112/20/news131_3.html
0341デフォルトの名無しさん
2013/11/05(火) 00:06:07.20バカ乙
0342デフォルトの名無しさん
2013/11/05(火) 00:08:53.650343デフォルトの名無しさん
2013/11/05(火) 00:10:20.03関係ねえよ
0344デフォルトの名無しさん
2013/11/05(火) 00:13:21.72あるね。
try{
FileReader reader=new FileReader("unko");
try{
...
}finally{
reader.close();
}
}catch(Exception e){...}//ヌルポとIOExceptionを補足
で良い感じもする。
0345デフォルトの名無しさん
2013/11/05(火) 00:14:12.45今回の話とは関係ない
0346デフォルトの名無しさん
2013/11/05(火) 00:14:29.78前者と後者の違いはclose()の漏れに注目してる違いのコードじゃないよ
new FileReader("a.txt")の失敗をキャッチしたいかしなくていいかの違いだよ
前者はa.txtが無かった場合どこで処理されるか知らんけど、後者はそこのcatchで処理されるからcloseメソッドの呼び出しに気を遣うためにnullチェックしてる
0347デフォルトの名無しさん
2013/11/05(火) 00:17:49.52FileReader reader=null;
try{
reader=new FileReader("unko");
...
}catch(IOException e){
...
}finally{
try{
reader.close();
}catch(Exception e){...}
}
0348デフォルトの名無しさん
2013/11/05(火) 00:18:10.05前者の�@はnew FileReader("a.txt")の失敗を想定しなくていいコード
後者の�Aはnew FileReader("a.txt")の失敗をそこで処理したいコード (ただ�Aにはcatch文が書かれてないけど、本来は処理する)
0349デフォルトの名無しさん
2013/11/05(火) 00:20:25.24>>333読めよバカ
0350デフォルトの名無しさん
2013/11/05(火) 00:21:59.230351デフォルトの名無しさん
2013/11/05(火) 00:43:39.870352デフォルトの名無しさん
2013/11/05(火) 00:46:59.650353デフォルトの名無しさん
2013/11/05(火) 01:03:39.200354デフォルトの名無しさん
2013/11/05(火) 01:27:27.96これはまずいと思うぞ。
コンストラクタが例外投げたらぬるぽじゃないか。
ぬるぽ地獄に陥りたいのか!!
0356デフォルトの名無しさん
2013/11/05(火) 01:33:59.45void load(File f)throws IOException
FileReader reader=new FileReader(f);
try{
...
}finally{
reader.close();
}
}
0357デフォルトの名無しさん
2013/11/05(火) 01:35:35.37void load(File f)throws IOException,NullPointerException
{...}
0358デフォルトの名無しさん
2013/11/05(火) 01:36:21.440359デフォルトの名無しさん
2013/11/05(火) 01:36:54.320360デフォルトの名無しさん
2013/11/05(火) 01:37:29.350361デフォルトの名無しさん
2013/11/05(火) 01:38:00.130362デフォルトの名無しさん
2013/11/05(火) 01:39:05.45Reader reader = new FileReader("a.txt");
// ここに何か処理があったらreaderのclose()のフォローができない
try {
って話をしたいの?
0363デフォルトの名無しさん
2013/11/05(火) 01:44:11.300364デフォルトの名無しさん
2013/11/05(火) 01:45:14.390365デフォルトの名無しさん
2013/11/05(火) 01:46:47.960366デフォルトの名無しさん
2013/11/05(火) 01:51:06.650367デフォルトの名無しさん
2013/11/05(火) 01:54:02.550368デフォルトの名無しさん
2013/11/05(火) 02:00:26.000369デフォルトの名無しさん
2013/11/05(火) 02:51:32.050370デフォルトの名無しさん
2013/11/05(火) 03:42:42.31Cursor c2 = c1
c1.close
}
こんな感じのコードを書いたんですが、
c1をクローズするとc2まで閉じちゃうんです。代入ってコピーするんじゃなくて、メモリで持ってるインスタンスそのものにアクセスするエイリアスみたいなものなんでしょうか?
0371デフォルトの名無しさん
2013/11/05(火) 03:47:11.090372デフォルトの名無しさん
2013/11/05(火) 03:48:12.72http://ja.wikipedia.org/wiki/%E3%83%8F%E3%83%BC%E3%83%89%E3%83%AA%E3%83%B3%E3%82%AF
0373デフォルトの名無しさん
2013/11/05(火) 03:52:34.53Object obj2 = obj1;
obj1 = null; //obj2はnullにならない
もしエイリアスなら、obj2はobj1と同じ物を指さないといけないからobj1をnullにしたならobj2もnullにならなければならない
0374デフォルトの名無しさん
2013/11/05(火) 03:55:30.800375デフォルトの名無しさん
2013/11/05(火) 03:58:04.780376デフォルトの名無しさん
2013/11/05(火) 03:59:04.42Human joe = tom; // tomとニックネームをつけた人間にjoeというニックネームもつけた
tom = null; //tomというニックネームを使うのをやめた
インスタンスの概念
0377デフォルトの名無しさん
2013/11/05(火) 04:03:43.13ジョーさんはその後もトムという通名を使ってるのですか?
0378デフォルトの名無しさん
2013/11/05(火) 04:05:27.30それは違うよ、本人がtomやjoeと名乗ってるわけじゃない、周りが勝手にtomやjoeと呼んでるだけなんだよ
0379デフォルトの名無しさん
2013/11/05(火) 04:10:58.85プロレスラー ムタ = 武藤
ムタ = null ムタ止めた
武藤.dead 武藤(ムタ)は引退した
こ・・・こういうことか 理解した
0380デフォルトの名無しさん
2013/11/05(火) 04:16:45.78Human joe = tom; // tomとニックネームをつけた人間(Jack)にjoeというニックネームでも呼ぶことにする
tom = null; //tomというニックネームで誰かを呼ぶことをやめる、tomというニックネームで呼ばれる人間はいなくなる (Jackはもうtomとは呼ばれない)
tom = new Human("Cindy"); //別の新しい人間(本名Cindy)を作ってそいつをtomと呼ぶことにする
Foo(tom); // Fooメソッドに tom と呼んでる人間(Cindy)を引数として渡す
void Foo(Human bob) { //引数で渡された人間を Fooのメソッド内では bobというニックネームで呼ぶことにする
}
0381デフォルトの名無しさん
2013/11/05(火) 04:21:59.03Human joe = tom; // tomとニックネームをつけた人間(Jack)をjoeというニックネームでも呼ぶことにする
tom = null; //tomというニックネームで誰かを呼ぶことをやめる、tomというニックネームで呼ばれる人間はいなくなる (Jackはもうtomとは呼ばれない)
tom = new Human("Cindy"); //別の新しい人間(本名Cindy)を作ってそいつをtomというニックネームで呼ぶことにする
Foo(tom); // Fooメソッドに tom と呼んでる人間(Cindy)を引数として渡す
tom.die(); // tomと呼ばれてる人間(Cindy)を死なす
joe = null; // joeというニックネームで誰かを呼ぶことをやめる、joeというニックネームで呼ばれる人間はいなくなる、また同時にJackをニックネームで呼ぶ者がいなくなったためJackは失踪する
joe.die(); // joeと呼ばれてる人間はいないので存在しない者を死なすことは出来ない
void Foo(Human bob) { //引数で渡された人間を Fooのメソッド内では bobというニックネームで呼ぶことにする
}
0382デフォルトの名無しさん
2013/11/05(火) 04:28:49.670383デフォルトの名無しさん
2013/11/05(火) 05:12:16.69ノ ⌒γ⌒)
(( (
( )
) ヽ
ノノ ))
( ノノ ノノ )
((( ノ乂ノノ从 人乂 ヽ
) )ノノ__」」__| )
( )) (●) |(●)/( ))
)) ( ノ | ヽ | )ノ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
( メ ヽヽ 」 / ノ < え!ここ荒らしちゃいけないの!?
((乂 ノノ | llllllllllllll ノノ ) \________
((乂 ヽヽ ++++ノノノ)((
ヽ乂 ヽ  ̄ ̄/ ノ
ヽllllllノ
0384デフォルトの名無しさん
2013/11/05(火) 05:19:39.580385デフォルトの名無しさん
2013/11/05(火) 05:42:37.680386デフォルトの名無しさん
2013/11/05(火) 06:10:49.450387デフォルトの名無しさん
2013/11/05(火) 06:39:30.780388デフォルトの名無しさん
2013/11/05(火) 08:42:01.610389デフォルトの名無しさん
2013/11/05(火) 23:37:37.990390デフォルトの名無しさん
2013/11/06(水) 01:50:55.990391デフォルトの名無しさん
2013/11/06(水) 02:36:56.280392デフォルトの名無しさん
2013/11/06(水) 03:07:41.31http://www.ecoop.net/memo/archives/2007-02-17-3.html
Javaで標準以外のライブラリを使用したプログラムを他のPCで動か.. - 人力検索はてな
http://q.hatena.ne.jp/1288867770
Jar ファイルを持つネイティブ dll をバンドル
http://ja.softuses.com/218163
コンピュータ職の徒然日記 - Yahoo!ブログ
http://blogs.yahoo.co.jp/shikakuit/archive/2011/08/25
View Source Native code and classloaders
http://jiemamy.org/plugins/viewsource/viewpagesrc.action?pageId=2162771
Oracle CEPアプリケーションのアセンブルとデプロイ
http://docs.oracle.com/cd/E28389_01/dev.1111/b61654/deploy.htm
0393デフォルトの名無しさん
2013/11/06(水) 06:09:41.090394デフォルトの名無しさん
2013/11/06(水) 06:47:25.39直接は出来ない。MANIFEST.MFをごにょごにょすれば出来るとかは基本的に迷信。
getResourceAsStream等でJAR内のDLLを一端テンポラリディレクトリ等に書き出して
System.loadで読み出す必要がある。
0395デフォルトの名無しさん
2013/11/06(水) 08:14:15.89そーゆーのはブログでやって
0396デフォルトの名無しさん
2013/11/06(水) 08:47:18.800397デフォルトの名無しさん
2013/11/06(水) 09:07:44.300398デフォルトの名無しさん
2013/11/06(水) 09:10:24.16重くても楽がいいなら標準DOM
でなきゃ標準SAXで
0399デフォルトの名無しさん
2013/11/06(水) 09:16:47.250400デフォルトの名無しさん
2013/11/06(水) 09:50:30.210401デフォルトの名無しさん
2013/11/06(水) 09:55:47.170402デフォルトの名無しさん
2013/11/06(水) 10:03:07.830403デフォルトの名無しさん
2013/11/06(水) 12:12:43.180404デフォルトの名無しさん
2013/11/06(水) 12:27:38.42日付を扱う場合はCalendarクラス
時刻を扱う場合はDateFormatクラス
を使うのが定番でしょうか?
Java7のドキュメントのこのページ見ながら勉強してます
http://docs.oracle.com/javase/jp/7/api/java/util/Date.html
0405デフォルトの名無しさん
2013/11/06(水) 12:32:30.200406デフォルトの名無しさん
2013/11/06(水) 12:41:03.38いいえ。
0407デフォルトの名無しさん
2013/11/06(水) 12:56:44.630408デフォルトの名無しさん
2013/11/06(水) 13:12:55.70Calendar は、ある特定の地域と暦における年月日時分秒を表す
例えば、日本時間における西暦2013年11月6日12時27分38秒は、
アメリカ東海岸では西暦2013年11月5日22時27分38秒になる
Date は特定の地域や暦に結びついていないので、 Date 的にはどちらも等しい
同じ Date をまた別の地域や暦の Calendar にセットすれば、その地域や暦に応じた年月日時分秒になる
0409デフォルトの名無しさん
2013/11/06(水) 15:11:41.13初心者未満のレベルだってことを自覚した方がいいぞ
0410デフォルトの名無しさん
2013/11/06(水) 15:51:44.980411デフォルトの名無しさん
2013/11/06(水) 17:04:27.24関数っぽく扱うために(メンバ変数などを持たせずに)、runメソッドのみを実装することに
なると思うんですが、そのような関数のためのインスタンスでも、いちいちヒープ領域に
インスタンスを作ったり開放したりするコストなどがかかるのでしょうか?
同じようなモノをJava8で追加されるラムダ式で実現すると、static finalで作った関数と
同程度の最適化が起こると聞いたので気になります
0412デフォルトの名無しさん
2013/11/06(水) 17:09:42.880413デフォルトの名無しさん
2013/11/06(水) 17:12:14.310414デフォルトの名無しさん
2013/11/06(水) 17:20:30.01詳しい解説ありがとうございます
Calendarでやってみたんですが日本の日時になってくれません
TimeZone tz = TimeZone.getTimeZone("Asia/Tokyo");
Calendar calendar = Calendar.getInstance(tz);
System.out.println(calendar.getTime());
System.out.println(calendar.getTimeZone());
いくつかのオンラインでためしてみたのですが時間がずれてしまいます
http://www.browxy.com/
http://www.compileonline.com/compile_java_online.php
0415デフォルトの名無しさん
2013/11/06(水) 17:32:17.98getTime の戻り値は Date
Date は地域に結びついていないと言った
Calendar の年月日時分秒は get で取る
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH) + 1);
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR_OF_DAY));
System.out.println(calendar.get(Calendar.MINUTE));
System.out.println(calendar.get(Calendar.SECOND));
0416デフォルトの名無しさん
2013/11/06(水) 17:48:17.650417デフォルトの名無しさん
2013/11/07(木) 03:02:13.62JavaDBのファイルってアプリに含めて配布してもいいのかな?どのファイルをアプリに含めればいいんだろ
0418デフォルトの名無しさん
2013/11/07(木) 06:38:48.39public class Sample2 {
public static void main(String[] args) {
int count=5;
while (count !=5&&count>0){
System.out.println("while :count=" +count);
count--;
}
do{
System.out.println("do-while : count="+count);
count--;
}while (count!=5&&count>0);
}
}
で結果が
do-while : count=5
do-while : count=4
do-while : count=3
do-while : count=2
do-while : count=1
になるのですが count!=5 のところの ! の意味がよくわかっていない為よくわかりません。
階乗の意味か逆の意味のどちらかと思い自分なりに考えてみたもののさっぱりでした。
count!=5 の意味に重点においた解説をどなたかしてはもらえませんか?
0419デフォルトの名無しさん
2013/11/07(木) 06:43:22.440420デフォルトの名無しさん
2013/11/07(木) 07:05:04.470421デフォルトの名無しさん
2013/11/07(木) 07:08:29.05count != 5は、countが5ではないって意味。
while (count != 5 && count > 0)
はcountが5ではなく、0より大きければという条件。
countは5なので、条件は不成立。最初のwhile文は実行されない。
do while文では最初にdoのところが処理されて
count--でcountが4になる。
countが5ではなく、0より大きければという条件が成立する。
0422デフォルトの名無しさん
2013/11/07(木) 07:11:00.330423デフォルトの名無しさん
2013/11/07(木) 07:23:51.37解説ありがとうございます!
おかげで理解することができ、スッキリしました!
0424デフォルトの名無しさん
2013/11/07(木) 07:28:31.440425デフォルトの名無しさん
2013/11/07(木) 07:29:13.14なるほど、大変良くわかりました。
どうもありがとうございました!
0426デフォルトの名無しさん
2013/11/07(木) 07:41:39.940427デフォルトの名無しさん
2013/11/07(木) 08:03:56.160428デフォルトの名無しさん
2013/11/07(木) 08:28:14.090429デフォルトの名無しさん
2013/11/07(木) 11:45:20.36int配列1 1,2,3
int配列2 1,3,5
とあって、
この場合、1,3を取得をしたいのです。
0430デフォルトの名無しさん
2013/11/07(木) 12:06:57.00■ このスレッドは過去ログ倉庫に格納されています