★★Java質問・相談スレッド150★★

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
プログラミング言語Javaに関する質問スレです。
JavaScript, 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
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
★★Java質問・相談スレッド149★★
http://toro.2ch.net/test/read.cgi/tech/1318935200/
2デフォルトの名無しさん:2011/12/24(土) 14:29:03.52
**** 関連スレッド案内 ****
■ AWT と Swing は --
Java低速GUI Swing & JavaFX 10
http://toro.2ch.net/test/read.cgi/tech/1316592884/
■ SWT は --
Java 高速GUI SWT 3
http://hibari.2ch.net/test/read.cgi/tech/1164877399/

■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part22
http://hibari.2ch.net/test/read.cgi/tech/1295766416/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
http://hibari.2ch.net/test/read.cgi/tech/1249357352/
■ Androidアプリの作成は --
Androidプログラミング質問スレ Part16
http://toro.2ch.net/test/read.cgi/tech/1324191723/

■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 71 ★★
http://hibari.2ch.net/test/read.cgi/tech/1309076891/
3デフォルトの名無しさん:2011/12/24(土) 14:33:09.26
■ NetBeansに関する雑談は --
NetBeans Part6
http://hibari.2ch.net/test/read.cgi/tech/1273665879/
■ Eclipseに関する雑談は --
Eclipse統合M32【Java/C++/Ruby/Python/Perl】
http://toro.2ch.net/test/read.cgi/tech/1320318310/

**** 開発環境、実行環境は ****
■ Java SE Downloads
http://www.oracle.com/technetwork/java/javase/downloads/index.html
4デフォルトの名無しさん:2011/12/24(土) 15:05:31.56
SwingとAWTとSWTはどのように選択していいのかわかりません
5デフォルトの名無しさん:2011/12/24(土) 15:07:48.93
とりあえず全部やってみて一番好きなの使えばいいんじゃね?
6デフォルトの名無しさん:2011/12/24(土) 15:26:41.51
テンプレに入れといてやろう

■C#の話題はスレチなので巣におかえりください --
C#, C♯, C#相談室 Part69
http://toro.2ch.net/test/read.cgi/tech/1323354868/
7デフォルトの名無しさん:2011/12/24(土) 15:39:29.17
>>4
何回目だよこの質問
8デフォルトの名無しさん:2011/12/24(土) 15:46:24.63
ごちゃごちゃ言ってないで回答しろ
9デフォルトの名無しさん:2011/12/24(土) 15:49:47.91
>>8文盲おつ
>>4>>2に書いてあるだろ。アホらし
10デフォルトの名無しさん:2011/12/24(土) 15:52:41.23
こがらし
11デフォルトの名無しさん:2011/12/24(土) 16:02:39.60
>>6
Javaやるにはまだ早い or 見込みないから、C#やった方がいいよってのはあったけど、C#の質問は今までなかっただろ
それともC#はGUI出来る人多いのにJavaではSwing GUIを出来る人があまりいないからC#のGUIをひがんでるんの?w
12デフォルトの名無しさん:2011/12/24(土) 16:03:25.45
filewriterとbufferedwriter大差なくね?

buffの利用価値がわからん
13デフォルトの名無しさん:2011/12/24(土) 16:08:05.64
>>11
おまえの周囲の紹介なんか興味ねーよ。スレチでノイズだからあっち池ってだけだ。
どっちも使える俺は住みわけてるお前もそうするよな?
14デフォルトの名無しさん:2011/12/24(土) 16:13:51.36
>>12
メモリ上かファイルかString(char[])のままかbyte[]に変換されるかの違いがある。
15デフォルトの名無しさん:2011/12/24(土) 20:28:36.96
前スレ最後の言語仕様云々の話は面白かった。
話してた人たちありがとう。

仕事でやってる人たちはあれぐらい知ってるのか。
すげーな。
16デフォルトの名無しさん:2011/12/24(土) 23:59:39.99
var latlng = new google.maps.LatLng(35, 139.);
var lat = google.maps.LatLng.lat;
alert(lat);

このvar latに「35」の値が格納されるようにしたいんだけどアンディファインドが出てしまう、どうすればいいんだろう?
現在だとLatとLngが同時に格納されているからlatとlngそれぞれに分けたい
17デフォルトの名無しさん:2011/12/25(日) 00:02:39.67
ごめん、googlemapsapiのスレでないとスレ違いかな?
失礼
18デフォルトの名無しさん:2011/12/25(日) 00:42:46.71
メリークリスマス

さて質問です。

enumでメソッドやフィールドが定義できるが、
メリットはなんなの?
19デフォルトの名無しさん:2011/12/25(日) 03:21:57.69
>>18
enumに使いたい文字が使用禁止文字だったり数字そのものだったりしたとき、どうする?
またその文字列や値をenumに変換したい場合、そのメソッドはどこに置くべき?
20デフォルトの名無しさん:2011/12/25(日) 09:20:27.50
>>19
むむっ
ちょっと考えてみます!

ありがとう!
21デフォルトの名無しさん:2011/12/25(日) 18:35:54.45
javadocの日本語版のダウンロードするやつどこ?
オラクルになってからリンク切れてどこにあるかさっぱりわからない。
22デフォルトの名無しさん:2011/12/25(日) 19:41:17.63
質問です
javaでmp3使えるようにするにはどうしたらいいですか?
23デフォルトの名無しさん:2011/12/25(日) 19:47:40.36
24デフォルトの名無しさん:2011/12/25(日) 22:19:27.03
このエラーが出るときってどうすればなおるんでしょうか?#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000, pid=4988, tid=5752
#
# JRE version: 6.0_30-b12
# Java VM: Java HotSpot(TM) Client VM (20.5-b03 mixed mode windows-x86 )
# Problematic frame:
# C 0x00000000
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
2524:2011/12/25(日) 22:21:19.02
--------------- T H R E A D ---------------

Current thread (0x51c8e000): JavaThread "Minecraft main thread" daemon [_thread_in_native, id=5752, stack(0x52480000,0x524d0000)]

siginfo: ExceptionCode=0xc0000005, reading address 0x00000000

Registers:
EAX=0x524cf31c, EBX=0x524cf690, ECX=0x00000000, EDX=0x525f0ea8
ESP=0x524cf30c, EBP=0x524cf61c, ESI=0x890119f4, EDI=0x00380456
EIP=0x00000000, EFLAGS=0x00010297

Top of Stack: (sp=0x524cf30c)
0x524cf30c: 6906eac4 890119f4 524cf31c 525f0ea8
0x524cf31c: 00000002 00000000 0001a52a 00000000
0x524cf32c: 525f0ea8 00000000 00000000 00002000
0x524cf33c: 00002000 69071aef 00000000 00000000
0x524cf34c: 525f0ea8 0001a52a 00000000 525d4880
0x524cf35c: 525beab0 52957f38 00000000 00000000
0x524cf36c: 00000000 00000000 525669c8 000a0008
0x524cf37c: 00000000 24e8bcf3 76fc5078 76fc5078
2624:2011/12/25(日) 22:25:29.49

Register to memory mapping:

EAX=0x524cf31c is pointing into the stack for thread: 0x51c8e000
EBX=0x524cf690 is pointing into the stack for thread: 0x51c8e000
ECX=0x00000000 is an unknown value
EDX=0x525f0ea8 is an unknown value
ESP=0x524cf30c is pointing into the stack for thread: 0x51c8e000
EBP=0x524cf61c is pointing into the stack for thread: 0x51c8e000
ESI=0x890119f4 is an unknown value
EDI=0x00380456 is an unknown value


Stack: [0x52480000,0x524d0000], sp=0x524cf30c, free space=316k
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.lwjgl.opengl.WindowsContextImplementation.nSwapBuffers(Ljava/nio/ByteBuffer;)V+0
j org.lwjgl.opengl.WindowsContextImplementation.swapBuffers()V+35
j org.lwjgl.opengl.Context.swapBuffers()V+3
j org.lwjgl.opengl.Display.swapBuffers()V+31
j org.lwjgl.opengl.Display.update(Z)V+44
j org.lwjgl.opengl.Display.update()V+1
j org.lwjgl.opengl.Display.initContext()V+19
j org.lwjgl.opengl.Display.create(Lorg/lwjgl/opengl/PixelFormat;Lorg/lwjgl/opengl/Drawable;Lorg/lwjgl/opengl/ContextAttribs;)V+97
j org.lwjgl.opengl.Display.create(Lorg/lwjgl/opengl/PixelFormat;)V+9
j net.minecraft.client.Minecraft.a()V+151
j net.minecraft.client.Minecraft.run()V+6
j java.lang.Thread.run()V+11
v ~StubRoutines::call_stub
2724:2011/12/25(日) 22:26:29.92
VM state:not at safepoint (normal execution)

VM Mutex/Monitor currently owned by a thread: None

Heap
def new generation total 157248K, used 87179K [0x04b00000, 0x0f5a0000, 0x1a050000)
eden space 139776K, 62% used [0x04b00000, 0x0a022c90, 0x0d380000)
from space 17472K, 0% used [0x0d380000, 0x0d380000, 0x0e490000)
to space 17472K, 0% used [0x0e490000, 0x0e490000, 0x0f5a0000)
tenured generation total 349568K, used 0K [0x1a050000, 0x2f5b0000, 0x44b00000)
the space 349568K, 0% used [0x1a050000, 0x1a050000, 0x1a050200, 0x2f5b0000)
compacting perm gen total 14592K, used 14414K [0x44b00000, 0x45940000, 0x48b00000)
the space 14592K, 98% used [0x44b00000, 0x45913960, 0x45913a00, 0x45940000)
No shared spaces configured.

Code Cache [0x02b00000, 0x02ce0000, 0x04b00000)
total_blobs=1245 nmethods=958 adapters=221 free_code_cache=31605440 largest_free_block=192
2824:2011/12/25(日) 22:30:07.90
Dynamic libraries:
0x00400000 - 0x00425000 C:\Program Files\Java\jre6\bin\javaw.exe
0x76f00000 - 0x77028000 C:\Windows\system32\ntdll.dll
0x769b0000 - 0x76a8c000 C:\Windows\system32\kernel32.dll
0x75c70000 - 0x75d36000 C:\Windows\system32\ADVAPI32.dll
0x77040000 - 0x77103000 C:\Windows\system32\RPCRT4.dll
0x75d40000 - 0x75ddd000 C:\Windows\system32\USER32.dll
0x77110000 - 0x7715b000 C:\Windows\system32\GDI32.dll
0x6daf0000 - 0x6db0e000 C:\Windows\system32\ShimEng.dll
0x753d0000 - 0x753fc000 C:\Windows\system32\apphelp.dll
0x6d420000 - 0x6d4a8000 C:\Windows\AppPatch\AcLayers.dll
0x75e60000 - 0x76971000 C:\Windows\system32\SHELL32.dll
0x75b40000 - 0x75bea000 C:\Windows\system32\msvcrt.dll
0x75de0000 - 0x75e39000 C:\Windows\system32\SHLWAPI.dll
0x75870000 - 0x759b5000 C:\Windows\system32\ole32.dll
0x75630000 - 0x756bd000 C:\Windows\system32\OLEAUT32.dll
0x75450000 - 0x7546e000 C:\Windows\system32\USERENV.dll
0x75430000 - 0x75444000 C:\Windows\system32\Secur32.dll
0x72550000 - 0x72592000 C:\Windows\system32\WINSPOOL.DRV
0x74fe0000 - 0x74ff4000 C:\Windows\system32\MPR.dll
2924:2011/12/25(日) 22:30:37.00

0x745c0000 - 0x745ff000 C:\Windows\system32\UxTheme.dll
0x73560000 - 0x73592000 C:\Windows\system32\WINMM.dll
0x74180000 - 0x741b9000 C:\Windows\system32\OLEACC.dll
0x75290000 - 0x75306000 C:\Windows\system32\NETAPI32.dll
0x75590000 - 0x75597000 C:\Windows\system32\PSAPI.DLL
0x73150000 - 0x73164000 C:\Windows\system32\MSACM32.dll
0x74b70000 - 0x74b78000 C:\Windows\system32\VERSION.dll
0x72610000 - 0x72615000 C:\Windows\system32\sfc.dll
0x738a0000 - 0x738ad000 C:\Windows\system32\sfc_os.dll
0x76d70000 - 0x76efa000 C:\Windows\system32\SETUPAPI.dll
0x71420000 - 0x7142c000 C:\Windows\system32\dwmapi.dll
0x759d0000 - 0x75b03000 C:\Windows\system32\urlmon.dll
0x76b80000 - 0x76d69000 C:\Windows\system32\iertutil.dll
0x73280000 - 0x73285000 C:\Windows\system32\SHUNIMPL.dll
0x75e40000 - 0x75e5e000 C:\Windows\system32\IMM32.DLL
0x757a0000 - 0x75868000 C:\Windows\system32\MSCTF.dll
0x755a0000 - 0x755a9000 C:\Windows\system32\LPK.DLL
0x75bf0000 - 0x75c6d000 C:\Windows\system32\USP10.dll
3024:2011/12/25(日) 22:30:58.78
0x743b0000 - 0x7454e000 C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.6002.18305_none_5cb72f2a088b0ed3\comctl32.dll
0x7c340000 - 0x7c396000 C:\Program Files\Java\jre6\bin\msvcr71.dll
0x6d7f0000 - 0x6da9f000 C:\Program Files\Java\jre6\bin\client\jvm.dll
0x6d7a0000 - 0x6d7ac000 C:\Program Files\Java\jre6\bin\verify.dll
0x6d320000 - 0x6d33f000 C:\Program Files\Java\jre6\bin\java.dll
0x6d7e0000 - 0x6d7ef000 C:\Program Files\Java\jre6\bin\zip.dll
0x6d000000 - 0x6d14c000 C:\Program Files\Java\jre6\bin\awt.dll
0x00bb0000 - 0x00bdc000 C:\Windows\DOWNLO~1\CnsMin.dll
0x00be0000 - 0x00bef000 C:\Program Files\Logicool\SetPoint\GameHook.dll
0x01c60000 - 0x01c71000 C:\Program Files\Logicool\SetPoint\lgscroll.dll
0x723f0000 - 0x7248b000 C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCR80.dll
0x72490000 - 0x72517000 C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.6195_none_d09154e044272b9a\MSVCP80.dll
0x748b0000 - 0x748d1000 C:\Windows\system32\NTMARTA.DLL
0x75750000 - 0x75799000 C:\Windows\system32\WLDAP32.dll
0x75b10000 - 0x75b3d000 C:\Windows\system32\WS2_32.dll
0x77030000 - 0x77036000 C:\Windows\system32\NSI.dll
0x75060000 - 0x75071000 C:\Windows\system32\SAMLIB.dll
3124:2011/12/25(日) 22:31:57.97

0x6d600000 - 0x6d613000 C:\Program Files\Java\jre6\bin\net.dll
0x746f0000 - 0x74704000 C:\Windows\system32\wpclsp.dll
0x74c10000 - 0x74c4b000 C:\Windows\system32\mswsock.dll
0x74c70000 - 0x74c75000 C:\Windows\System32\wship6.dll
0x6d620000 - 0x6d629000 C:\Program Files\Java\jre6\bin\nio.dll
0x747b0000 - 0x747b5000 C:\Windows\System32\wshtcpip.dll
0x747a0000 - 0x747af000 C:\Windows\system32\NLAapi.dll
0x74e40000 - 0x74e59000 C:\Windows\system32\IPHLPAPI.DLL
0x74e00000 - 0x74e35000 C:\Windows\system32\dhcpcsvc.DLL
0x75080000 - 0x750ac000 C:\Windows\system32\DNSAPI.dll
0x74df0000 - 0x74df7000 C:\Windows\system32\WINNSI.DLL
0x74dc0000 - 0x74de2000 C:\Windows\system32\dhcpcsvc6.DLL
0x706f0000 - 0x706ff000 C:\Windows\system32\napinsp.dll
0x706b0000 - 0x706c2000 C:\Windows\system32\pnrpnsp.dll
0x70650000 - 0x70671000 C:\Program Files\Bonjour\mdnsNSP.dll
0x706e0000 - 0x706e8000 C:\Windows\System32\winrnr.dll
0x729f0000 - 0x729f6000 C:\Windows\system32\rasadhlp.dll
0x74930000 - 0x7496b000 C:\Windows\system32\rsaenh.dll
0x756c0000 - 0x75744000 C:\Windows\system32\CLBCatQ.DLL
0x73af0000 - 0x73bbd000 C:\Windows\system32\ime\imejp10\imjptip.dll
0x73a30000 - 0x73aef000 C:\Windows\system32\imjp10k.dll
0x73e30000 - 0x73e8c000 C:\Windows\system32\ime\shared\imetip.dll
0x74560000 - 0x7456b000 C:\Windows\system32\ime\shared\imecfm.dll
0x739d0000 - 0x73a24000 C:\Windows\system32\ime\imejp10\imjpapi.dll
0x74120000 - 0x74143000 C:\Windows\system32\ime\shared\imjkapi.dll
0x6d780000 - 0x6d788000 C:\Program Files\Java\jre6\bin\sunmscapi.dll

3224:2011/12/25(日) 22:32:23.09
0x74ee0000 - 0x74fd2000 C:\Windows\system32\CRYPT32.dll
0x75040000 - 0x75052000 C:\Windows\system32\MSASN1.dll
0x524d0000 - 0x5253b000 C:\Users\kkatunori\AppData\Roaming\.minecraft\bin\natives\lwjgl.dll
0x63860000 - 0x6392b000 C:\Windows\system32\OPENGL32.dll
0x6e6f0000 - 0x6e713000 C:\Windows\system32\GLU32.dll
0x6d670000 - 0x6d755000 C:\Windows\system32\DDRAW.dll
0x710a0000 - 0x710a6000 C:\Windows\system32\DCIMAN32.dll
0x6d350000 - 0x6d356000 C:\Program Files\Java\jre6\bin\jawt.dll
0x6ed60000 - 0x6ed68000 C:\Windows\system32\atkogl32.dll
0x69030000 - 0x69b89000 C:\Windows\system32\atioglxx.dll
0x4b8b0000 - 0x4b8dd000 C:\Windows\system32\atiadlxx.dll
0x74660000 - 0x7468d000 C:\Windows\system32\WINTRUST.dll
0x76980000 - 0x769a9000 C:\Windows\system32\imagehlp.dll
33デフォルトの名無しさん:2011/12/25(日) 22:32:36.66
質問:
次のようなstatic classで
スタックオーバーフローになるんだけど理由分かります?

public class Boss {
__public static class Loader {
____LoaderImp imp = new LoaderImp();
____imp.load();
__}
}

class LoaderImp {
__void load() {
____// nothing
__}
}
3424:2011/12/25(日) 22:33:39.28
VM Arguments:
jvm_args: -Xms512m -Xmx1024m
java_command: C:\Users\kkatunori\Desktop\Minecraft.exe C:\Users\kkatunori\Desktop\マイクラ.bat
Launcher Type: SUN_STANDARD

Environment Variables:
CLASSPATH=.;C:\Program Files\Java\jre6\lib\ext\QTJava.zip
PATH=C:\Free\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Program Files\Common Files\Roxio Shared\DLLShared\;C:\Program Files\Common Files\Roxio Shared\DLLShared\;
C:\Program Files\Common Files\Roxio Shared\9.0\DLLShared\;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files\QuickTime\QTSystem\;
C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\C:\java\jdk1.6.0_30\bin:;c:\java\jdk1.6.0_30\bin;;C:\Program Files\Java\jre6\bin
USERNAME=kkatunori
OS=Windows_NT
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 11, GenuineIntel
3524:2011/12/25(日) 22:34:06.98
--------------- S Y S T E M ---------------

OS: Windows XP Build 2600 Service Pack 2

CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 15 stepping 11, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

Memory: 4k page, physical 2095696k(824876k free), swap 4444316k(2280068k free)

vm_info: Java HotSpot(TM) Client VM (20.5-b03) for windows-x86 JRE (1.6.0_30-b12), built on Nov 10 2011 01:51:00 by "java_re" with MS VC++ 7.1 (VS2003)

time: Sun Dec 25 22:06:20 2011
elapsed time: 15 seconds

3633:2011/12/25(日) 22:37:37.66
LoaderImpのクラス定義をLoaderの定義内で行うと
スタックオーバーフローは起きないのですが、意味不明です。
スタックトレースにはスタックオーバーフローとしかでてこないので
javaの内部クラス文法上のルールに知らないものがあるのかな。。。
37デフォルトの名無しさん:2011/12/25(日) 22:42:07.99
>>24
かつのり君ぺろぺろ
38デフォルトの名無しさん:2011/12/25(日) 22:50:52.74
内部クラス仕様を完全に理解すれば初心者卒業、内部クラス(およそ4パターン)を完全に手足の如く使いこなせれば初級者卒業だと思います。
3933:2011/12/25(日) 23:02:06.37
内部クラスのネストが深いとダメみたいなものがあるかもしれませんね。
パッケージ間でクラスの名前衝突に対して内部クラスで解決した結果なのです。

public class Web {
__public static class Loader {
____public interface Listener {
____}
__}
}
40デフォルトの名無しさん:2011/12/25(日) 23:13:35.69
おいおい。釣じゃないなら質問の仕方がへったくそだなあ。

>> 33
> のような
じゃなくて、エラーが再現する最短のコードをはれよ。
それ、見ただけで動かないことわかるだろ。
41デフォルトの名無しさん:2011/12/25(日) 23:15:47.57
>>39
スタックオーバフローと名前衝突が関係あるわけないだろw
もともとのバグじゃないエラーをつぶして解決した気になってるだけだな
4233:2011/12/25(日) 23:45:22.09
再現コードを別途に作るとできないんですよ。。。

たぶん内部クラスをimportしなくても親クラスをimportすれば
コンパイルエラーにはなりませんが、これが原因のような気がします。

import sample.Web;
class AAA{
__void hoge(){
____Web.Loader loader = new Web.Loader();
____loader.load();// メソッドは空
__}
}
4333:2011/12/26(月) 00:08:39.28
>>42の予測ははずれでした。
やはり打ち間違えかなにかで委譲の際に再帰してたのでしょうね。
お騒がせしました。
44デフォルトの名無しさん:2011/12/26(月) 03:46:15.92
jniでnullを返すにはどうすればよいか知っていたら教えて欲しい。
c++のNULL(VC)や0(int)を返してもJavaのnullとは異なっているようで、文字通りアドレス0を参照してしまうような感じで困っている。
jni.hをみているが、nullで検索しても見付からない。
45デフォルトの名無しさん:2011/12/26(月) 03:47:39.72
>>22じゃないけど、
>>23に感動した!
4644:2011/12/26(月) 03:56:17.63
>>44はわすれてください。
申し訳ない。勘違いでした。
47デフォルトの名無しさん:2011/12/26(月) 08:25:28.39
byte[] b;
int i;

while(true)
{
b = new byte[32];
b[0] = 1;
b[1] = 2;
i = b[0] + b[1];
}

ループ内で作られたbは、逐次開放されますか?それともこのループを含むオブジェクトが使われなくなるまで開放されませんか?
48デフォルトの名無しさん:2011/12/26(月) 10:23:08.73
b = new Byte[32]のたびに、以前にbに存在していた領域は、
参照カウントが0になるので、Java的には開放準備状態になる。
ただ実際の開放=GCのタイミングは実装依存。
一般的なJVMなら恐らくループを抜けた直後でもされない。
49デフォルトの名無しさん:2011/12/26(月) 11:11:24.28
>>47
一般的なVM実装ならnewしてメモリ足りない場合、
一旦GCしてそれでもメモリ足りない場合にOutOfMemoryErrorになる。

あと、普通は参照カウント方式は使ってない。
オブジェクトヘッダがでかくなるし
循環参照考慮したら他の方式もつかわにゃならんので。
5047:2011/12/26(月) 11:23:43.30
ありがとうございます
実は、socket受信でArrayListにディープコピーするためにnewしているのですが、GCの対象になるということは、このやり方じゃまずいですね
51デフォルトの名無しさん:2011/12/26(月) 11:50:54.55
どこかから強参照されてるならGCの対象にはならんぞ。
52デフォルトの名無しさん:2011/12/26(月) 12:09:28.00
なるよ
スタックかstaticフィールドから参照を辿れないオブジェクトはGC対象
53デフォルトの名無しさん:2011/12/26(月) 12:13:28.64
byte[]でどうやって循環参照作るんだよ
54デフォルトの名無しさん:2011/12/26(月) 12:14:30.68
>>50
されない。というかコード例が悪いよ。
あれじゃ同じローカル変数に代入してるみたいじゃないの。
55デフォルトの名無しさん:2011/12/26(月) 14:03:41.50
javaでファイルの入出力はObjectIOStreamがメジャーなの?
56デフォルトの名無しさん:2011/12/26(月) 15:05:03.31
FileChannel主流になるといいな。
FileInputStream FileOutputStream RandomAccessStream あたりはまだまだ強いが。
57デフォルトの名無しさん:2011/12/26(月) 15:05:21.84
RandomAccessFileだた
58デフォルトの名無しさん:2011/12/26(月) 15:11:56.67
>>57
それじゃcharをガバって持ってこれないけど、どうするの?
59デフォルトの名無しさん:2011/12/26(月) 15:32:45.86
RandomAccessFile#readChar()
RandomAccessFile#readUTF()
RandomAccessFile#reaLine()

好きなの使え。
60デフォルトの名無しさん:2011/12/26(月) 15:36:36.67
>>59
というか、java utf16のエンコードのことちゃんと理解してる?
ネタだから別にどうでもいいけど
61デフォルトの名無しさん:2011/12/26(月) 16:02:06.26
複数行のテキストの先頭行を削除したいんですが、手っ取り早い方法はどんなのがありますか?
62デフォルトの名無しさん:2011/12/26(月) 16:12:43.81
↑を書いた直後にreplaceで出来ることに気が付きました……
str = str.replaceFirst("^[^\n]+\n", "");

失礼しました
63デフォルトの名無しさん:2011/12/26(月) 16:29:55.59
いやまて、それ空行は削除されないぞ。
64デフォルトの名無しさん:2011/12/26(月) 16:34:06.53
あ、はい
空行でないことは分かってるのでいいんです
65デフォルトの名無しさん:2011/12/26(月) 19:53:41.44
>>23
なんだこのサイトすげぇ
66デフォルトの名無しさん:2011/12/26(月) 19:57:45.19
>>47
揚げ足だがこのコード、デバッグモードじゃなきゃ、
ループの中身消えるよな。
それ以前にコンパイルエラーか。
67デフォルトの名無しさん:2011/12/26(月) 21:00:09.98
コンパイルエラーになるか?
68デフォルトの名無しさん:2011/12/26(月) 21:05:26.82
ならない。消えない。
69デフォルトの名無しさん:2011/12/26(月) 21:50:40.91
他に影響がなけりゃ最適化で消し飛ばされるだろ
70デフォルトの名無しさん:2011/12/26(月) 21:58:25.73
他が未到達エラーでひっかかりそう
71デフォルトの名無しさん:2011/12/26(月) 22:06:44.87
そこら辺のソースに突っ込んでコンパイルしたら

$ drive/Package.java:320: この文に制御が移ることはありません。
だってさ。まぁ、次の行に式が存在しなきゃ発生しないけど。
72デフォルトの名無しさん:2011/12/27(火) 08:10:08.21
eclipseでJavaをやってるのですが、ひとつのパッケージにmain()メソッドがあるクラスが複数ある場合、どれから優先して実行されるのでしょうか?
マウスでクリックしているクラスのmain()が優先される、というのは分かりますが、それ以外に何か規則性はありますか?
また、ひとつのパッケージで並行してmain()メソッドを実行させるって可能なんでしょうか?
73デフォルトの名無しさん:2011/12/27(火) 08:15:29.89
>>72
実行ボタンやらデバッグボタンのとこにある
構成の編集で指定したメインクラス。

そういや、Javaスレだからeclipseはスレ違いか。
74デフォルトの名無しさん:2011/12/27(火) 10:54:34.09
ArrayListのシリアライズされた文字列が欲しいんですけど、
サンプルとか探すとファイルに出力するものばっかりなんですにゃー
コード短めでStringあたりにシリアライズデータを出すサンプルありませんか?
75デフォルトの名無しさん:2011/12/27(火) 11:52:15.97
public String toString(List<Object> list){
 StringBuilder b = new StringBuilder();
 for(Object o; list){
  b.append(o.toString()).append(", ");
 }
 return b.toString();
}
76デフォルトの名無しさん:2011/12/27(火) 12:12:05.97
言葉が足りなかったようで。

オブジェクトをシリアライズ、デシリアライズする事が出来る手段を探しています。
ただしファイル出力に使うわけではないので、Serializable以外のいい方法が見つからなくて困っています。
あまり手間がかからないいい手段はないでしょうか?
77デフォルトの名無しさん:2011/12/27(火) 12:42:49.36
ファイルに出力するのはSerializableが問題じゃなくてFileOutputStreamを使ってるからだろ?
ByteArrayOutputStreamでも使えば?
78デフォルトの名無しさん:2011/12/27(火) 13:07:16.29
Android(OS2.3以降)でjavaネイティブのみでOpenGLES2.0が使えるようになったので
挑戦してるのですが、一つjavaの壁に行き当たってます

C/C++でのOpenGLでは色を表現するのに1Byte(0~255)を16進で良く扱います
しかしjavaだとunsignedが無いので 1Byte == char で-128~127です…
16進操作で無くとも良いので、可読性がある8bit操作って無いでしょうか?

理想例(C/C++風)
Byte b = 0xff;

今だと、
char c = -1;//補数表現で0xffとなるが、それ以外のマイナス値が分かりにくい、と言うか0xfdとかしたいだけ
79デフォルトの名無しさん:2011/12/27(火) 13:10:33.34
キャストしたら?
80デフォルトの名無しさん:2011/12/27(火) 13:24:06.93
すみません、分かり辛い説明で…

キャストするにも、0xfdとかがマイナス(数)値で幾つになるか
関数電卓とかで変換しないと分からないので、
直感的(16進表現レベル)に扱いたいのです
81デフォルトの名無しさん:2011/12/27(火) 13:32:08.83
byte b = (byte)0xFF;
82デフォルトの名無しさん:2011/12/27(火) 13:43:37.24
>>77
なるほど、それで実行可能でしたか。
ありがとうございます。
83デフォルトの名無しさん:2011/12/27(火) 13:43:55.38
なるほど、理解しました
16進表現を、一度10進表現にしてキャストだと思い込んでいました(自分の中で)
そんなに単純に実装出来たのですね、ありがとうございました
84デフォルトの名無しさん:2011/12/27(火) 14:44:05.69
Matcher関連?について質問(文字列操作関連という表現のが正しいかも?)

matcherで

"hogehoge"という文字列に対して"h"というPatternで抹茶ーをしたとき

Matcher m (以下略);

m.find() true
m.start() 0

これは予定通り

m.find(); true
m.find(); true
m.start() 4
こうするとfindを2回実行したため、チェックしている場所が進む?


どういう仕組みなんですかね
85デフォルトの名無しさん:2011/12/27(火) 15:50:30.52
モデル開発?モデル構造?のニュアンスの開発手法で、xmlに似た名前のことを何と言いますでしょうか?
思い出そうと思ってググったりしましたがわからず、もやもやしています。

スレチガイでしたらお手数ですが、誘導お願いいたします。
86デフォルトの名無しさん:2011/12/27(火) 15:53:21.90
まさかUMLのことか?
87デフォルトの名無しさん:2011/12/27(火) 17:02:46.14
---------------------
int ia,ib,ic;
ia = 1;
ib = 1;
ic = 1;
if ( (ia == ib) == ic ) //エラー
---------------------

booleanとintの判定はできないのがJavaらしいが、
こういうとき、みなはどう解決してますか??
88デフォルトの名無しさん:2011/12/27(火) 17:07:20.39
>>87
普通に比較すればいいだろ。
89デフォルトの名無しさん:2011/12/27(火) 17:14:17.84
>>87
それJava以外でもありえない比較だから。
90デフォルトの名無しさん:2011/12/27(火) 17:14:21.51
サンプルかいてくれ
91デフォルトの名無しさん:2011/12/27(火) 17:18:09.67
理解した。

>> 88,89
ありがとう!
92デフォルトの名無しさん:2011/12/27(火) 17:18:32.46
if ((ia == ib ? 1 : 0) == ic)
93デフォルトの名無しさん:2011/12/27(火) 17:28:12.74
>>89
Pythonはうまくやってくれそうな気がする
94デフォルトの名無しさん:2011/12/27(火) 17:33:13.69
>>93
JavaScriptでもいけるけど、やっちゃいけない比較だろこれ。
95デフォルトの名無しさん:2011/12/27(火) 17:43:06.23
Cでは日常茶飯事だろ
9685:2011/12/27(火) 18:03:10.63
>>86
それです!!
すっきりしました。
ありがとうございました。
97デフォルトの名無しさん:2011/12/27(火) 18:03:47.20
比較演算子の結果をintと比較なんてそうそうお目にかかれないだろ…。
98デフォルトの名無しさん:2011/12/27(火) 18:23:19.74
boolean無いんだからざら
99デフォルトの名無しさん:2011/12/27(火) 18:38:53.95
>>73
ありがとうございました
100デフォルトの名無しさん:2011/12/27(火) 20:36:46.13
平松邦夫/民主党
大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派

VS

橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
 様子見:公明
101デフォルトの名無しさん:2011/12/27(火) 20:59:24.40
>>95
いや、1と0に対して整数と比較することなんてまずねぇよ。
102デフォルトの名無しさん:2011/12/27(火) 21:10:03.21
整数と比較しなかったら必ずfalseになるだけじゃねーか
103デフォルトの名無しさん:2011/12/27(火) 21:21:17.00
>>100
荒すな
104デフォルトの名無しさん:2011/12/27(火) 21:46:13.35
            ,.r.:::;;;;:ュ、
         fイ´__  __ヾ
        {:六;;;;:ハ:;;;:カ   
         (_  ' _^_ヽリ    なんだ AKBって整形した反日朝鮮人だったのかァ
          ,人 l⌒l、      ブームの捏造手法が寒流と同じだけはあるな
        / \,ゝヽr' \    
       /      |:|   ヽ
        l   l   /´堰@ l  !
        |___l  ノ ,イ   !__,}
105デフォルトの名無しさん:2011/12/28(水) 01:31:34.25
>>87
言語は設計理念を理解して選ぼうぜ
Javaにきてまで、そういうコード書きたがる奴はJava使わない方がいいぞ
106デフォルトの名無しさん:2011/12/28(水) 03:59:35.95
>>98
ざらじゃないから。どんなマイナーなソース読んでんだよ。
107デフォルトの名無しさん:2011/12/28(水) 04:23:38.62
7u2の正式版来たのにまだjava.comは開発者向けっていうスタンスのままなんだな
108デフォルトの名無しさん:2011/12/28(水) 17:53:35.72
java覚えても仕事ないぞー
109デフォルトの名無しさん:2011/12/28(水) 18:22:27.69
今はアンドロイドとかアイフォンの開発が出来る人の需要が高い。
いつまで続くかは解らないけど大きい需要
110デフォルトの名無しさん:2011/12/28(水) 21:39:14.10
>>108
アンドロイドアプリで稼ぎたいのでこれからJavaを学ぼうと思ってEclipseのインストールを4日かけて行いました
よろしければ理由を教えてください
111デフォルトの名無しさん:2011/12/28(水) 21:57:02.13
そんな時間があったらバイトしたほうが遥かに稼げる
112デフォルトの名無しさん:2011/12/28(水) 23:02:20.55
なんでJavaって文理不問なの
やっぱC言語/C++の方が賢いんですよね
113デフォルトの名無しさん:2011/12/28(水) 23:13:16.79
算数レベルの計算しかしないから
基本的に文字操作ばっか
114デフォルトの名無しさん:2011/12/28(水) 23:59:06.06
javaやってる人で文系って割りと見るけど、C++で文系は俺の周りに居ないな
115デフォルトの名無しさん:2011/12/29(木) 00:03:25.49
c++使ってて大卒じゃなければほとんどがdirectx関係だろ
116デフォルトの名無しさん:2011/12/29(木) 00:04:58.19
C++はなんやかんや言って80年代のツールだからな。
C#とか使った方が仕事は早く終わるだろうし…
117デフォルトの名無しさん:2011/12/29(木) 00:27:14.50
qt,c++が出てきたからdesktop javaはうかうかしてられないな
java7とかjavafxとかjava8とか時間をかかることばかりやっていたらdesktopどころかmobileでもhtml5でもjavaを必要とする仕事はなくなるだろう
118デフォルトの名無しさん:2011/12/29(木) 01:00:55.41
>>110
お前は無理
119デフォルトの名無しさん:2011/12/29(木) 04:13:55.11
C/C++あがりで最近Javaを始めたんだが

public static FilenameFilter getFileExtensionFilter(String extension)
{
    final String _extension = extension;
    return new FilenameFilter()
    {
        public boolean accept(File file, String name)
        {
            boolean ret = name.endsWith(_extension);
            return ret;
        }
    };
}

という処理を見かけたのだけど
これってどういう処理なんだ

return new FilenameFilter()の呼ばれどころがわからないし
その中で関数を定義しているし
意味が分からない
120デフォルトの名無しさん:2011/12/29(木) 04:39:37.11
おまじないだから気にするな
121デフォルトの名無しさん:2011/12/29(木) 07:09:01.09
文型ってほんとクズだな
しまいには人売り糞営業に転進していくし
学生の時点でソフトウェアに興味がないから文型にいったんだろ
根本的に素養が無いくせに来るなよくさいよ
122デフォルトの名無しさん:2011/12/29(木) 07:15:53.79
日本語でおか
123デフォルトの名無しさん:2011/12/29(木) 08:17:02.75
>>119
ラムダ計算がわからないのかそれとも匿名クラス見たことないのか判断しかねるがやってることは
ただの高階関数でjavaは関数が第一級じゃないからそのままじゃ渡せないんだよ。
java的にはローカルクラス宣言が必要ないときに匿名クラスにするだけでクロージャや高階関数のためにあるもんじゃないけど。

new FilenameFilter(){から次に出てくる};までが一つの式でこれが匿名クラスの定義とnewを同時にやるインスタンス生成式の1種。
retrun文はretrun 式って構文だから無名のFilenameFilterサブクラスのインスタンスを返してる。

javaはクラスがネストできるからクラスのメンバかどうかと名前があるかどうかでクラスが複数あるから言語仕様見たほうが早いと思う。
どうやって限定されるか知らないとアクセス出来ないし。
ttp://www.y-adagio.com/public/standards/tr_javalang2/jTOC.doc.html
124デフォルトの名無しさん:2011/12/29(木) 09:58:20.03
>>123
ありがとう
だいたい分かった
助かりました
125デフォルトの名無しさん:2011/12/29(木) 11:45:53.28
Javaで

class ぬるぽ {〜}

class ガッ {
protected ぬるぽ[] chinko;
protected ぬるぽ manko;

public ぬるぽ getChinko(int n) {return chinko[n]}
public ぬるぽ getManko() {return manko;}
}


というコードがありました。クラス名や変数名は適当です。

この場合、
修飾子 クラス名 変数名
修飾子 クラス名 ゲッターメソッド

というのは、何を示しているのでしょうか?
インスタンスの生成とはまた違う処理ですよね?

126デフォルトの名無しさん:2011/12/29(木) 11:56:31.35
>>125
お前の言ってる事がわからんわw
127デフォルトの名無しさん:2011/12/29(木) 12:15:03.19
ぬるぽ
128デフォルトの名無しさん:2011/12/29(木) 12:17:10.10
再帰のことか
129デフォルトの名無しさん:2011/12/29(木) 12:49:59.32
がっ がっ がっ がっ がっ
130デフォルトの名無しさん:2011/12/29(木) 13:05:00.25
セッター無しでゲッターしかないのが気になるのか?
他のパッケージのクラスからちんことまんこを入れられるのが嫌だからじゃないか?
131デフォルトの名無しさん:2011/12/29(木) 13:07:36.89
>>121
文系の人は頭悪い奴が多い
みてて恥ずかしくなるレベルがごろごろ
132デフォルトの名無しさん:2011/12/29(木) 13:11:50.58
ぬるりとぬるぽ
133デフォルトの名無しさん:2011/12/29(木) 14:03:38.41
理系だけじゃ世の中は成り立たないよ
理系さん(笑)
134デフォルトの名無しさん:2011/12/29(木) 14:33:50.77
結局javaでやるような仕事やってるのに頭いいも悪いもないわ。
悪いに決まってるw
135125:2011/12/29(木) 14:45:51.40
すいません、ちんこまんこじゃ説明不足でした。

http://情報処理試験.jp/FE14b-pm/t08.html

この問題で、

protected Wire[] input;
protected Wire output;

public Wire getInput(int n)
public Wire getOutput()


とありますが、

修飾子 クラス名 変数
修飾子 クラス名 ゲッターメソッド


となっている文法がよくわからないのです
手元のテキストやぐぐったサイトには乗ってませんでした



136デフォルトの名無しさん:2011/12/29(木) 14:54:44.85
テキスト一から読み直しましょう
137デフォルトの名無しさん:2011/12/29(木) 14:54:59.90
何がわからないのかわからない。
138デフォルトの名無しさん:2011/12/29(木) 14:56:15.30
何がわからないのかわからない
フィールドやメソッドの宣言をしているのはわかってるんだよな?
publicとかprotectedってついてるのがわからないってことか?
139デフォルトの名無しさん:2011/12/29(木) 15:00:50.07
各変数に対してそれぞれゲッターメソッドを用意しなければならない
ということが分からないのか?

inputという変数があったらgetInputという名前のメソッドを
作る決まりでもあるのかということを聞きたいのか?
140デフォルトの名無しさん:2011/12/29(木) 15:11:41.54
そんなこと聞いてません
141デフォルトの名無しさん:2011/12/29(木) 15:49:08.46
>>123
高階関数じゃあねーだろー
142デフォルトの名無しさん:2011/12/29(木) 16:02:53.36
143デフォルトの名無しさん:2011/12/29(木) 16:21:15.49
じゃあ氏ね二度と来るな
144デフォルトの名無しさん:2011/12/29(木) 16:24:09.66
まんこ
145デフォルトの名無しさん:2011/12/29(木) 16:39:13.75
>>135
大丈夫か?
「ゲッター」とか「修飾子」の意味が分かってるなら、
理解できていないはずない事柄だと思うんだけど。

> 修飾子 クラス名 変数
これは クラス名 を型とするメンバ変数を宣言している文。

> 修飾子 クラス名 ゲッターメソッド
これは クラス名 を返り値の型とするメソッドを定義している文。

これでも聞きたいことと違うというなら、
もう少し具体的にわからない所を考えてから質問したほうがいいよ。
146デフォルトの名無しさん:2011/12/29(木) 17:25:03.98
ただの荒らしぬる。相手するだけ無駄ぬるぽ。
147デフォルトの名無しさん:2011/12/29(木) 17:26:51.46
String str = "abcde"; があったとして、
str.indexOf("c") と str.indexOf('c') って速度差ってあります?
確実に一文字な分charに対しては特殊な処理をするのか、
内部でStringに変換してから文字列の場合と処理するのか?
誤差程度なのはわかってますが、わかる方がいれば教えて下さい。
148片山博文MZ ◆0lBZNi.Q7evd :2011/12/29(木) 17:37:33.24
str.indexOf('c')の方が速い。Java仮想マシンの仕様。
149デフォルトの名無しさん:2011/12/29(木) 17:40:00.39
str.indexOf("c")の方が速い
150片山博文MZ ◆0lBZNi.Q7evd :2011/12/29(木) 17:43:33.18
>>149 理由は?
151デフォルトの名無しさん:2011/12/29(木) 17:53:19.71
>>147
実装の仕方まで厳密に定義されてるわけじゃないので
内部でStringに変換する実装があってもOK。

普通は内部でStringに変換したりはしないけどな。
152片山博文MZ ◆0lBZNi.Q7evd :2011/12/29(木) 17:55:14.27
なるほど。正解は「実装による」でしたか。
153デフォルトの名無しさん:2011/12/29(木) 17:57:03.12
まんこ
154125:2011/12/29(木) 18:01:53.93
ゲッターメソッドや変数の宣言にクラスをつける必要ってあるんですか?
155デフォルトの名無しさん:2011/12/29(木) 18:05:03.61
変数の型と
メソッドの戻り値の型

それがここではクラスになってただけじゃん
156デフォルトの名無しさん:2011/12/29(木) 18:22:39.47
>>131
それは自称文系だろ
本当の文系となると弁護士みたいな人間だぞ
157デフォルトの名無しさん:2011/12/29(木) 18:24:09.37
>>135
おとなしくCOBOLかC選んどけよ
158デフォルトの名無しさん:2011/12/29(木) 18:29:39.92
>>148
仮想マシンの仕様というより、検索キーに対するループが有るか無いかだろ。
indexOf( 'c' )だと内部で、単純ループですむから。

for( int i = 0; this.buffer.length > i ; ++i )
{
    if( key == this.buffer[i] ) return i;
}
これだけでいい。
159125:2011/12/29(木) 21:12:08.19
>>136->>145
>>155

ありがとうございました。
教えられたキーワードをヒントにテキストを読みます


>>157
Androidの開発に進みたいので、Javaでもう少し頑張ってみます
160デフォルトの名無しさん:2011/12/29(木) 21:23:02.97
>>159
冗談抜きで、C辺りを勉強してこい。
最悪VBでもいいから。悩んでるレベルが初歩すぎる。
161デフォルトの名無しさん:2011/12/29(木) 21:25:16.14
目的があって学ぶのはいいんじゃないか?
初歩すぎるから、質問する前に本嫁とは思うが
162デフォルトの名無しさん:2011/12/29(木) 21:34:17.72
初歩かどうか以前の問題じゃね?w
「日本語はどうして最初に主語が来るの?」とかレベルだし。
決め事だから覚えろとしか。
163デフォルトの名無しさん:2011/12/29(木) 21:39:15.14
マジで言っているのか、突っ込み待ちなのか…判断に困る
164デフォルトの名無しさん:2011/12/29(木) 21:59:54.14

| ┏━━━┓   従軍慰安婦は反日朝日新聞の捏造でした。
| ┃借収安┃    デマだらけの報道に注意しよう
| ┃三三婦┃
| ┃○○大┃
| ┃○○募┃
| ┃○圓集┃
| ┃圓以  ┃
| ┃迄上  ┃_
\┃可   ┃ \
  ┗━━━┛  \
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ |
http://img04.ti-da.net/usr/wishcomestrue/t02200190_0220019010786142693.jpg
165デフォルトの名無しさん:2011/12/29(木) 22:25:08.98
>>160
実はVB.netまではやってました。
でもVBにはデータ型にクラス型ってのはないんです。
Cはそもそもクラスがないですし。

クラス型 変数 = new クラス()は何回も見たことありますが、
クラス型で変数や戻り値が定義されてるのは初めて見たので質問しました。

今はやさしいJavaっていう本を見ながら、勉強しています。
166デフォルトの名無しさん:2011/12/29(木) 22:46:55.07
.netはクラスの塊だろ…
167デフォルトの名無しさん:2011/12/29(木) 22:56:27.44
だから釣だって何度いったら
168デフォルトの名無しさん:2011/12/29(木) 23:17:29.60
>>166
クラス型というのはないですし、Javaよりもクラスの範囲を広げて中にプロシージャを書くことが多いので
クラスを引数や戻り値として与えることはないと思います
169デフォルトの名無しさん:2011/12/29(木) 23:21:10.90
VB.NETはクラスがあるどころかintとかまでオブジェクトで、
ある意味Java以上にオブジェクト指向してる
ほぼJavaのスーパーセットです
170デフォルトの名無しさん:2011/12/29(木) 23:50:02.89
外部JARにcommons-langの2.4と2.6を追加した場合、実際に使われるのはどちらのバージョンなのでしょうか?
171デフォルトの名無しさん:2011/12/30(金) 00:18:23.59
>>168
Cに構造体があるだろ。
あれと、実装上大きな違いはない。
概念上は大きく違うが。
マトモに、Cをやってりゃ表面上の使い方は
構造体と同じだとすぐ気づくはずだ。
172デフォルトの名無しさん:2011/12/30(金) 00:35:04.26
>>168
センスなさすぎワロタw
173デフォルトの名無しさん:2011/12/30(金) 01:48:52.40
さすがに釣りだわこりゃ。いつもの荒らしだな。
174デフォルトの名無しさん:2011/12/30(金) 01:58:25.45
ちんこ
175デフォルトの名無しさん:2011/12/30(金) 02:24:22.63
>>158
jdkのを見てみた。
indexOf(int)、indexof(String)は位置計算などの事前処理後、
どちらも1文字でも対象の文字種によっては2文字として比較を行い、終了する。

ループ内の検索コストはほとんど変わらない。
しかしながらStringは内部で引数が多いstaticのindexOf(char[], ...)を、
呼び出しているため、呼び出し時のオーバーヘッドが大きいと推測される。

結論としてはindexOfの呼び出し回数が多い場合にはindexOf(int)が良い。
でなければほとんど変わらないと思われる。
176デフォルトの名無しさん:2011/12/30(金) 06:49:13.12
>>164
荒すな
177デフォルトの名無しさん:2011/12/30(金) 12:00:27.35
javaアプリを2つ起動したときのメモリアドレスは、
OSから見るとプロセス2つ分ですか?このときJVMは2つ起動しているのですか?
それともJVMひとつ分ですか?

Windowsのタスクマネージャを見ると、java.exeが二つ起動しているのが見れますが、
そもそもタスクマネージャがよくわかりませんので質問しました。
よろしくお願いします。
178デフォルトの名無しさん:2011/12/30(金) 12:14:38.38
こちらこそよろしくお願いします。
179デフォルトの名無しさん:2011/12/30(金) 17:31:32.81
暮れ正月も、ココに誰かおんの?
180デフォルトの名無しさん:2011/12/30(金) 17:35:32.45
そらそうよ
181デフォルトの名無しさん:2011/12/30(金) 19:30:24.66

朝日新聞は一時期300人のネット工作員をかかえ、反日工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。

Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社

−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ 09.3

182デフォルトの名無しさん:2011/12/31(土) 13:11:09.29
DecimalFormatで指数部が正の時に
プラス記号を付けて出力したいのですが、
どんな方法がありますか?
例えば100.0→1.0E+02としたいのですが、
DecimalFormat("0.0E00")とすると
指数が負の時だけマイナスが出力されるので
文字数が揃わず、不自由しています。
後から文字列操作すればいいのですが、
できればDecimalFormatだけで完結したいです。
183デフォルトの名無しさん:2011/12/31(土) 13:22:12.39
ローカライズでおk
184デフォルトの名無しさん:2011/12/31(土) 13:24:53.77
いいたいことはあってるが、厳密にはローカライズではないな
185デフォルトの名無しさん:2011/12/31(土) 14:54:02.52
staticなメンバクラスってどういうときに使ってますか?
public class A {
 public static class B {
な感じに定義されたクラスつまりBのことです(enumでも良いかな?)。

Java SEだとMap.EntryとかThread.Stateとかですが、これから連想するのは、
クラスの利用者がインスタンスを生成はしないけど参照はする場合なのかなぁ?
という感じですが、皆さんはどんな感じですか?
186デフォルトの名無しさん:2011/12/31(土) 16:10:08.55
ゆったりした感じです
187デフォルトの名無しさん:2011/12/31(土) 17:23:06.65
のほほんとした感じだな
188デフォルトの名無しさん:2011/12/31(土) 17:23:53.72
189デフォルトの名無しさん:2011/12/31(土) 18:52:46.29
ボンバーマンみたいなゲームを作ってるんだけど、

111
111
111111
111111

こんなデータを読み込んで、

789
416
411889
122223

みたいにブロックを割り当てるアルゴリズムを具体的にどうするか考えてくれ
3行3列の1らへんをどうするか・・・
190デフォルトの名無しさん:2011/12/31(土) 19:03:28.22

     ____    ━┓
   /      \   ┏┛
  /  \   ,_\.  ・
/    (●)゛ (●) \
|  ∪   (__人__)    |
/     ∩ノ ⊃  /
(  \ / _ノ |  |
.\ “  /__|  |
  \ /___ /
191デフォルトの名無しさん:2011/12/31(土) 20:30:17.65

民主党党員名簿 (党員資格/代表選選挙人名簿) ※ 党外秘
1. 青木大姫
2. 秋山慶姫
3. 新井正煕
4. 金村成勲
5. 木下勲鍋
6. 佐井明博
7. 豊田檀君
8. 本山舜臣

1. 安藤重根
2. 池田青天
3. 金子佐鎮
4. 金山淑恵
5. 木子奉昌
6. 田山明雲
7. 平山明河   流石反日朝鮮人だらけの政党なだけはあるなw野田も韓国人疑惑があるくらいだし

192デフォルトの名無しさん:2011/12/31(土) 22:25:06.64
>>189
求めたいブロックの周囲8マス(3*3ブロック)の状況から決めたら?
手打ちなり何なりで256通りの結果をあらかじめ求めておいてそれに当てはめれば全部出てくるはず
193デフォルトの名無しさん:2011/12/31(土) 23:11:23.86

民主党党員名簿 (党員資格/代表選選挙人名簿) ※ 党外秘
1. 青木大姫
2. 秋山慶姫
3. 新井正煕
4. 金村成勲
5. 木下勲鍋
6. 佐井明博
7. 豊田檀君
8. 本山舜臣

1. 安藤重根
2. 池田青天
3. 金子佐鎮
4. 金山淑恵
5. 木子奉昌
6. 田山明雲
7. 平山明河   流石反日朝鮮人だらけの政党なだけはあるなw野田も韓国人疑惑があるくらいだし
194デフォルトの名無しさん:2012/01/01(日) 12:13:02.16
>>185
一つのBオブジェクトで複数のA型オブジェクトを弄る場合。
195デフォルトの名無しさん:2012/01/01(日) 13:28:43.40
>>194
えっ?
196デフォルトの名無しさん:2012/01/01(日) 14:27:20.22
Bのオブジェクトは、Aのprivate領域にアクセスできるからな。
Aのオブジェクトに対する、不特定なアクセスは防ぎつつ、
Bのオブジェクトで、Aのオブジェクト同士を
直接仲介したい時はぼちぼちある。
197デフォルトの名無しさん:2012/01/01(日) 14:39:23.53
>>194>>196
BからAのprivateなフィールドにはアクセスできないと思うんだけど。
Eclipseでエラーでるし。
198 【小吉】 【1436円】 :2012/01/01(日) 14:45:32.95
>>197
ほう。エラーメッセージ読み上げてみなされ
199デフォルトの名無しさん:2012/01/01(日) 14:54:39.92
>>198
んー

package com.example;

public class A {

private int a;

public static class B {
public static void test() {
a = 1;
}
}

}

Description Resource Path Location Type
Cannot make a static reference to the non-static field a A.java /com.example/src/com/example line 9 Java Problem
200デフォルトの名無しさん:2012/01/01(日) 14:55:30.92
>>199
アホの子w
201デフォルトの名無しさん:2012/01/01(日) 14:55:59.05
>>198
$ javac A.java
A.java:7: non-static variable a cannot be referenced from a static context
a = 1;
^
1 error
202デフォルトの名無しさん:2012/01/01(日) 14:57:31.26
>>200
どういうこと?
203デフォルトの名無しさん:2012/01/01(日) 14:59:09.66
public class A {

private static int a;

public static class B {
public void test() {
a = 1;
}
}

}

ああこういうことかw
204デフォルトの名無しさん:2012/01/01(日) 15:00:31.85
enumが無い時代のシングルトン以外で非finalでstaticなフィールドなんて使わんからその発想がなかったわ。
205デフォルトの名無しさん:2012/01/01(日) 15:09:28.69
キリッ
206デフォルトの名無しさん:2012/01/01(日) 15:22:48.22
最近はプログラム板もノイズが多くなったもんだなぁ
207デフォルトの名無しさん:2012/01/01(日) 15:35:17.16
    Shape3D triangleLine = new Shape3D();
    Point3d[] triangleLineCoordinates = {
               new Point3d( 0.0, -0.6928, 0.0 ),
               new Point3d( -0.6, 0.3464, 0.0 ),
               new Point3d( 0.6, 0.3464, 0.0 ),
               };
    int[] vertexIndices = new int[triangleLineCoordinates.length + 1];
    for(int i = 0; i < triangleLineCoordinates.length; i++){vertexIndices[i] = i;}
    vertexIndices[triangleLineCoordinates.length] = 0;
    int[] vertexCounts = {(vertexIndices.length)};    // ※1
    IndexedLineStripArray triangleLineGeom = new IndexedLineStripArray(
      triangleLineCoordinates.length,
      IndexedLineStripArray.COORDINATES,
      vertexIndices.length,
      vertexCounts                   // ※1
    );
    triangleLineGeom.setCoordinates( 0, triangleLineCoordinates );
    triangleLineGeom.setCoordinateIndices(0, vertexIndices);
    triangleLine.setGeometry( triangleLineGeom );
    transformGroup.addChild( triangleLine );

※1の部分で、配列変数を作らず、直接パラメータに指定することは出来ますか?
出来るようであれば、教えてください。
208デフォルトの名無しさん:2012/01/01(日) 15:53:44.31
>>185
可視性の観点から、ビルダやメメントなどを作るときに。
また、補助的なクラスやインタフェースは、名前の衝突を避けるのに
わざわざプレフィックスをつけるより、ネストさせるのが使い勝手がよいかもしれない。
209デフォルトの名無しさん:2012/01/01(日) 16:25:37.21
>>203
違うけど。

class B
{
  void Method(A a)
  {
   a.value = 0;//private変数
  }
}
210デフォルトの名無しさん:2012/01/01(日) 16:29:47.76
ポニョ、引数のオブジェクトをいじるの、いやー
211デフォルトの名無しさん:2012/01/01(日) 16:51:15.44
GUIとかコンテナとか引数いじくりまくりだけどな
212デフォルトの名無しさん:2012/01/01(日) 16:55:04.26
eclipseで、普通に実行したときと、デバッグで実行したときと、GUIの表示が違うんだけど、なんで?
213デフォルトの名無しさん:2012/01/01(日) 16:56:53.19
>>212
Perspectiveが違う。
214デフォルトの名無しさん:2012/01/01(日) 16:59:31.54
>>207
IndexedLineStripArrayのコンストラクタを変えろ。
215デフォルトの名無しさん:2012/01/01(日) 18:02:25.66
207です。
>>214
全コンストラクタで、必要としますけど。
216デフォルトの名無しさん:2012/01/01(日) 20:38:08.29
>>207
出来ない。
217デフォルトの名無しさん:2012/01/01(日) 22:13:36.45

           ______
          r〃〃〃 f7⌒ろ)
           l‖‖‖ ||   f灯
            |‖‖‖ ||   | |
            |儿儿儿._」⊥厶
           〔__o____o_≦ト、
.          i / ⌒  ⌒  ヽ )
          !゙ (・ )` ´( ・)   i/
          |  (_人__)    | \
          \  `ー'    /  / ー- 、
.          ,ィ(⊆≧リ≦⊇)〃   /     rク\
.       /   | ̄r少}¨ ̄〃   /    /′ ヽ
      〃 l   |  l| | l| 〃    /     /    └ヽ
     /    l  |l | |l/″   /      !  厂    \
    く,  Y   ! l」fレト!    /       | /        1
    丿  |   | 丿} じ’  /      | /         |
   /     l   | `¨      /      レ′        |

             真の思考停
    (在位 2009年9月16日〜2010年6月8日)

   民主朝の初代考停、言行不一致、虚言、脱税、
   そして外交において巨大な負の遺産を築いた。
218デフォルトの名無しさん:2012/01/01(日) 22:39:35.40
java3dで、
   TreeMap<Long, Point3d> map_coordinates = new TreeMap<Long, Point3d>();
   map_coordinates.put(100L, new Point3d( 0.0, 0.6928, 0.0 ));
   map_coordinates.put(500L, new Point3d( 0.6, -0.3464, 0.0 )); // ※1
   map_coordinates.put(177L, new Point3d( -0.6, -0.3464, 0.0 )); // ※2
   Point3d[] coordinates = new Point3d[map_coordinates.size()];
   {
    Iterator<Long> iterator = map_coordinates.keySet().iterator();
    for(int i = 0; iterator.hasNext(); i++)
    {
     coordinates[i] = map_coordinates.get(iterator.next());
    }
   }
として、後で表示するジオメトリがあって、
   map_coordinates.put(500L, new Point3d( -0.6, -0.3464, 0.0 )); // ※1
   map_coordinates.put(177L, new Point3d( 0.6, -0.3464, 0.0 )); // ※2
のように、Point3dを逆にすると表示されなくなってしまうのですけど、どうしてなのでしょう?
java3dがどうのというより、もっと、配列かTreeMapの問題のような気がするようなしないような。
よろしくお願いします。
219207:2012/01/01(日) 22:41:20.64
>>216
ありがとうございます。
220218=207:2012/01/01(日) 23:12:27.96
218です。
いろいろとっかえひっかえソースを修正しながらjava3dの動作確認しているのですが、
さっきと寸分たがわぬコードで、異なる挙動をしたりしている気がします。
クラスファイルを逆コンパイルして変な最適化をされていないか確認したいのですが、
どうすればいいのかわかりません。
eclipse 逆コンパイル で検索してみましたが、プラグインの入れ方しか書いていなくて、肝心の逆コンパイルの手順がみつかりません。
引き続き探しますが、方法を書いてあるリンクを貼ってもらえませんか。
221デフォルトの名無しさん:2012/01/01(日) 23:25:36.26
そのbin/xx/xx/xx/xx.classファイルをダブルクリックすればええだけだと思うが。
.classに関連付けがされてないとかか?
ああ元ソース参照してしまうということなら強制デコンパイルの設定するかbin以下を別プロジェクトにコピーしちまえばいい。

インストール自体がうまく逝ってないという事なら、pleades all in one にjadが同梱されてるからそれ使えq。
222218=207:2012/01/01(日) 23:30:12.20
全部入りのpleiadesつかってます。
設定は確認してみましたが、いろいろなサイトで示しているものが初期設定されていました。
ウィンドウ>ビューの表示>ナビゲータ
で、クラスファイルが表示されるので、それをダブルクリックしてみると、
/*jadclipse*/
//Error!
と表示されてしまい、困っています。
元ソース参照にはなっていないのですが、それ以下に書いていることを試してみます。
223デフォルトの名無しさん:2012/01/01(日) 23:39:47.12
Javaのバージョンは?7じゃあるまいな。
224218=207:2012/01/01(日) 23:49:58.56
7つかってました。
指摘を受けて、5とか6とかにしてみましたが、変わりませんでした。
あちこちにバージョンの指定箇所のようなものがあって、何がなにやら悲しくなってきました。
225218=207:2012/01/01(日) 23:51:59.24
コマンドラインから、jad.exeしたら、出来ました。
eclipse上から出来ないのはどうしてなのでしょうか?
7でもいけたっぽいです。たぶん。
説明してくれているページをご存知であればリンクをください。
226デフォルトの名無しさん:2012/01/01(日) 23:54:17.15
くれくれうるさい
227デフォルトの名無しさん:2012/01/01(日) 23:59:17.18
228デフォルトの名無しさん:2012/01/02(月) 00:15:04.33
ゆとりだから自分で出来るわけない
229デフォルトの名無しさん:2012/01/02(月) 00:45:21.00
JD-Eclipseつかえ。
新しいJavaのバージョンでもいける。
.javaと.classは同じディレクトリじゃないとダメかもしれん。よくわからん。

>>226-228
爆発しろ。無用にスレ流すな。
230デフォルトの名無しさん:2012/01/02(月) 00:51:31.27
>>229
おまえが爆発しろ。有害でしかない
231デフォルトの名無しさん:2012/01/02(月) 01:49:41.04
>>217
荒すな
232デフォルトの名無しさん:2012/01/02(月) 11:02:06.82
eclipseでデバッグ実行すると、ブレークポイントを設定したわけでもないのに、
Class.classがエディタで開かれて、#checkPackageAccessで一時停止するのですけど、何故でしょう?
気がついたらこうなってた。
233デフォルトの名無しさん:2012/01/02(月) 15:47:40.95
String型の文字列を使用して、
int型の変数名を指定することはできますか?
例えば、

String s = "example";
int example = 0;

void func(int example){
...
}

のようなコードがあったとして

func()の引数に int型のexample を渡したい場合、
exampleという文字列が格納されたString型の変数sを使用して変数名を指定することはできますか?

234デフォルトの名無しさん:2012/01/02(月) 15:51:20.00
意味が分からない
235デフォルトの名無しさん:2012/01/02(月) 15:53:07.41
exampleがメンバ変数であれば、
リフレクションを使えばできますよ。
236デフォルトの名無しさん:2012/01/02(月) 16:43:13.03
>>233
Map。これでわからないならあきらめろ。
237235:2012/01/02(月) 16:44:27.02
やっぱり俺ってコミュ力不足かなと心配になる。
238デフォルトの名無しさん:2012/01/02(月) 17:21:36.68
ここでそんなこと言われても誰も興味ないから(´・ω・`)
239デフォルトの名無しさん:2012/01/02(月) 19:29:16.06
>>235>>237
そもそも何のためにそんなことしたいの?
それ出来ると何が嬉しいの?
240デフォルトの名無しさん:2012/01/02(月) 20:14:23.79
>>237
発達障害を取り扱ってる病院で相談してこい
あと職業プログラマーにはなるな。
ドキュメントもマトモに書けないし、
チェックミスが多発するハズだ。
241デフォルトの名無しさん:2012/01/02(月) 20:39:21.14
>>239>>233宛だった
242デフォルトの名無しさん:2012/01/02(月) 20:48:03.83
>>240は言い過ぎ
積極的に不和の種まきまくるようじゃそれこそ職業人に向いてるとは思えんよ。どうせ医者ですらないんだからお医者さんごっこなんかやめとけ

>>233
技術系のコミュニケーションはスキルに裏打ちされたものだから、その領域の理解が足りないと必然的に頓珍漢なことしか言えない
一言でいえば233はまだJavaがまるでわかってないってだけだからコミュ云々だと悩むより
言語知識身につけて自分の要件を的確に表現すればいいだけだ
243デフォルトの名無しさん:2012/01/02(月) 20:55:12.27
この話題はここで終了だカスども
お前ら全員マ板でやってこい
244デフォルトの名無しさん:2012/01/02(月) 21:50:20.26
sql server をjspでつなぐつもりです。

windows vistaではつながりますが、windows7 64bit でつながりません。
odbc接続です。つながればなんでもいいです。
接続方法お願いします。

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

Connection connection = null;

connection =DriverManager.getConnection("jdbc:odbc:SQL2031","sa","1234");

Statement statement = connection.createStatement();

SQL = "SELECT * FROM Customers ";

ResultSet rs = statement.executeQuery(SQL);
245デフォルトの名無しさん:2012/01/02(月) 21:52:07.67
>>244 エラーメッセージは

[Microsoft][ODBC Driver Manager] 文字列またはバッファーの長さが無効です。
246デフォルトの名無しさん:2012/01/02(月) 21:53:09.65
>>244
> つながりません
でエスパーさせることに問題を感じようぜ
247デフォルトの名無しさん:2012/01/02(月) 21:53:31.00
時間差かよw
248デフォルトの名無しさん:2012/01/02(月) 21:55:05.11
>>245
JDBC-ODBCをやめてType4ドライバ使うのが手っ取り早い
249デフォルトの名無しさん:2012/01/02(月) 21:57:56.92
>>248

タイプ 4 の JDBC ドライバー つかってますけど?
250デフォルトの名無しさん:2012/01/02(月) 21:59:08.89

これ
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=99B21B65-E98F-4A61-B811-19912601FDC9

Java Platform Enterprise Edition 5 で使用可能な標準 JDBC アプリケーション プログラム インターフェイス (API)
を介してデータベースに接続する、タイプ 4 の JDBC ドライバーです
251デフォルトの名無しさん:2012/01/02(月) 22:03:44.17
ドライバが古いorさーどぱーてぃの使ってんじゃね?
MS謹製の使えば解決すんじゃねーかな
252デフォルトの名無しさん:2012/01/02(月) 22:05:27.10
xpでは odbcつかわず直接つなげましたけど
vistaではうまくいかずodbc接続のみ可能でした。


Connection connection10=null;

try{
//JDBCドライバロード
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
connection =DriverManager.getConnection( "jdbc:sqlserver://localhost\\SQL2031:1433;databaseName=master200","sa","1234");
253デフォルトの名無しさん:2012/01/02(月) 22:06:17.91
>>251

>>250 のms純正です。
254デフォルトの名無しさん:2012/01/02(月) 22:09:40.29
255デフォルトの名無しさん:2012/01/02(月) 22:14:39.78
>>254
だが断る!>>248>>249で返すあたり勉強不足かもね
最大限にエスパーしとくと、ODBCの設定をどこからやったん?で、たぶんそれが原因
そういう周辺情報たりなすぎてエスパー要求しすぎ。
256デフォルトの名無しさん:2012/01/02(月) 22:16:58.19
わざわざODBC使わずともwin7x64で普通に繋がるし、特に大きな問題ではないような・・・

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=TestDb;user=user1;password=****");
Statement statement = con.createStatement();
String SQL = "SELECT @@Version";
ResultSet rs = statement.executeQuery(SQL);
rs.next();
String version = rs.getNString(1);
System.out.println(version);
257デフォルトの名無しさん:2012/01/02(月) 22:20:50.43

 東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
 中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
 もろに北朝鮮と繋がっているテレビ局が1つ  
年寄はまだまだテレビという外国人に騙され続ける
258デフォルトの名無しさん:2012/01/03(火) 00:41:13.23
>>255
と思うならもう書き込むなよ
259デフォルトの名無しさん:2012/01/03(火) 00:46:50.78
260デフォルトの名無しさん:2012/01/03(火) 01:21:11.11
すみません、教えてください。

class DoubleArrayFor {

public static void main(String[] args) {
double[] a=new double[5];

for(int i=0;i<a.length;i++)
a[i]=(i+1)*1.1;
for(int i=0;i<a.length;i++)
System.out.println("a["+i+"]="+a[i]);
}
}

上記で結果が下記になります。

a[0]=1.1
a[1]=2.2
a[2]=3.3000000000000003
a[3]=4.4
a[4]=5.5

このa[2]だけなぜこのようになるのでしょうか?
本には浮動小数点数には誤差が含まれるためこうなるとありますが、
それだったら他のところも同様になるのではありませんか?
261デフォルトの名無しさん:2012/01/03(火) 01:25:27.72
>>260
1.1を2進数表記して計算して
有効桁数のことを思い出せばわかる
262デフォルトの名無しさん:2012/01/03(火) 01:46:05.70
>>261
早速のご解答ありがとうございます。
すみません、自分がよくわかってないのですが、
どういう意味ですか?
263デフォルトの名無しさん:2012/01/03(火) 02:19:55.13
本で調べるなり、2進数 少数 でググるなりして勉強しる
0.1 が 2進数だと 0.0001100110011... になる
あとは基数2の時の仮数と指数としてdoubleの表現が決まるだろ
で有効桁数から末端ふきんの数字がおちる。手計算一度やっとけばああそんなもんかってわかる
264デフォルトの名無しさん:2012/01/03(火) 02:20:20.96
小数な
265デフォルトの名無しさん:2012/01/03(火) 02:37:38.57
すみません、よくわからないのですが、
3.3はどうして上記のようになるのでしょう?
266デフォルトの名無しさん:2012/01/03(火) 02:40:30.11
だから手計算しろよ。結果がそーなら手計算すればそーなる必然性が明らかになるはず
267デフォルトの名無しさん:2012/01/03(火) 02:51:02.63
1.1だと2進数に変換して、
0.00011001・・・
ここまで手計算しました。
268デフォルトの名無しさん:2012/01/03(火) 02:54:15.60
もっとだ
269デフォルトの名無しさん:2012/01/03(火) 02:58:32.03
270デフォルトの名無しさん:2012/01/03(火) 06:22:55.70
>>260
2進から10進に直すときに丸まってるだけ
本当に内部でa[0]=1.1と10進2桁の数になってるわけではない
271デフォルトの名無しさん:2012/01/03(火) 06:28:48.06
質問最後まで読まずに答える奴ってバカなの?
272デフォルトの名無しさん:2012/01/03(火) 08:55:51.01
次のうちどれでしょう


1 String 馬鹿;
2 String 凄い忙しい人;
3 String セックスしようと頭がいっぱいl[] =new String[666];

273デフォルトの名無しさん:2012/01/03(火) 10:31:01.81
早い話が、println(String)と違ってprintln(double)はいいかげんということだ。
客が喜ぶからこういう仕様になってる。
どういいかげんなのかはDouble#toString(double)を参照。

おまいらにほんとの1.1を見せてやる

BigDecimal dec = new BigDecimal(1.1);
System.out.println(dec.toString());

結果:
1.100000000000000088817841970012523233890533447265625
274デフォルトの名無しさん:2012/01/03(火) 10:57:18.83
うあぁぁぁ

すごいーーー
275デフォルトの名無しさん:2012/01/03(火) 11:01:21.29
Java ってすっごいいい加減。

だから嫌いなんだよ。Java。

これからもVb,Netだぁ。
276260:2012/01/03(火) 12:41:42.70
>>270
ご解答ありがとうございます。
やっと納得しました。
これだと3.3にならないとおかしいと思ったので。
277デフォルトの名無しさん:2012/01/03(火) 13:34:26.26
関係したスレが見当たらなかったので質問させてくれ
SJC-PはsunからOracleになってOCJ-Pって名前に変わったという事で合ってますか?
278デフォルトの名無しさん:2012/01/03(火) 13:53:48.54
>>270>>273みて納得するやつが
本当に理解できてるとは思えないんだが
2791:2012/01/03(火) 14:17:32.54
1.1/2=0.55
0.55-0.5=0.05
0.05-0.25
0.05-0.125
0.05-0.0625
0.05-0.03125=0.01875
0.01875-0.015625=0.003125
0.003125-0.0078125=
0.003125-0.00390625=
0.003125-0.001953125=0.001171875
0.001171875-0.0009765625=0.0001953125
0.0001953125-0.00048828125=
0.0001953125-0.000244140625=
0.0001953125-0.0001220703125=0.0000732421875
0.0000732421875-0.00006103515625=0.00001220703125
0.00001220703125-0.000030517578125=
0.00001220703125-0.0000152587890625=
0.00001220703125-0.00000762939453125=0.00000457763671875
0.00000457763671875-0.000003814697265625=0.000000762939453125

1.1(DECIMAL)=2(2の1乗)*0.100011001100110011
先頭の0.1を省略すると、2(2の1乗)*0.000011001100110011
>>267
280デフォルトの名無しさん:2012/01/03(火) 15:09:31.21
jvisualvmのサンプラで大きな時間を食ってるように見えるメソッドが
同プロファイラではほとんど処理時間を食ってない、という事があるんだけど何で?
2811:2012/01/03(火) 19:27:34.15
  3.3(DECIMAL)= 400A6666 66666666
3*1.1(DECIMAL)= 400A6666 66666667
>>260
282デフォルトの名無しさん:2012/01/03(火) 23:41:36.82
swingってjavaxなのに標準でついてくるのって何で?
という歴史を知っている人いる?
283デフォルトの名無しさん:2012/01/03(火) 23:43:42.10
なんとなくだ!!!
284デフォルトの名無しさん:2012/01/03(火) 23:54:04.89
>>282
swingを標準パッケージに加えるとき、Sunはjava.swingにしようとしたけど、
すでにjavax.swingを使ってた開発者に反対されて仕方なく
285デフォルトの名無しさん:2012/01/04(水) 00:33:34.69
どなたかヘルプお願いします。
スプラッシュ表示するアプリ作ってます。まず、jar作ってダブルクリックでスプラッシュ表示しながら起動するところまで出来ました。
スプラッシュの表示は、マニフェストに「SplashScreen-Image」を指定することで行っています。
そのjarをjsmoothで、exeにしたんですがスプラッシュ表示しなくて困ってます。
jsmoothでexeにした場合でもスプラッシュ表示する方法を教えていただきたく。

宜しくお願いします。

OS Windows7
jsmooth 0.9.9-7
java JavaSE-1.6
286デフォルトの名無しさん:2012/01/04(水) 00:59:32.79
わざわざexeにしてトラブル抱え込むとは…解せん
287デフォルトの名無しさん:2012/01/04(水) 01:20:00.26
>>286
285です。そこをなんとか。
288デフォルトの名無しさん:2012/01/04(水) 01:25:08.02
メジャーバージョンが0の時点で諦めろとしか胃炎わな
Launch4jとか他の使えばいいんじゃねーの
つーかJavaをexeにする発想こそ変更した方がいいと思うのだが
289デフォルトの名無しさん:2012/01/04(水) 02:09:16.46
>>288
285です。
jarのままだと、簡単に解凍されるのがいやだったので。
Launch4jというツールもあるんですね。初めて知りました。
exewrapも使ってみたんですが、コマンドラインのツールなのでなんとなく受付なくて。
Launch4jを試してみます。
ありがとうございました。
290デフォルトの名無しさん:2012/01/04(水) 06:01:16.25
Choiceクラスでプルダウンを作成したのですが
このプルダウンの中の文字に対して、setFontが効きません
MS Pゴシックなどを設定する方法はありますか?
291デフォルトの名無しさん:2012/01/04(水) 06:41:23.94
>>135
チラッと見たけど、Javaと比べるとC言語の問題が凄く簡単じゃね?
Javaオンリーの奴でも1ヶ月C勉強して、試験ではCの問題を解いたほうが有利に見える
292デフォルトの名無しさん:2012/01/04(水) 09:22:09.96
class ABC{

}

class BCD extends ABC{

}


class Hoge|
public static main(String arg[]){

}


293デフォルトの名無しさん:2012/01/04(水) 10:36:10.90
292は無視してください
294デフォルトの名無しさん:2012/01/04(水) 12:17:50.43
そうは問屋が卸さない
295デフォルトの名無しさん:2012/01/04(水) 13:24:35.14
じゃあ質問します。

class A{
void Method(){
System.out.println("A");
}
}

class B extends A{
@override
void Method(){
System.out.println("B");
}
}

class Hoge{
public static void main(String args[]){
A a = new A();
B b = new B();
A c = new B();

a.Method();
b.Method();
c.Method();
}
}

継承&オーバーライドで a と b は普通なんですが
cみたいなオブジェクトの作り方ってするもんなんですか?

エラーはでないけど、紛らわしいというかなんというか・・・
 
296デフォルトの名無しさん:2012/01/04(水) 13:28:21.94
List list = new ArrayList();
オブジェクト指向がわかってないからそう感じるんだ
あとメソッド名大文字で開始するのやめれ気持ち悪い
297デフォルトの名無しさん:2012/01/04(水) 13:32:50.68
>>296
つまりスーパークラスで作るのがベターであって

B b = new B();
より
A c = new B();

のが良いって事?
298デフォルトの名無しさん:2012/01/04(水) 13:34:48.21
>>297
場合による
299デフォルトの名無しさん:2012/01/04(水) 13:37:55.27
メソッド名大文字はjavaでは見たことないけど、逆にc# (win)ではメソッド名小文字は結構いるのだろうか?
300デフォルトの名無しさん:2012/01/04(水) 13:39:44.53
>>297
ローカル変数ならサブの型でいい。
引数とフィールドの型は出来るだけ
上位のスーパークラスにする。
301デフォルトの名無しさん:2012/01/04(水) 13:41:23.14
>>299
居ても初心者ぐらいだろ。
オーバーライド出来んがな。
302デフォルトの名無しさん:2012/01/04(水) 13:42:25.68
脊髄反射的に質問するんじゃなく
自分が理解できてない用語・概念を指摘してもらった時は
それを調べるくらいしてきなさいな

>>297 はNO
スーパークラスで作るのがベターだから全部Object型にするのか?というとそんなわきゃーないだろ。
ArrayListひとつとっても
Listとして扱うか、Collectionとして扱うのか、Iterableとして扱うか
それをコードで表明するの。どう扱う必要がるかってことを明確に
303デフォルトの名無しさん:2012/01/04(水) 13:43:18.72
.NETで規約が決まってるのは公開メンバだけだから
プライベートメソッド小文字はよくあるぞ
イベントハンドラ用のメソッドとか特に何も考えなければデフォルトで小文字になるし
304デフォルトの名無しさん:2012/01/04(水) 13:45:31.88
>>301
スレチだけど問題なくオーバライドできる。違和感あるだけで
305デフォルトの名無しさん:2012/01/04(水) 13:47:06.72
301は元々Upper CamelのメソッドをLower Camelではオーバライドできない
といってるのかもね。スレチだけど
306デフォルトの名無しさん:2012/01/04(水) 13:55:56.61
winの関数・メソッド大文字の習慣は慣れだとは思うけど、java,js系のoopからはどうしてもコンストラクタ呼び出しに見えるし、winのコードはなんだかいつも馬鹿っぽく見える。
307デフォルトの名無しさん:2012/01/04(水) 13:57:12.98
ただの慣れの問題
308デフォルトの名無しさん:2012/01/04(水) 14:00:12.03
慣れ抜きに考えたらlowerCamelCaseが一番奇形だろ
まだアンダースコア区切りの方が自然
309デフォルトの名無しさん:2012/01/04(水) 14:00:58.69
>>308
理由は?
310デフォルトの名無しさん:2012/01/04(水) 14:01:32.61
>>302
でも296の指摘ってや概念からするとその程度じゃねww
311デフォルトの名無しさん:2012/01/04(水) 14:01:34.01
class Dotnet {
static void Main() {
System.Console.WriteLine("はろー、しーしゃーぷ");
}
}
312デフォルトの名無しさん:2012/01/04(水) 14:05:43.44
>>309
先頭の文字を特別扱いする理由は?
他の要素と区別するとかキーストローク数の都合とか合理的な説明はもちろnできるが
それは単体の名前として自然かどうかとは別の話だ
313デフォルトの名無しさん:2012/01/04(水) 14:07:52.70
>>312
なんだか分かってなくて言ってみただけって感じだな。
文の途中の動詞だから大文字にする理由がない。
後続の大文字は単語区切りを明確にする手法の一つ。もちろんアンスコとかでもかまわない
314デフォルトの名無しさん:2012/01/04(水) 14:08:34.25
最初にPascalを学んだ俺からしたらJavaのlowerCamelCaseの方が違和感あったな
すぐに慣れたけど
315デフォルトの名無しさん:2012/01/04(水) 14:10:29.94
テーブルマナーでナプキンを右におくか左におくか?
それは最初とった者が決めるって大統領も言ってただろ
ナプキンを最初にとった人次第だ
316デフォルトの名無しさん:2012/01/04(水) 14:17:07.00
new WriteLine("はろー、しーしゃーぷ");

ジャバラーなら当然コンストラクタ・コールに見えるだろ?
317デフォルトの名無しさん:2012/01/04(水) 14:20:33.69
らくがきにみえます
318デフォルトの名無しさん:2012/01/04(水) 15:10:13.82
>>304
マヂで?
.net環境だとオーバーライドする際、
大文字のメソッドを小文字のメソッドで
オーバーライドできたんか
319デフォルトの名無しさん:2012/01/04(水) 15:12:22.49
>>318
>>303>>305 続けたいならC#スレいきなさいな
320デフォルトの名無しさん:2012/01/04(水) 15:17:26.34
>>306
Windowsの基本はCとC++なんで、
大文字から始まる理由はC++由来だろうよ
C++だと関数とコンストラクタの区別が、
見かけ上あまりないからな。

Function();
Type();
//関数とコンストラクタを同一視できる
321デフォルトの名無しさん:2012/01/04(水) 15:22:07.11
C「俺は小文字が好きなんだが、、」
322デフォルトの名無しさん:2012/01/04(水) 15:24:10.13
VB「ベーシックは基本という意味なんだってさ、、」
323デフォルトの名無しさん:2012/01/04(水) 15:25:29.46
Basic「みんな俺のこと忘れちゃうんだな」
324デフォルトの名無しさん:2012/01/04(水) 15:27:54.61
>>313
英語だとUCCしか見ないので違和感がある
あとLCCなんて使ってんのJava系統の言語ばっかじゃん
325デフォルトの名無しさん:2012/01/04(水) 15:31:59.07
>>321
忘れ去られてる所があるが、
CとC++は、標準的ライブラリは小文字だけ、
標準ライブラリ以外のコードは大文字を使えって指針だぞ。
設計者のFAQに書いてある
326デフォルトの名無しさん:2012/01/04(水) 15:32:37.16
>>324
イミフ
327デフォルトの名無しさん:2012/01/04(水) 15:37:09.43
>>326
PlayStation
McDonald
ToBeNext
ToDo
GoTo
328デフォルトの名無しさん:2012/01/04(水) 15:39:36.71
>>327
わかってないならレスするな
一番下はでたらめ。一番下以外は名詞。
メソッドは動詞。議論できるレベルじゃないな
329デフォルトの名無しさん:2012/01/04(水) 15:40:30.00
>>328
デタラメの根拠をだせ
330デフォルトの名無しさん:2012/01/04(水) 15:43:44.86
>>328
To doも、To be nextも明らかに名詞じゃ無いんだけど
もしかして中卒パソコン大先生?
331デフォルトの名無しさん:2012/01/04(水) 15:44:51.68
>>329
英語できないなら無理すんなw
その表記がどの位メジャーかお前が提示しろよ。デタラメじゃなきゃ出来るだろ?
そも他動詞で目的語がない時点で気づけよとか他にも突っ込みどころあるしな
332デフォルトの名無しさん:2012/01/04(水) 15:46:11.83
>>330
よほど悔しかったんだな。。。
333デフォルトの名無しさん:2012/01/04(水) 15:48:13.12
メソッドかどうか、動詞か名詞かはどうでも良くて、
LCCを使った表記を英語で殆んど見かけないって事を
書いたんだけど
334デフォルトの名無しさん:2012/01/04(水) 15:48:58.99
ま、下らんことで粘着するのは大人のすることじゃないわな。
ほんと見苦しい。
335デフォルトの名無しさん:2012/01/04(水) 15:51:16.64
>>331
詭弁ご苦労様です
336デフォルトの名無しさん:2012/01/04(水) 15:51:40.39

           ______
          r〃〃〃 f7⌒ろ)
           l‖‖‖ ||   f灯
            |‖‖‖ ||   | |
            |儿儿儿._」⊥厶
           〔__o____o_≦ト、
.          i / ⌒  ⌒  ヽ )
          !゙ (・ )` ´( ・)   i/
          |  (_人__)    | \
          \  `ー'    /  / ー- 、
.          ,ィ(⊆≧リ≦⊇)〃   /     rク\
.       /   | ̄r少}¨ ̄〃   /    /′ ヽ
      〃 l   |  l| | l| 〃    /     /    └ヽ
     /    l  |l | |l/″   /      !  厂    \
    く,  Y   ! l」fレト!    /       | /        1
    丿  |   | 丿} じ’  /      | /         |
   /     l   | `¨      /      レ′        |

             真の思考停
    (在位 2009年9月16日〜2010年6月8日)

   民主朝の初代考停、言行不一致、虚言、脱税、
   そして外交において巨大な負の遺産を築いた。
337デフォルトの名無しさん:2012/01/04(水) 15:51:52.37
>>333
What does that mean?
You are kidding!
動詞は小文字で始まってますな
338デフォルトの名無しさん:2012/01/04(水) 15:51:53.25
http://www.atmarkit.co.jp/fjava/javatips/075java007.html
この2004年の記事によると、シングルトンパターンは、二重チェックの方法で実装すると、
仮想マシンの実装によっては、正しく動作しないと書かれていますが、
いまでもそうなのでしょうか?

わりとよく使っていたのですが……
339デフォルトの名無しさん:2012/01/04(水) 15:52:59.43
>>333
メソッドどうか動詞かどうか、が一番大事だろw
340デフォルトの名無しさん:2012/01/04(水) 15:56:57.77
>>337
そもそもキャメルケースじゃないから当たり前
341デフォルトの名無しさん:2012/01/04(水) 15:58:10.35
>>339
英語一般って話が一番重要
342デフォルトの名無しさん:2012/01/04(水) 15:59:10.67
まとめると>>327>>333は自分がMcDonaldという表記を見たから
メソッドの命名では、メソッドか動詞かに関係なくMcDonald形式で書くのが自然だ
とそう主張してるんだろ
つまりハンバーガーばっか食べるのは脳の体調を壊す
343デフォルトの名無しさん:2012/01/04(水) 15:59:55.25
>>341
英語の語感が備わってないのに知ったかするな
有害だぞ
344デフォルトの名無しさん:2012/01/04(水) 16:03:02.03
>>339
言葉が足りなかったな。
英語圏で使われるCCと比べて違和感があると
いう話だったんで、話しの筋としては、
英語圏で一般かが一番重要

メソッドだからというならJavaのコーディング規約に
従うという話で終わる
345デフォルトの名無しさん:2012/01/04(水) 16:19:37.16
同一視したり比べることが適切でないor出来ないものを並列に並べるとおかしくなりますよ

プログラムは英語圏の自然な英語文法に似せて書けるようになっています
書くのも認識するのも楽だから当然でしょう
文を構成する一部分であるメソッドを、単独で扱える店の看板やポスターのキャッチコピーなどと比べるのは無理があるでしょう

そもそもメソッドがLCCかUCCかは言語ごとに文化が違うという事実が暗に示していると思いますが、
その決定理由は英語的じゃない部分から決まってきている
と考える方が自然でしょう
346デフォルトの名無しさん:2012/01/04(水) 16:21:54.80
どうでもいいがisとかだけを
小文字で始める書き方をTitle caseというらしい
347デフォルトの名無しさん:2012/01/04(水) 16:25:01.64
>>345 流れを読めアッパーケースと
ローワーケースどっちが読み安いか
グダグダもめてただけだ
348デフォルトの名無しさん:2012/01/04(水) 16:29:43.71
ぶっちゃけどうでもいい。
349デフォルトの名無しさん:2012/01/04(水) 16:32:15.12
ブログラム言語でのTitleCaseは本来のTitleCaseとは少し違った意味をもってるけどね
350デフォルトの名無しさん:2012/01/04(水) 16:35:11.34
言語を比較する類の話題は、該当スレが示してるように荒れやすいから
テンプレで予め誘導した方がいいな
それでなくてもC#厨がうざいし
351デフォルトの名無しさん:2012/01/04(水) 16:39:02.17
>>347
アッパーケースとローワーケースは全く別の意味。流れも全く違うし、、
いったい。。
352デフォルトの名無しさん:2012/01/04(水) 16:42:59.77
キャメルのまちがいだ
細かいことつつくなよ
353338:2012/01/04(水) 16:55:34.09
流れが全然違いますが……
>>338 は、double-checked locking 問題って結構有名だったようですね。
結局のところ、変数定義時に生成しておくのが一番らしい。

ところで、staticイニシャライザは1回しか呼ばれないですよね?
初期値設定は、コンストラクタ、staticイニシャライザどちらでもいいですよね?
354デフォルトの名無しさん:2012/01/04(水) 17:03:07.93
>>353
ケースバイケース
なにやりたい場面かわからんと答えようがない
355デフォルトの名無しさん:2012/01/04(水) 17:30:59.90
Javaのクラス初期化って規則あったっけ?
クラスローダーがロードする度に
初期化するんだろうけど
356デフォルトの名無しさん:2012/01/04(水) 17:32:21.03
逆に規則がない構文があるのかと
357デフォルトの名無しさん:2012/01/04(水) 19:51:42.16
別途クラスローダを作ってクラスローダごと回収してしまえば
staticイニシャライザなんて何度でも呼べるんだぜ?たぷん
358デフォルトの名無しさん:2012/01/04(水) 20:03:00.04
問題はstaticオブジェクトの初期化順だよ
double checkedなら、初期化順は確実なんだかね
359デフォルトの名無しさん:2012/01/04(水) 20:06:50.65
仮想マシンの実装によっては正しく動作しない、というよりは
言語仕様にてその動作が保証されているわけではない、と言うほうが正しい。

だから、言語仕様を満たすギリギリまで迫って
パフォーマンスを上げるような高性能なVMの実装ほど
バグが顕在化する可能性が大きくなるという、笑える話になる。

デバックモードじゃないと何故か正しくうごきませーんみたいな
360デフォルトの名無しさん:2012/01/04(水) 20:47:40.06
Javaの静的メンバの初期化順やタイミングは完全に言語仕様で決まってるはず
そのせいで明示的にクラスをロードさせるとかアレな使い方されるんだが
361デフォルトの名無しさん:2012/01/04(水) 21:30:24.34
決まってるらしいのは分かるんだけど
何処に載ってんのよ
362デフォルトの名無しさん:2012/01/04(水) 22:35:59.16
何処に載ってんのよなんていってる暇があったら、言語規定読めよ
363135:2012/01/04(水) 22:36:53.66
>>291
ありがとうございます
でも夏までにアプリ作れるようになって面接で話題にしたいので
もう少し頑張ります
364デフォルトの名無しさん:2012/01/04(水) 22:44:44.63
ちなみに >>353 がききたかったのは、
複数のスレッドからクラスに最初のアクセスがあたっとき、
static イニシャライザが複数回呼ばれることはないでしょうかってことです。
365デフォルトの名無しさん:2012/01/04(水) 22:51:49.56
ない。
言語仕様読め。はっきり書いてある。
366デフォルトの名無しさん:2012/01/04(水) 22:55:05.26
>>359
クラスインスタンス生成式が完了する前に
未初期化参照の代入が行われちゃうわけだから
言語仕様的にはバグなんじゃね?

単に命令並べ替えできる条件を間違えたというだけの話だから
高性能云々はあんまし関係ないというか。
367デフォルトの名無しさん:2012/01/04(水) 23:00:17.67
368デフォルトの名無しさん:2012/01/04(水) 23:18:23.50
>>366
オレオレ用語だらけで
何を言わんとしてるかわからん。
369デフォルトの名無しさん:2012/01/04(水) 23:25:19.42
>>368
頑張れ。
370デフォルトの名無しさん:2012/01/04(水) 23:26:30.76
何が問題か理解してればわかるだろ普通に
371デフォルトの名無しさん:2012/01/04(水) 23:29:55.26
オレオレ用語って書いた本人が全くわかってない時や
理解が浅い思い込みしてる場合に見られる現象だよね
372デフォルトの名無しさん:2012/01/04(水) 23:34:59.86
>>368
バイトコードで言うと new -> invokespecial -> putstatic になってるのに
最適化で new -> putstatic -> invokespecial に並べ替えられると
double checked locking の問題が発生する。
373デフォルトの名無しさん:2012/01/04(水) 23:40:55.65
言語仕様のインスタンス作成のところには
マルチスレッドでも順序が維持されなければいけないとは特に書かれてないから
シングルスレッドの範囲でJavaの意味論的に順番が変わらなければいいとも解釈できるんじゃね
374デフォルトの名無しさん:2012/01/04(水) 23:45:14.92
生成しているオブジェクトへの参照とそのオブジェクト内のfinalでないフィールドへの参照について
素のままでは時間的な前後関係(happens-beforeとかいうんだっけ)が言語仕様で規定されていないので、
VMとかの都合で自由に入れ替えてよいはず、とかいう感じで適当に覚えてる
375デフォルトの名無しさん:2012/01/04(水) 23:58:24.41
VMはVM仕様があるよね
376デフォルトの名無しさん:2012/01/05(木) 00:03:50.65
VM仕様はあんまし関係ないような
377デフォルトの名無しさん:2012/01/05(木) 00:04:05.83
LinkedList,ConcurrentLinkedQueueとかのLinkedってどういう意味ですか?
リンクされているとは何が何にリンクされているのですか?
配列?
378デフォルトの名無しさん:2012/01/05(木) 00:10:38.54
>>374
知ってるけど、その自由度って必要なんかいね?

実際問題 double checked lockingみたいな直感的でないバグの温床になるってんで
最近の実装は自由に入れ替えてないわけで。
379デフォルトの名無しさん:2012/01/05(木) 00:11:42.47
>>377
連結リストでぐぐれ
380デフォルトの名無しさん:2012/01/05(木) 00:16:00.15
>>377
「アルゴリズム+データ構造=プログラム」とかそういった感じの本を読むといい
ある要素が次の要素への参照を持っていて、最初から順番に要素を辿っていけるようになっているのが連結リストだ
381デフォルトの名無しさん:2012/01/05(木) 02:10:45.62
Object hoge; while(flag){ hoge = ...; foo(hoge); }
while(flag){ Object hoge = ...; foo(hoge); }
ループ回数が十分大きい場合、実行速度違いますか?
それとも最適化されて同じになりますか?コンパイラによる?
382デフォルトの名無しさん:2012/01/05(木) 02:43:56.91
>>244
64bit 対応 ドライバ 対応していないようです。

http://kumasoft.blogspot.com/2011/01/java-jdbc-odbc.html
383377:2012/01/05(木) 02:46:58.64
thx,>>379>>380!
384デフォルトの名無しさん:2012/01/05(木) 02:47:25.00
遅レスのうえ何の証左にもならん引用して何をしたいんだ
385デフォルトの名無しさん:2012/01/05(木) 03:00:17.02
>>320,325
386デフォルトの名無しさん:2012/01/05(木) 03:31:27.52
>>378
オブジェクト生成完了時のフィールドの可視性を保証するならば、
たとえ終始シングルスレッドでオブジェクトの生成・アクセスすることを考えていても
(VMが他スレッドに漏れてないと判断するまで)他スレッドへの可視性を保証するために、
インライン展開などの最適化は妨げられ、また同期のオーバヘッドが掛かるはず。
ありとあらゆるオブジェクトの生成に関して。

そもそも、finalフィールドでなければ、
アクセスした次の瞬間に別の値になっていることを想定しなければならないし、
同期を正しく行わずにオブジェクトにアクセスしたりすれば、
正しい値が見えないどころかオブジェクトの整合性を壊す可能性もあるかもしれないことは、
オブジェクトの生成時に限らない。オブジェクトの生成を特別視し、
その完了時にフィールドの可視性を保証することにどれだけの意味があるだろうか?

だいたい、一貫した同期を使わない double checked locking って気持ち悪くね?
ジャバラーだからわからんが、そもそも、Cとかの他言語でも、
それぞれのプロセッサは必要がなければ内部情報を交換しない方が速いんじゃね?
387デフォルトの名無しさん:2012/01/05(木) 03:31:43.66
388デフォルトの名無しさん:2012/01/05(木) 04:02:00.05
マルチスレッドはもっと管理されるべきだよね
synchronized(笑)
389デフォルトの名無しさん:2012/01/05(木) 04:12:34.95
君たちの基地は我々が占領した
>>386が謎杉
390デフォルトの名無しさん:2012/01/05(木) 05:22:22.03
英語も日本語も専門家同士でないなら格好つけることもないし術語の使い方を気にしなくていいとは思うけど、一般用語としては「保証」よりも「保障」の方を使う
391デフォルトの名無しさん:2012/01/05(木) 07:13:32.29
>>386
すまん、386を読んで疑問を感じなかった俺に問題点を教えて欲しい。
392デフォルトの名無しさん:2012/01/05(木) 07:32:52.29
アウトオブオーダー実行しない=インライン化できない&同期化必須は飛躍しすぎ。
両者は関係ないし。

あと、>>378が事実ならたぶんバグ抑止が目的じゃなくて
finalフィールドは言語規定により初期化必須なので
特別扱いするのが面倒なだけかと。
393デフォルトの名無しさん:2012/01/05(木) 07:52:07.39
StringBuffer,Vectorなどジャバで言うところのスレッドセーフとは何かを考えてみるといい
394デフォルトの名無しさん:2012/01/05(木) 08:06:42.80
>それぞれのプロセッサは必要がなければ内部情報を交換しない方が速いんじゃね?

内部情報を交換するとは具体的にどうやるの?
395デフォルトの名無しさん:2012/01/05(木) 09:30:56.00
public Hoge(String configFilePath) {
 this(load(configFilePath));
}
ttp://d.hatena.ne.jp/bleis-tift/20091114/1258170394
これってどういう意味ですか?
フィールドの内容をstoreしたものを使ってloadしてフィールドに設定するという意味ですか?
検索するにも、this.load or this->load ばかりがヒットして見つかりません。
説明してくれているページへ誘導してもらえると助かります。
396395:2012/01/05(木) 09:33:14.24
すみません。節穴でした。
eclipseに貼り付けて、色分けしたらわかりました。
397395:2012/01/05(木) 09:56:55.80
理解してなかった。
this()ってオーバーロードした他のコンストラクタなのね。
便所の落書き失礼しました。
398デフォルトの名無しさん:2012/01/05(木) 10:21:26.11
>>392
たしかにfinalで修飾されたフィールドがある場合に、
そこの初期化だけ抜き出してまでアウトオブオーダー実行するのは手間に合わないような気はする。

finalで修飾されたフィールドの有無を検査しておけば
一つもない場合は自由にアウトオブオーダー実行できるような気もするが、
それも面倒なのかな。検査とかフラグ持っておくスペースとか。
399デフォルトの名無しさん:2012/01/05(木) 10:50:57.01
>>393
たいていもっと大きい単位での同期化が必要になるから、そういうのがスレッドセーフでもあまり意味はない
結局必要に応じて慎重に自分で同期化するだけ
400395:2012/01/05(木) 10:55:19.73
//static class Foo{} // 最外部にstaticはダメ。
class Hoge
{
 private static class A
 {
  private static class AA
  {
   private static class AAA{}
   private class AAB{}
  }
  private class AB
  {
//  private static class ABA{} // コンパイルエラー。動的クラスの内部にstaticはダメ。…?…ん?最外部と扱い違うんだけど…。※1
   private class ABB{}
  }
 }
 private class B
 {
// private static class BA // コンパイルエラー
// { 
//  
// }
  private class BB
  {
//  private static class BBA{} // コンパイルエラー。
   private class BBB
   {}
  }
 }
}
一番外側のクラスってstaticついてないけど、考え方的にはstaticでいいのかな?
でないと、※1の部分が矛盾してしまう。「特別です」って言えば済むけど。
401デフォルトの名無しさん:2012/01/05(木) 10:59:51.72
ArrayListでなくLikedListを使うよさがよくわかりません
なんか説得力がある場面を教えてください
402デフォルトの名無しさん:2012/01/05(木) 11:07:14.09
LinkedListの話なら、
時間とメモリの有り余ってる奴にはなんのメリットも無いから安心しろ
403デフォルトの名無しさん:2012/01/05(木) 11:10:30.19
>>400
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.1.3
トップレベルクラスは自由にstaticメンバ持てるって意味ではstaticメンバ型と同じ。
404デフォルトの名無しさん:2012/01/05(木) 11:11:21.58
>>402
401じゃないけど、どういう意味?
405デフォルトの名無しさん:2012/01/05(木) 11:38:52.25
402じゃないが
総合的に見て、ArrayListよりリンクリストのパフォーマンスが良くなるのは
途中への追加や削除が非常に多くてそれが律速になるような激しく極端なケースだ
少々ArrayListの途中へ挿入したり削除したりしてもそうそう問題にはならんからあんまり気にするな
406デフォルトの名無しさん:2012/01/05(木) 11:42:02.93
速度的にはそんな感じだけど、LinkedListのがメモリ食わね?
407デフォルトの名無しさん:2012/01/05(木) 12:00:54.53
動的配列だと管理のために余分に必要なメモリは高々参照のサイズの2倍くらいで
リンクリストだと要素数*ノードのサイズで双方向リストだからリンクリストの方が大きいかな
GCの負担も増える
408デフォルトの名無しさん:2012/01/05(木) 12:40:43.99
vectorは累乗で確保するが、array listは違うだろう。
409デフォルトの名無しさん:2012/01/05(木) 13:22:40.93
パッケージについて教えてほしい。

protected とか、public,protected,privateを書かなかったときとかって、
パッケージ内にアクセスが許可されるじゃないですか。

この「パッケージ内」っていうのは、どういう場合に必要になるのですか?
勉強中なのですけど思いつかなくて困ってます。
410デフォルトの名無しさん:2012/01/05(木) 13:33:01.42
ConcurrentLinkedQueueというクラスがあります。

キューのつくり的な意味で、どうして、
ConcurrentLinkedQueue があって
ConcurrentArrayQueue がないのだろうと疑問に思います。
>>405が示してくれているように中間への追加がないのであれば、Arrayの方がよい気がするのですが。
どうしてかわかります?
411デフォルトの名無しさん:2012/01/05(木) 13:44:29.35
ArrayQueueなんて内部でsynchronizedしまくってArrayの伸長処理しまくらないとダメだろ
需要ない
412411:2012/01/05(木) 13:58:34.38
>>411 ありがとうございます、理解しました。
413デフォルトの名無しさん:2012/01/05(木) 14:01:24.66
Windows,Linux,Macで動作するGUIプログラムを作る場合はSwingで問題ないでしょうか?
他にこれ使ったほうがいいというものございますか?
414デフォルトの名無しさん:2012/01/05(木) 14:07:25.14
頭とか。
415デフォルトの名無しさん:2012/01/05(木) 14:08:38.29
>>403ありがとうございます。
>8.1.3 Inner Classes and Enclosing Instances
書いてあるのはこの付近なのかな?

ttp://d.hatena.ne.jp/les-cochons/20111031/1320059312
同じくstaticで調べていたら、これ見つけて読みました。
>1. メモリ量節約
ってあるのですが、シングルトンとstaticとでどうメモリ量が違うのですか?
起動したときに、クラスローだがコード全部読むみたいだから、ほとんど変わりない気がするのですけど。
むしろシングルトンの方が小さいような気がする。(初心者的な想像で。
416デフォルトの名無しさん:2012/01/05(木) 14:32:23.53
シングルトンでメモリ量気にするようならJava使うの諦めたほうが……

あと、そこでシングルトンと比較されてるstaticクラスってのは
staticフィールドとstaticメソッドだけで構成されてるようなクラスの事で、
staticメンバクラスとは違うぞ。たぶん。
417デフォルトの名無しさん:2012/01/05(木) 14:52:18.22
Javaで定番のデザインパターンを教えてください
418デフォルトの名無しさん:2012/01/05(木) 15:13:12.08
>>417
本屋にいってデザインパターンってタイトルついてる
3000円以上の本買えば大抵書いてる
419デフォルトの名無しさん:2012/01/05(木) 15:13:15.39
>>415
微々たるものだけど一応節約になると思う
メモリ上にクラスとインスタンスの領域があって、
staticはクラスの領域に直接アクセスするからインスタンスが必要無い。
シングルトンはインスタンスを生成するのでクラス1個+インスタンス1個分の領域が必要。

インスタンスはGCなどで管理されるのでオブジェクト外部でも管理コストがかかっている。
420419:2012/01/05(木) 15:17:21.62
ちなみに言うと、staticとシングルトンの使い分けは、
状態を持つならシングルトンを使うべき。

public static finalで宣言できる定数ならstaticでも良い。
finalがあればそれは状態じゃなく固定値になるから。

状態はインスタンス毎に持たなければいけない。
クラスはあくまで固定的な型であって、状態をstaticメンバで持つのは明らかに間違ってる。
421デフォルトの名無しさん:2012/01/05(木) 15:25:12.93
classファイルは内部クラスがある場合、別ファイルに分割されて保存されるが、
ソースファイルにおいては別ファイルに分けて記述することは、
「できない」。
であってます?
検索してみた結果は、クラスを分割しろ、ってのしか見つけられていません。

外側のクラスのメンバ変数を利用したいから、内部クラスのうまみを存分に堪能したいのだが。
よろしくお願いします。
422デフォルトの名無しさん:2012/01/05(木) 15:30:35.29
C#のpartialみたいな事はできないよ。
423デフォルトの名無しさん:2012/01/05(木) 15:59:09.75
>>419
その程度の節約だと、何かあるとすぐ逆転しちゃうんだよな。
例えばフィールドで済んでたのを引数に配列使って代用とか。

かなり条件を限定しないと、どっちが節約になるかは微妙。
424デフォルトの名無しさん:2012/01/05(木) 16:51:22.80
今からやるならAWTってやる必要ないですか?
Swing一本で頑張っても戦力になれますか?
425デフォルトの名無しさん:2012/01/05(木) 16:57:07.32
人民元暴落間近、実はマイナス成長の中国GDP

アメリカの研究者の中には、今年の中国のGDPはマイナス10%ぐらいではないかと推計する人もいます。
そもそも中国の国家統計局が出している数字は、「架空の物語」です。

全国人民代表大会で決まった成長率を覆すような数字を、地方政府が上げるはずがない。16%だの24%だの、ありえない数字を出してきます。
みんなそれを知っていますから、加減してほどよい数字を作り上げる。それが国家統計局の仕事なんです。

中国の現状からすればGDPが上がるとは思えません。個人消費は明らかに減っています。住宅はといえば6500万戸が空き家状態。
企業は設備投資どころではなく、政府の財政支出も限界に来ています。

日本の新聞もようやく中国の不動産バブル崩壊について書き始めました。しかし内容は必ずしも正しくない。
不動産価格が上海で25%、北京で20%下落したといいますが、実際には40%ぐらい下がっていると思われます。

JBPRESS
http://jbpress.ismedia.jp/articles/-/34131?page=2


世界のGDP(単位10億ドル)

1位 アメリカ 14,526.55
2位 中国 5,878.26
3位 日本 5,458.80



1位 アメリカ 14,526.55
2位 日本 5,458.80
3位 中国 5290.43
426デフォルトの名無しさん:2012/01/05(木) 17:07:19.49
Javaとc++どっちやろうか迷ってます。
プログラミングは初めてです。
両方やったことある人に聞きます。
最初はどっちから手を出した方がいいですか?
427デフォルトの名無しさん:2012/01/05(木) 17:20:39.91
マルチ乙
428デフォルトの名無しさん:2012/01/05(木) 17:34:24.87
好きなのやればいいのに
429デフォルトの名無しさん:2012/01/05(木) 17:44:28.59
>>426
俺は初心者だけどC++は覚えることが多すぎる事と初心者サイト見てもないような初心者向けじゃなさ過ぎて挫折した
Javaだと初心者向けサイトが多いから覚えやすい
だからJavaをお勧めします
でもC#もいいよ
430デフォルトの名無しさん:2012/01/05(木) 18:18:41.98
配列って基本データ型しか使えないであってますか
Strig s[]= {"abc","def"};

JavaScriptばかり弄っていたら混乱してしまって
431デフォルトの名無しさん:2012/01/05(木) 18:38:00.29
>>424
>今からやるならAWTってやる必要ないですか?
はい
>Swing一本で頑張っても戦力になれますか?
いえい
432デフォルトの名無しさん:2012/01/05(木) 18:43:24.54
いえい?
433デフォルトの名無しさん:2012/01/05(木) 18:50:32.61
>>430
いや。
そもそもStringだってnew String("")を省略できるだけで
普通の型じゃないし
434デフォルトの名無しさん:2012/01/05(木) 18:54:51.84
>>420
状態を持つだけなら、モノステートでいいだろ
NULLオブジェクトとか、デバイスとか
インスタンスの==比較できた方がいいものに限るべき。
435デフォルトの名無しさん:2012/01/05(木) 19:04:51.14
>>409
逆コンパイラで、Fileクラスとか覗いて見れば解ると思う。
クラスの仕様に無く、内輪で使う物は修飾子無し。
言い換えれば、今後変更のしないならpublic
変更の可能性があるが共有する必要があるなら修飾子無し。
日本語サイトはpublicがデフォだが、
可能な限りパッケージスコープをデフォにしとくべき
436デフォルトの名無しさん:2012/01/05(木) 19:07:10.11
Javaの勉強をする場合
いきなりeclipseから入っても覚えても大丈夫ですか?
やっぱりテキストエディタでコマンドプロンプトからjavacしなくてはだめですか?
あといきなりGUIはやめたほうがいいですか?CUIからやるべきでしょうか?
437デフォルトの名無しさん:2012/01/05(木) 19:14:22.61
好きにすればいい
Eclipseを使おうがテキストエディタを使おうが、コマンドラインでJavacを使おうがAntを使おうがMavenを使おうがどうでもいい
438デフォルトの名無しさん:2012/01/05(木) 19:15:17.20
コマンドラインの知識はとっと身に付けて
おいたほうがいい。個人の経験上
dllとのリンクエラーとか実行環境エラーの
原因に気づかないヤツが多い。
439デフォルトの名無しさん:2012/01/05(木) 19:37:53.04
どうせ全部要る知識だから好きなのからやればいい。
ただEclipsを使ってはじめたほうが早くいろんな知識が得られると思うけどね。
メニュー眺めてるだけでも何ができるか眼に入ってくるから。
440デフォルトの名無しさん:2012/01/05(木) 19:42:11.00
アウトオブオーダーと可視性は全然とはいかないけどあまり関係ないだろ
VMの実装によるだろうけど
441デフォルトの名無しさん:2012/01/05(木) 19:53:08.43
気晴らしに勉強すればいい

javac javaなんて面倒くせぇ
パッケージが特に

ただ知っておくといいかも
442デフォルトの名無しさん:2012/01/05(木) 20:25:27.83
cd desktop
javac Test.java
java Test

これ
443デフォルトの名無しさん:2012/01/05(木) 20:32:59.12
Label2個作って、アプレットで表示しようとしたら、
bのラベルは"こんにちは"
cのラベルは"さようなら"
aはContainerオブジェクト

a.add(b);
a.add(c);

bのこんにちはしか表示されないんですが...
改行されてさようならは表示されないんですか?


aにbとcをaddしたわけですよね?

また、Labelの文字の大小はどうしたら変化しますか?
444409:2012/01/05(木) 20:33:13.70
>>435
ありがとうございます。なんかすごくわかったような木がします。
ファイル名のクラスってpublicじゃなくても良かったのですね。
パッケージスコープとかで検索したら、facadeというwikipediaの記事にたどり着いて理解が進みました。
445デフォルトの名無しさん:2012/01/05(木) 21:28:35.38
446デフォルトの名無しさん:2012/01/05(木) 22:47:40.14
>>435
publishedでないならpublicでもガンガン変更してOKだけどな。
447デフォルトの名無しさん:2012/01/06(金) 01:39:14.11
publishedなんて予約語あったっけ?>Java
448デフォルトの名無しさん:2012/01/06(金) 01:49:47.24
データベースの値を基に計算する場合、例えば
「単価×数量=売上金額」などでパフォーマンスの問題で
データベースではなくアプリで計算したい場合どういった方法があって一般的だろうか?
1.Resultsetに列を追加して計算結果を格納するとかはできるだろうか?
2.Resultsetから配列などにコピーして計算する。
3.他にも何かある?
449デフォルトの名無しさん:2012/01/06(金) 01:53:51.20
表示するだけが目的で、なおかつMVCを使っているならビューに計算させる。
450デフォルトの名無しさん:2012/01/06(金) 01:57:03.71
>>448
>データベースではなくアプリで計算したい

何でパフォーマンスが落ちるのかな?
451デフォルトの名無しさん:2012/01/06(金) 02:49:39.54
protectedって、パッケージ同じだったら外部からアクセス可能なんだ…。
無修飾(package private)より緩いとは思わなかった。

ところで、privateのメソッドの単体試験をしたいときって、JUnit使えないのかな?
単体試験のために、ソースをそのまま(privateのまま)にアクセス制限を緩めることができるとかなんとか聞いたことがあるのだけど。
452デフォルトの名無しさん:2012/01/06(金) 02:51:44.03
>>447
>published
447じゃないんだが、
予約語とかじゃなくて、自分が使うために作ったソースならってことじゃないの?
違ったらすまん。
453デフォルトの名無しさん:2012/01/06(金) 03:25:04.32
>>451
> ところで、privateのメソッドの単体試験をしたいときって、JUnit使えないのかな?

そこでGroovyですよ
JavaコードのテストをJavaで書いちゃう奴はゴミ以下
454デフォルトの名無しさん:2012/01/06(金) 03:40:20.36
String s = new String();
これが最悪と書いてあったのですけど、なんでですか?
String s = "";
String s = new String("");
となにか違うのですか?コレも最悪の一つたちということですか?
455デフォルトの名無しさん:2012/01/06(金) 03:49:41.98
オーバライドと隠蔽の違いがよくわかってません。
エスパーしてください。

クラスを継承して、クラスのフィールドやメソッドを再度定義した場合、Javaでは確実にオーバライドっていう、というのは問題ないのでしょうか?

この場合でも、継承元となったクラスの変数を宣言して、それにサブクラスのインスタンスを代入すると、継承元のフィールド・メソッドにアクセスできますよね?
こういうのはオーバライドって言わないで、隠蔽って言うっても聞きました。

では一体オーバライドというのは何なのですか?
abstructを実装したときだけオーバライドなのですか?
456デフォルトの名無しさん:2012/01/06(金) 03:51:55.22
>>454
http://www.javaroad.jp/java_character2.htm

ま、べつに最悪って程でもない。
たかが文字列だろ?って感じ。
鼻の穴をヒクヒクさせて最悪!っていう程のことでもない。
それが最悪だとしたら、最悪な言語処理は世の中にいくらあるか。
457デフォルトの名無しさん:2012/01/06(金) 04:04:23.17
>>456の動作ってjavacの仕様なの?
たまたまSunのJDKが頑張ってるだけってこと?
458454:2012/01/06(金) 04:12:27.31
>>456
ありがとうです。

追加でもう一つ;
label1:
{
 // とても長い処理
 if(何かの判定) break label1;
 // とても長い処理
}
のような書き方が出来ると知って、gotoの代わりに便利なので使うことがあるのですけど、
これって初心者サイトでみたことがないです。
なんというのですか?

do{
 // とても長い処理
 if(何かの判定) break;
 // とても長い処理
}while(false);
この様にすると、何か不細工なのが嫌いで…。
459454=458:2012/01/06(金) 04:18:01.43
>>458
の件、自己解決しました。ありがとうございます。
460デフォルトの名無しさん:2012/01/06(金) 04:33:08.18
enumってfinalじゃないですか。
継承して要素を増やしたりしたい人は、
おとなしくclassつくって、public static final intでもしてろって感じでしょうか?
もっと良い方法、というか定石があればレス欲しいです。
461デフォルトの名無しさん:2012/01/06(金) 05:45:29.54
ttp://kerorou.blog84.fc2.com/?mode=m&no=235
これと同じ症状でAntが使えないのですけど、何が原因なのでしょうか?

JNIのヘッダを作りたくて、Ant用のxmlを作りました。
コマンドラインでは、javahへのパスが通っている確認はしています。
コマンドラインから、Antにやらせたいコマンドを書いたところ普通に動きました。
cmdを起動できていない?
462デフォルトの名無しさん:2012/01/06(金) 06:05:46.01
>>458
ラベルもwhileもださすぎだろ
463デフォルトの名無しさん:2012/01/06(金) 08:07:38.62
>>458
do-whileでいいだろ
わざわざラベル使うとか。。
switch文くらいでいいよラベル使うのは
464デフォルトの名無しさん:2012/01/06(金) 08:14:34.76
ループしないのに do-while もおかしいだろw
普通にメソッドに切り出して return しろよ
465デフォルトの名無しさん:2012/01/06(金) 08:15:35.97
>>462
じゃーどーすんの?
466463:2012/01/06(金) 08:18:38.22
>>458
よくみたら
do{
 // とても長い処理1
 if(何かの判定) break;
 // とても長い処理2
}while(false);

これはあり得ないな

だったら、

// とても長い処理1
if(!何かの判定) {
// とても長い処理2
}

って書けばいいだけ
467デフォルトの名無しさん:2012/01/06(金) 08:50:58.03
コンテニュー使えばいい話だろ。
468デフォルトの名無しさん:2012/01/06(金) 09:16:35.05
>>447
例えば BufferedInputStream#buf は protected だが、published だから変えられない。

Delphi とかにあるpublished とは直接関係ない。published interface でぐぐれ。
469デフォルトの名無しさん:2012/01/06(金) 09:32:14.49
>>455
> この場合でも、継承元となったクラスの変数を宣言して、
> それにサブクラスのインスタンスを代入すると、
> 継承元のフィールド・メソッドにアクセスできますよね?
インスタンスメソッドは基本的に上書きされた方しかアクセスできない。
クラスメソッドやフィールドは覆い隠しされてるだけだからアクセスできる。

インスタンスメソッドは上書きとかオーバーライド、
フィールドとクラスメソッドは隠蔽とか覆い隠しとかハイディングとか呼ばれる。
上書きはoverrideの訳語。
隠蔽とか覆い隠しはhidingの訳語。
470デフォルトの名無しさん:2012/01/06(金) 09:36:56.77
>>460
定石はないような。手間かけずに int enumでやってもいいし、
typesafe enumを継承できるように改変するのもアリ。あんましtypesafeじゃなくなるけど。

1.8以降の新機能の要望としてabstract enumもあがってるんだが
優先度低そうなんだよな。
471デフォルトの名無しさん:2012/01/06(金) 09:40:16.41
>>461
can't load javah でぐぐったら
com.sun.tools.javah.Main あたりのクラスが読み込めてないっぽいが。

JAVA_HOME が設定されてないとかじゃないよね?
日常的に ant 使ってるなら、たぶん javac は通るんだろうし……
472デフォルトの名無しさん:2012/01/06(金) 09:51:48.00
>>451
java.lang.reflect.Method貰ってきてsetAccessible使えば
リフレクション経由で呼べる事は呼べる。

privateメソッド/フィールドを試験対象にするのはあまりオススメできないけど。
473デフォルトの名無しさん:2012/01/06(金) 10:58:51.28
java.util.concurrent.ConcurrentLinkedQueue<Base>
= new java.util.concurrent.ConcurrentLinkedQueue<Sub>();
って出来ない?
マジで?
474デフォルトの名無しさん:2012/01/06(金) 11:01:37.24
ワイルドカード使え
475デフォルトの名無しさん:2012/01/06(金) 11:08:24.64
>>474
今ちょうど、ジェネリック・ワイルドカードで検索してみたら、運良くIBMのページがヒットしてみてた。
ttp://www.ibm.com/developerworks/jp/java/library/j-jtp04298.htmlふつうに、Baseを?に置き換える感じでいいのかな。
これって、何でも入るということでしょ?
コンパイルエラーに頼らずに自分でガンバって管理しなさいよ、ってことなの?
476473=475:2012/01/06(金) 11:31:51.19
いま、「Base」を「? extends Base」にすればいいってとこまで来たのだけど、
ConcurrentLinkedQueueはそのまま使ってていいのかな?
キャプチャー・ヘルパーって必要?
アクセスする部分を書いていくうちにわかるのかな。
エスパーできたらレスください。
477デフォルトの名無しさん:2012/01/06(金) 11:32:02.02
ある文字列がファイル名として妥当な書式かどうかを判別するにはどうしたらいいですか?
実在するファイルかどうかじゃなく、ファイル名として妥当かどうかが知りたいです。
478デフォルトの名無しさん:2012/01/06(金) 11:45:07.39
>>477
環境に依存するんじゃないの?
479デフォルトの名無しさん:2012/01/06(金) 12:16:22.53
@Override
って書かずに同じシグネチャのメソッドを定義したら、書いた場合と何が違うの?
480デフォルトの名無しさん:2012/01/06(金) 12:19:48.44
オーバーライドされてるのかどうかが分かり難いってだけ
不意にシグネチャをかえたら、
継承元メソッドが呼び出されて偶然動作してしまう事がありうるので
オーバーライドしているのかどうかは分かったほうが良い
481デフォルトの名無しさん:2012/01/06(金) 12:20:23.69
>>479
実はオーバーライドがうまくいってませんでした、
ってときに怒ってくれる。
482デフォルトの名無しさん:2012/01/06(金) 13:01:21.58
逆だろ。@Override外すとスペルミスったりしても怒ってくれない。
483デフォルトの名無しさん:2012/01/06(金) 13:04:51.71
>>477
ほぼ無理。

辛うじて File#separator ぐらいならあるけど、
文字化けするとかファイル名に使っちゃいけない文字とかを調べるメソッドはない。
484デフォルトの名無しさん:2012/01/06(金) 13:17:38.66
>>460
enumでやりたい事が処理の選択ぐらいだったら、
enumじゃなくただ継承使うだけで十分

SelfEnum mime;

mime = new MimeJpeg();
mime = new MimePng();
mime = new MimeBitmap();

ResourceConvertor convertor = mime.create();
ostream = convertor.decode( istream );
485デフォルトの名無しさん:2012/01/06(金) 13:47:05.48
importって相対パスで書けない?
試した限りむりっぽいけど。
配下のパッケージまで絶対パスしてするのわずらわしい。
486デフォルトの名無しさん:2012/01/06(金) 13:50:21.33
無理。最近はIDEが勝手に補完するので自前で書かないからどーでもいい。
487デフォルトの名無しさん:2012/01/06(金) 13:55:10.24
new jp.co.example.package_top.package_sub.Type();
重複したらこんな感じだろ。何のためにパッケージ使ってんのかバカバカしいな。
せめてエイリアスぐら欲しいもんだ。
import a = jp.co.example.package_top.package_sub;
import b = uk.co.example.package_top;
new a.Type();
new b.Type();
488デフォルトの名無しさん:2012/01/06(金) 13:58:48.41
重複なんて滅多にしないのにそんな機能に力を注ぐのはバカバカしいな。
489デフォルトの名無しさん:2012/01/06(金) 14:00:14.02
力を注ぐのがバカバカしいほど難しい機能でもないだろ
プリプロセッサでも十分なレベルだし
490デフォルトの名無しさん:2012/01/06(金) 14:04:03.19
いや…まぁいいや。
491デフォルトの名無しさん:2012/01/06(金) 14:09:24.58
型名の重複自体がレアだからな。
わざわざ自分で長いパッケージ付けておいて面倒臭がってるなら単なる間抜けだし。
492デフォルトの名無しさん:2012/01/06(金) 14:17:11.58
C#やらC++なら new xml.Document()やらnew pdf.Document()やらnew msword.Document()やら
結構使うけどな。Javaだからめんどくさくてしないだけで。
493デフォルトの名無しさん:2012/01/06(金) 14:19:30.80
Javaにc++でいうstd::terminate()みたいなのってありますか?
494デフォルトの名無しさん:2012/01/06(金) 14:27:47.17
>>485
奥の手はある。importの代わりにPackage Privateなclassやinterfaceで継承する。

class PDFDocument extends com.adobe.pdf.Document{}
class XMLDocument extends org.apache.commons.xml.Document{}
495デフォルトの名無しさん:2012/01/06(金) 14:31:00.06
>>493
System#exit() Runtime#exit()あたりの事?set_terminate() っぽい事はできないけど。
4961:2012/01/06(金) 19:27:12.61
Javaで

修飾子 {} のみって構文としてありますか?


static {}

というのを見たのですが
497デフォルトの名無しさん:2012/01/06(金) 19:32:29.09
syncronized{}とかもある。
別に 修飾子{} ってな規則が有るわけじゃなく、
単に特殊ブロックとして 予約語{} ってな文が何個か用意されてるだけ。
498デフォルトの名無しさん:2012/01/06(金) 19:32:31.67
ない。

static {} は static initializer とか静的初期化子でぐぐれ。
4991:2012/01/06(金) 20:15:09.16
>>497-498
ありがとうございました。
静的初期子で検索したらでてきました。

重ねて質問なんですが、
高橋麻奈のやさしいJavaなどのテキストを使用してますが、静的初期子どころか、ジェネリックやコレクションすら載ってません
中級者以上でも辞書がわりに使えるJavaのテキストで、定番やお勧めはございますか?値段は問いません。
500デフォルトの名無しさん:2012/01/06(金) 20:21:11.86
http://music.geocities.jp/kreisler_liebesleid/java/
有料本なんか買わなくても、ここ読めば殆ど解ると思うぞ。
Javaが死んだとか言ってた頃以前からある老舗なんで
内容がしっかりしてる。
501デフォルトの名無しさん:2012/01/06(金) 21:15:31.29
プログラミング言語Java がおすすめ
502デフォルトの名無しさん:2012/01/06(金) 21:35:43.01
EclipseからWTPプラグインつかってJetty8.0起動すると、

java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor

というエラーが出ます。どうすれば正しく起動できるでしょうか。
よろしくお願いします。
503デフォルトの名無しさん:2012/01/06(金) 21:36:08.65
>>500
ありがとうございました。

>>501
もう絶版みたいです
Java7まで掲載されてるといいのですが・・・
504デフォルトの名無しさん:2012/01/06(金) 21:58:35.19


 東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
 中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
 もろに北朝鮮と繋がっているテレビ局が1つ  
年寄はまだまだテレビという外国人に騙され続ける
505デフォルトの名無しさん:2012/01/06(金) 23:11:57.40
Javaの予約語でnativeってのがあるけど、どゆとき使うの?
てーか、実際に使ったことある??
506デフォルトの名無しさん:2012/01/06(金) 23:15:28.96
JNIについて調べればわかる
507デフォルトの名無しさん:2012/01/07(土) 10:27:12.40
C#は作ったプログラムからソースコードに変換するツールがあるって聞いたことがあります
そこでJavaに移行したいのですがJavaで作ったプログラムにもこのようなものはあるのでしょうか?
508デフォルトの名無しさん:2012/01/07(土) 10:43:18.96
ある
509デフォルトの名無しさん:2012/01/07(土) 10:55:14.83
JUnit4 でテスト対象のメソッドを呼び出したら
一定時間以内に返ってくることをテストするにはどうするのがおしゃれですか。
別スレッドでメソッドを呼び出して置いて本スレッドは sleep し
別スレッドが終わっているか確認するのはダサいと思っていて。
510デフォルトの名無しさん:2012/01/07(土) 10:56:00.28
>>508
ええええええええ
暗号化する方法はないですか?
511デフォルトの名無しさん:2012/01/07(土) 11:05:57.79
こういう奴って時々出てくるけど、どんな大層なプログラムを作ってるのか毎回気になるな
512デフォルトの名無しさん:2012/01/07(土) 11:08:39.26
自分で見つけられないうちは必要ない技術の筆頭だよな
513デフォルトの名無しさん:2012/01/07(土) 11:14:45.54
>>509
楽したいならtimeout指定もできるよ。


スレッド使わなくても、
 long start = System.currentTimeMillis();
 //テスト対象の処理
 long elapsed = System.currentTimeMillis() - start;
 if (一定時間 < elspased) fail();
みたいにすれば良いだけのような。
好みで currentTimeMillis は nanoTime なりに置き換えてもいいし。
514デフォルトの名無しさん:2012/01/07(土) 11:32:14.31
ライブラリのソース読んでたら不可視なフィールドを参照してるように見えます。
クラスを継承してないのにprotectedなフィールド呼んでいます。

問題の呼び出し行
http://code.google.com/p/libgdx/source/browse/trunk/gdx/src/com/badlogic/gdx/graphics/g3d/decals/DecalBatch.java?r=2883&spec=svn2978#159

protectedフィールドの宣言
http://code.google.com/p/libgdx/source/browse/trunk/gdx/src/com/badlogic/gdx/graphics/g3d/decals/Decal.java?r=2468#46

これはいったいどうなっているのでしょうか?
515デフォルトの名無しさん:2012/01/07(土) 11:38:09.74
>>510
コンピュータが読めるのに人間が読めないわけ無いだろ
516デフォルトの名無しさん:2012/01/07(土) 11:48:18.63
>>514
Javaのprotectedは同じパッケージ内から見える
517デフォルトの名無しさん:2012/01/07(土) 11:57:18.56
>>516
すっかりまるっと失念していました。
ありがとうございました。
518デフォルトの名無しさん:2012/01/07(土) 12:00:18.49
>>515
じゃあ暗号文を解読してみろや
解読できたらお前に土下座して謝ってやんよ
youtubeとニコ動に動画取って載せてやんよ

16b014a27f54b6c405d9b017c005ef7c
519455:2012/01/07(土) 12:19:24.84
>>469
遅レス申し訳ない。
>インスタンスメソッドは基本的に上書きされた方しかアクセスできない。
>クラスメソッドやフィールドは覆い隠しされてるだけだからアクセスできる。
勘違いしてました。
インスタンスメソッドを書くのが面倒だったので、
どうせ同じだろうと、フィールドで試していました。
インスタンスメソッドはc++で言うvirtualが必ずついている感じなのですね。
非常にわかりやすい説明に感謝します。ありがとう。
520デフォルトの名無しさん:2012/01/07(土) 12:31:20.00
>>518
暗号解くにはキーと復号アルゴリズムが必要だろ
両方揃ってれば機械でも解けるし当然人間も解ける
ついぞ昔は人間が頭で暗号化して紙に書いてたんだぞ
521デフォルトの名無しさん:2012/01/07(土) 13:23:11.96
できるできないで言えば、人間による解読も決して不可能ではないな
522デフォルトの名無しさん:2012/01/07(土) 13:45:24.37
>>510
難読化はあるよ
523デフォルトの名無しさん:2012/01/07(土) 15:57:18.45
>>518
おまえバカだなあ
コンパイルは仕様が公開されてるだろ。それを暗号を比較できるわけないのに
おまえバカだなあ
524デフォルトの名無しさん:2012/01/07(土) 16:00:38.82
javaの勉強を今から始めました
cuiは飽きるのでguiからやりなさいってjavaをやってる人に言われました
swingで画面を表示させるとこからやってます
そこで質問があります
初心者サイトによってコードの書き方が違うのですが

ttp://sunjava.seesaa.net/category/3801026-1.htmlのやり方と
ttp://java.keicode.com/lib/swing-frame-basic.phpのやり方で全然違います

初心者向けの王道のパターンってありませんか?
525デフォルトの名無しさん:2012/01/07(土) 16:05:33.57
見に行くの面倒だ
要点しぼって引用しろ
526デフォルトの名無しさん:2012/01/07(土) 16:07:27.52
海外輸出を狙っている韓国高速鉄道(KTX)で、今度は停車駅を見過ごした後、逆走行で戻ろうとした“トンデモ事故”が発生し、世論を驚かせている。

 これまでは故障や脱線など車体事故が多かったが、今回は運転ミス。相次ぐ不祥事に「輸出話などまだまだ」と世論は冷ややかだ。

 “事故”があったのは2日夕。ソウル発釜山行き列車が、最初の停車駅だったソウル市内の
永登浦駅に止まらず約3キロ走ったところでこれに気付き、約10分間、逆走行し永登浦駅に戻ったという。

 原因は運転手の錯覚だった。管制センターは急遽(きゅうきょ)、後発列車の運行調整など安全措置を取り
、追加事故は防いだ。しかし、こうした逆走行は前代未聞で、車内放送もないまま乗客は恐怖と不安に震えたという。

 また3日夕には、線路に侵入した鹿と衝突して立ち往生し、乗客が他の列車に乗り換える事故もあった。
高速鉄道ながら在来線を走っている部分があったり、防護フェンスに手抜きがあったりし、野生動物との衝突がしばしば起きている。

 KTXはフランス高速鉄道(TGV)を導入し2004年に開業した。10年には国産車両を開発し、ブラジルなど海外へ
売り込みを狙っているが、故障や事故が頻発しているほか、遅れが多く定時運行もいまいちだ。
開業10年にもならないのに「海外進出を!」という拙速ぶりに批判の声が聞かれる。


http://sankei.jp.msn.com/world/news/120106/kor12010620010005-n1.htm
527デフォルトの名無しさん:2012/01/07(土) 16:08:07.08
コード引用はあれなのでここにかけませんが
public static void main(String[] args) {}内に書くだけの
画面を表示させるだけのものすごいシンプルな王道コードを教えてください
528デフォルトの名無しさん:2012/01/07(土) 16:23:00.70
>>527
public static void main(String[] args){
JFrame frame = new JFrame();
frame.setVisible(true);
}
529デフォルトの名無しさん:2012/01/07(土) 17:07:45.65
>>528
おおこれでできました
public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame frame = new JFrame();
frame.setSize( 300, 200 );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.setVisible(true);
}

疑問なんですが
ttp://java.keicode.com/lib/swing-frame-basic.phpでは
EventQueue.invokeLater( new Runnable() {の中にjframeのコードを書いてますが
この中に書くのと書かない違いはなんでしょうか?
530デフォルトの名無しさん:2012/01/07(土) 17:23:06.72
ためせ
531デフォルトの名無しさん:2012/01/07(土) 17:32:20.73
>>529
純粋にGUIの描画とメインの処理は別スレッドで行うべきという思想だと思う
Swingではたくさんあるコンポーネントの表示とかの処理を
内部でEventQueueに突っ込んでユーザの処理をブロックしないように
別スレッドで順次描画してるから、それに横に倣え習えしてる

あとはXMLDecoderとかでオブジェクトをxmlから読み取ったときとかに、
オブジェクトのリサイズとかの構築処理も別スレッドで行われるから、
全部の構築が終わってから何かしたいっていう時に、
その処理をEventQueueに突っ込んどくと、全部の描画の後に処理を呼び出せる
532デフォルトの名無しさん:2012/01/07(土) 17:55:28.30
>>531
なるほど
ということはEventQueue.invokeLater( new Runnable() {の中に書いたほうがよいかもしれませんね
ありがとうございます
533デフォルトの名無しさん:2012/01/07(土) 18:06:57.59
ttp://kakikake2.wordpress.com/2011/09/22/windowbuilder-2/
を見ながらGUIの作る準備を学びました。
SwingでGUIを作るときにeclipseでは標準でWindowBuilderというのが付いていると知りました

メニューのFile->new->otherを開くとツリーのウィンドウが出てきました
このツリーの中のSwing Designerに
Application Window
JApplet
JDialog
JFrame
JInternalFrame
JPanel
Swing Automatic Databinding
があります。
JFrameとJPanelの違いはググって分かりました。
このサイトではJPanelで作ってますが、Application Windowで作るのと違いはあるのでしょうか?
はじめてのGUI作成なのでラベルを画面に貼り付けて時計を作ろうかと思うのですが
このようとの場合は上記ツリーの中(たぶんApplication WindowまたはJFrame|JPanel)のどれを選択するのが良いでしょうか?
534デフォルトの名無しさん:2012/01/07(土) 18:50:23.07
>>529
http://java.sun.com/javase/ja/6/docs/ja/api/javax/swing/package-summary.html#package_description
仕様に書かれてるのは、SwingUtilities.invokeLater() だけどな
535デフォルトの名無しさん:2012/01/07(土) 19:14:25.86
int x = 100;
System.out.println(x);
これでエラーにならないのは何故ですか?
int x = 100;
System.out.println(x.toString());
って書かなくてもいいのですか?
JavaはPHPみたいに暗黙の型変換があるということでしょうか?
コード作法としてはtoStringで文字列に変換するべきでしょうか?
536デフォルトの名無しさん:2012/01/07(土) 19:17:00.94
>>535
printlnはいろんな型の引数をもつメソッドがオーバーロードされてるんですよ
537デフォルトの名無しさん:2012/01/07(土) 19:24:04.12
このスレって
プログラムが上手く動かないので
どうすれば上手く動くようになるかの質問も
受け付けていますか?
538536:2012/01/07(土) 19:24:15.88
>>535
ここを読んでみましょう
http://www2.ocn.ne.jp/~notes/java/java2-1.html
539デフォルトの名無しさん:2012/01/07(土) 19:26:08.77
>>537
いいんじゃない?
ただし、ソースを強く推奨
540デフォルトの名無しさん:2012/01/07(土) 19:27:10.35
Javaの宿題は宿題スレ
そうじゃないんならいいんじゃない
541デフォルトの名無しさん:2012/01/07(土) 19:34:53.37
>>537
ソース提供は、よめればここ使ってね
http://ideone.com/

languageはJavaを選択
542デフォルトの名無しさん:2012/01/07(土) 20:37:23.03
>>536先生ありがとうございます
なるほどオーバーロードされてるからエラーが出なかったわけですね
勉強になりました
543デフォルトの名無しさん:2012/01/07(土) 21:03:28.30
public class test{
int x = 100;
public static void main(String[] args) {
test t = new test();
t.show();
// System.out.println(x);
}

void show(){
System.out.println(x);
}
}

コメントアウトしたところでエラーになります

何故main関数の中でメンバ変数xが取れないのにshow関数の中では取れるですか?
544デフォルトの名無しさん:2012/01/07(土) 21:05:49.66
staticメソッドの中ではstaticフィールドしか触れないのに
インスタンスフィールドに触ろうとしたから。
545デフォルトの名無しさん:2012/01/07(土) 21:05:58.33
>>543
mainはstaticだから
つか、エラーメッセージに書いてあるだろ。
546デフォルトの名無しさん:2012/01/07(土) 21:14:42.12
Cannot make a static reference to the non-static field x
って書いてありました
これを読めばいいのですね
547デフォルトの名無しさん:2012/01/07(土) 21:27:54.19
22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0
AKB=金正恩

この意味わかるか
AKBという捏造ブームの裏に何があるか見えるか?


548デフォルトの名無しさん:2012/01/07(土) 21:33:15.41
喜び組み
549デフォルトの名無しさん:2012/01/07(土) 21:53:35.34
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

この文の意味ですが、BufferedReaderクラスのインスタンスを
System.inを引数としたInputStreamReaderクラスの引数をいれて生成という意味ですか?
550デフォルトの名無しさん:2012/01/07(土) 21:58:07.45
キーボードから入力したバイト単位のデータを文字として読み込んでバッファにためるためのオブジェクトを生成し、そのオブジェクトにBufferedReader型の変数rでアクセスできるようにする」という意味でした
解決しました
551デフォルトの名無しさん:2012/01/07(土) 21:59:01.74
今日からはじめてばかりなんですがJavaってJavaScriptと似てるところありますね
splitとかreplaceはjavascriptとそのまんまなので学習しやすいです
JavaScriptはJavaを参考に作られてるかなんでしょうかね
552デフォルトの名無しさん:2012/01/07(土) 23:39:39.13
>>537の者です。
それでは質問させていただきます。
javaの勉強として
自分が買った参考書とあるサイトを参考にして
「ボールをたくさん作って壁に当たると跳ね返る」プログラムを作っています。

こちらがメインで動かすメソッド ttp://ideone.com/nsDba
こちらがボールクラス ttp://ideone.com/aIXTH

前にボールを跳ね返る処理を作ったんですが
その時、メインの方にある54行目のclearRectメソッドによって
ボールの軌跡のようなものを消していました。
しかし今回はclearRectメソッドがあるとボールが表示されません。
clearRectメソッドを消すと全てのボールが軌跡を残して動いてしまいます。
全てのボールが軌跡を残さずに動く処理方法を教えていただきたいのです。
お願いします。
553デフォルトの名無しさん:2012/01/08(日) 00:00:52.84
>>552
ボールの描画処理の直前にclearRectを呼べばいい
そうすれば前回ボールの軌跡を消せる
今のまんまじゃせっかく描画したボールをクリアしてるし
ttp://ideone.com/cRdi5
554デフォルトの名無しさん:2012/01/08(日) 00:21:50.66
>>553
ありがとうございました!
上手く表示させることができました。
555デフォルトの名無しさん:2012/01/08(日) 01:00:19.88
>>543
念のため補足するが、
t.xならコンパイルが通る。
556デフォルトの名無しさん:2012/01/08(日) 05:38:35.42
Yahoo検索APIを使ってヒット数を取りたいと考えています。
ttp://developer.yahoo.co.jp/webapi/search/websearch/v2/websearch.html
現状、xmlの取得までは出来ていて、そこからどのようにして検索ヒット数を取り出すかに難儀しています。
(xmlはStringBuilderクラスで1行に結合しています。)

xmlパーサーを使おうと考えていたのですが、こちらのサイトを見るとPerlですが
正規表現で取り出している方がいるようです。
ttp://chalow.net/2009-02-26-1.html

こちらのサイトを見ると
「totalResultsAvailable が検索ヒット数なので、正規表現「/totalResultsAvailable="(\d+)"/」を使えば OK。」
と書かれているのですが、これをJavaで書くにはどのようにしたらよいのでしょうか?
ご教示願います。
557デフォルトの名無しさん:2012/01/08(日) 10:20:48.92
eclipseのJDTの話題はeclipseスレの方がいいですか?やはり。
558デフォルトの名無しさん:2012/01/08(日) 11:10:53.60
>>556
正規表現クラスを使えばよい。
ただしエスケープに注意。

Pattern p = Pattern.compile("totalResultsAvailable=\"(\\d+)");
Matcher m = p.matcher(xml_string);
if(m.find()) System.out.println("hit:" + m.group(1));

559デフォルトの名無しさん:2012/01/08(日) 11:14:40.86
WindowBuilderって楽しいですね
初心者でも楽にGUIが作れるしVC#に慣れてたので助かりました
560473=475=476:2012/01/08(日) 12:28:26.00
>>473
>>475
>>476
↑なんですけど、getは(この場合、poll)できるのですけどput(この場合addやoffer)が出来ないです。
どうすれば、いいのでしょうか?
支援お願いします。
561560:2012/01/08(日) 13:58:01.88
自己解決しました。失礼しました。

コンテナ<? extends Base> = new コンテナ<Sub>();
が通っていたので、よくわからなかったのですけど、継承関係は、
Base
┣? extends Base
┗Sub
なんですね。しかも、?は無名の何かの名前で、出てくるたびに違って、?のコンテナには何も入れれないと。
Baseクラスがabstractだったので、コンテナを生成出来ないと思っていたら、初期化かイニシャライザでコンテナ生成できましたね。
コンテナ<Base> = new コンテナ<Base>(); @ 初期化 or イニシャライザ

で解決くさい。?使うのは関数の引数なんですね。他に用途があればレスもらえるとうれしいです。
562デフォルトの名無しさん:2012/01/08(日) 13:58:03.55
>>558
ありがとうございます。助かります。
563デフォルトの名無しさん:2012/01/08(日) 15:39:42.54
>>496
ある。そのstaticがない版で
インスタンスイニシャライザと呼ばれる
その{}で囲まれた箇所はそのクラスのインスタンスが生成されたときに一番最初に実行される。
static {}はstaticイニシャライザと呼ばれて、そのクラスで初めてstaticなメソッドが実行されたときに
一番最初に実行される
564デフォルトの名無しさん:2012/01/08(日) 15:43:26.52
例外について質問です。現在読んでいる教本のサンプルソースの動作についてです。
このソースの場合はMyCalcクラスのcheckメソッドにおいて、0での除算を行おうとする事によって例外が発生し、
呼び出し元のmainメソッドに戻り、「実行結果は 例外発生 となる」とあります。
例外を呼び出し元に返すためには
void check() throws Exception {
としなければならないのではと思ったのですが、問題ないのでしょうか。
Exceptionならば問題あるけれど、0での除算によるエラー(ArithmeticException)は
非チェック例外のRuntimeExceptionのサブクラスだから
throws〜の記述が無くてもきちんと動くという認識で良いのでしょうか?

class Sample {
 public static void main(String[] args){
  try{
   MyCalc mc = MyCalc();
   mc.check();
  }catch(Exception e){
   System.out.println("例外発生");
  }
 }
}

class MyCalc{
 void check(){
  int a = 5 / 0;
  System.out.println("開始");
 }
}
565デフォルトの名無しさん:2012/01/08(日) 16:29:08.56
>>563
修飾子ついたら初期化子にならんだろ。
566デフォルトの名無しさん:2012/01/08(日) 16:34:05.04
>>564
> 非チェック例外のRuntimeExceptionのサブクラスだから
> throws〜の記述が無くてもきちんと動くという認識で良いのでしょうか?
yes
567デフォルトの名無しさん:2012/01/08(日) 16:55:55.06
Mobile Suit Zeta Gundam 29
568デフォルトの名無しさん:2012/01/08(日) 17:13:08.63
eclipseで勝手にimportしてくれるのを停止させることって出来ますかね。
それが困るような設計しているのがまずいのかな。
569デフォルトの名無しさん:2012/01/08(日) 17:17:16.65
abstractなメソッドを継承先で書くことって、
オーバーライドではなくて実装というのですか?
@Override書いたら、eclipseが何か言ってたもので。コピーできないのでコピペできない。
570デフォルトの名無しさん:2012/01/08(日) 17:31:24.52
>>568
Window->Preferences->Java->Editor->Content Assist
Add import instead of qualified name

間違ってたらごめんね
571デフォルトの名無しさん:2012/01/08(日) 17:44:44.01
byte[]からbyte[]へのエンコードってどうやればいいですか?
572デフォルトの名無しさん:2012/01/08(日) 17:47:00.51
>>569
http://java.sun.com/docs/books/jls/third_edition/html/classes.html#8.4.8
言語規定には他のクラスのabstractなメソッドを継承して
abstractでないメソッドで上書きする事を「実装する」と言うと書いてある。

JDK1.5の@Overrideは実装者が融通が利かなかったのか知らんが、
interfaceのメソッドを実装するとき@Overrideつけると警告だかエラー吐いた。
JDK1.6以降だとOKになった。
コンパイラのJDK準拠レベル変えてみたら?
573デフォルトの名無しさん:2012/01/08(日) 18:31:40.46
for文って{}を省略できますか?
574573:2012/01/08(日) 18:51:35.93
1文なら省略できるんですね
解決しました
575デフォルトの名無しさん:2012/01/08(日) 18:53:25.19
if文も、1文なら省略できるお
576デフォルトの名無しさん:2012/01/08(日) 18:58:08.19
DatagramPacketWrapper
┗java.net.DatagramPacket data
というDatagramPacketWrapper型を宣言して、
data == null
のDatagramPacketWrapper(!=null)をコンテナに入れたら、
NullPointerExceptionがスローされました。
外側のデータがあるので、問題ないかなと思ったのですけど、
Javaのコンテナではこういう場合もNullPointerExceptionにするってのが文化なのですか?
今解析中なので原因は別かもしれません。
577デフォルトの名無しさん:2012/01/08(日) 18:59:59.78
>>570
ありがとうございます。助かりました。
578デフォルトの名無しさん:2012/01/08(日) 19:12:23.86
震災前

     /::::::::::::::::::::::::::::::;;::ノ ヽ;::\
    /::::::::;;;;;;;;;,,,;;...-‐''"~    ヽ:;::l
     |:::::::::::|    岡田 異音    |ミ|
     |:::::::/     ,,,  ヽ,、   '|ミ|  
     '|:::::::l    '''""   ゙゙゙゙`   |ミ|
       |:::::|.  ,,r ‐、   ,, - 、  |/
     ,/⌒|  ノ ・ _), (. ・ `つ|
     | (   "''''"    |"'''''"  | 
      ヽ,,.        ヽ    |
       |       ^-^_,, -、   |   
         |    _,, --‐''~    ) |  マニフェストもう守れない。どうしよう・・・・ 
         'ヽ  (   ,r''''''‐-‐′ / 


震災後

     |:::::::::/            |ミ|
     |::::::::|   ,,,,,    ,,,,,   |ミ|
     |彡|.  '''"""''   ''"""'' |/
     /⌒|  -=・=‐,   =・=-  |
     | (    "''''"   | "''''"  |  
     .ヽ,,         ヽ    .|  キリッ
        |       ^-^    |
   .     |     ‐-===-   |   大震災が起こったのだからマニフェストの破綻も致し方ありません
         ,\.    "'''''''"   / 
朝鮮民主党
     おわり
579576:2012/01/08(日) 19:22:24.77
>>576
すみません。
コンテナの本体を実体化していませんでした。お騒がせしました。

とろろで、ご存知の方教えてほしいのですけど、↑のような書き込みって、定時スクリプトかなんかなのでしょうか?
プログラミング板しか来ないので良く知らないのですけど。
580デフォルトの名無しさん:2012/01/08(日) 19:49:22.97
>>579
いや、他の板にも来てるよ同じの
スクリプトなんじゃね?
581デフォルトの名無しさん:2012/01/08(日) 19:54:05.15
おまえの日記じゃない
って感じの書き込み急に増えたな
582デフォルトの名無しさん:2012/01/08(日) 22:28:26.43
近頃、Apache Mavenの情報が少なすぎる気がするけど
Maven使ってる人って少ないのかな?
583デフォルトの名無しさん:2012/01/09(月) 00:38:44.52
>>581
深淵を覗くとき、深淵もまたこちらを覗いているのだ
584デフォルトの名無しさん:2012/01/09(月) 00:48:49.07
>>583
地球が林檎を引っ張るとき、林檎もまた地球を引っ張っているのだ。
585デフォルトの名無しさん:2012/01/09(月) 00:50:10.49
うむ
全ては相対的なのだ
586デフォルトの名無しさん:2012/01/09(月) 01:05:51.73
>>583
ロバは「さようさよう」といなないた。
587デフォルトの名無しさん:2012/01/09(月) 01:34:20.20
>>583
電車が100kmで走るとき、私も100kmで走っているのでしょうか!
588デフォルトの名無しさん:2012/01/09(月) 01:47:19.50
>>587
「私」は電車に乗ってんの?それとも超人的な並走を魅せてるの?w
589デフォルトの名無しさん:2012/01/09(月) 02:27:20.91
そんなJavaとは関係ない話どうでもいいからさあ

Apache Maven使ってる人はいないの?
590デフォルトの名無しさん:2012/01/09(月) 02:42:15.15
質問なのですが
Javaで
if 10 in [10,20,30]

のような良い方法はないでしょうか?
よろしくお願いします。
591デフォルトの名無しさん:2012/01/09(月) 02:47:23.80
>>588
わたしはもちろん寝ています。夜ですから
592デフォルトの名無しさん:2012/01/09(月) 06:15:36.15
【ソウル聯合ニュース】国策シンクタンクの韓国開発研究院(KDI)は8日に公表した経済動向報告書で、
韓国経済の成長が輸出・内需ともに鈍化していると評価した。

 前年同月比の輸出増加率をみると、12月は12.5%で前月(13.8%)よりやや悪化した。11月の
消費販売額指数は0.5%増にとどまり、前月の増加率(2.2%)を下回った。

 産業生産は鉱工業、サービス業がともに振るわず、前月より減少した。また、需要不振などで在庫が
拡大して生産増加の制約要因に作用すると、KDIは予想した。

 設備投資は前月と比べれば、減少幅がやや改善したが、全般的に不振が続いている。回復ペースを
見せていた建設投資も足踏み状態にある。

 KDIは先進国一部の景気指標がやや改善したが、成長鈍化や財政危機などで下振れリスクが依然
として残ると指摘した。


聨合ニュース: 2012/01/08 14:03
http://japanese.yonhapnews.co.kr/economy/2012/01/08/0500000000AJP20120108000900882.HTML
593デフォルトの名無しさん:2012/01/09(月) 09:01:00.73
>>590
if( java.util.Arrays.asList( new int[]{ 10, 20, 30 } ).contain( 10 ) )
{
}
594デフォルトの名無しさん:2012/01/09(月) 10:25:00.00
名無しでいいよ:2011/08/15(月) 23:20:15.53 ID:2fed4jwtO
FNS歌謡祭やHEY!×3の制作会社
株式会社CELL
東京都千代田区麹町2―2―4麹町YTビル

前バリ・REN4・野田らに政治献金した後藤組のフロント企業
メディアトゥエンテイワン
東京都千代田区麹町2―2―4麹町YTビル


595デフォルトの名無しさん:2012/01/09(月) 11:37:39.26
GUI初心者です
5日でラーメンタイマーを作れました
他にも何か作りたいのですがネタが浮かびません
初心者用のネタありませんか?
596デフォルトの名無しさん:2012/01/09(月) 11:43:17.79
>>593
それだと asList で作られるのが List<int[]> になるからダメだな。
if (Arrays.asList(10, 20, 30).contains(10)) とかにしないと。
597デフォルトの名無しさん:2012/01/09(月) 11:45:07.43
マインスイーパーとか電卓とかエディタとか2chブラウザとかTwitterクライアントとかFacebookクライアントとかでも作れば?
598デフォルトの名無しさん:2012/01/09(月) 11:46:52.38
>>595
カレンダーあたりとか。
599デフォルトの名無しさん:2012/01/09(月) 11:56:52.41
Ubuntuで動作させるJavaプログラムにたいして、
Windowsで動作させるJavaプログラムから、命令を出したり、
情報を取得したりするには、Socketを勉強しなきゃだめですか?
もっと高級なライブラリはありませんか?
600デフォルトの名無しさん:2012/01/09(月) 12:00:01.75
>>597-598
ありがとうございま
カレンダーあたりで何か作りたいと思います
その次に電卓に挑戦してみたいと思います
601デフォルトの名無しさん:2012/01/09(月) 17:43:48.85
すいません.ArrayListに自作クラスのtestStringを追加して,
getWord()を使ってwordを取って表示したいんですが,次のやり方だと
nullが返ってきてしまいます.どなたかやり方を教えてもらいたいです

import java.util.ArrayList;

public class test{
  public static void main(String[] args){
    ArrayList<testString> al = new ArrayList<testString>();
    al.add(new testString("hoge"));

    System.out.println(al.get(0).getWord());
  }
}

class testString{
  String word;

  testString(String st){
    word = st;
  }

  String getWord(){
    return word;
  }
}
602デフォルトの名無しさん:2012/01/09(月) 17:52:43.94
>>601
それだけなら、ちゃんと hoge って表示するはず。
603デフォルトの名無しさん:2012/01/09(月) 18:47:32.36
>>602
なるべく単純化した上の形で出来ないので正直お手上げなんです
javaはversion "1.6.0_24"です
604デフォルトの名無しさん:2012/01/09(月) 18:50:11.22
どうでもいいが、気持ち悪いネーミングだな
605デフォルトの名無しさん:2012/01/09(月) 18:52:38.95
>>603
日本語でおk
606デフォルトの名無しさん:2012/01/09(月) 19:02:38.69
>>603
できてるじゃん
ttp://ideone.com/RvABz
607デフォルトの名無しさん:2012/01/09(月) 19:13:07.01
>>606
本当だ…。自分の環境だとnullなんですが,環境の問題なのかなぁ…
原因がわかったら報告します
608デフォルトの名無しさん:2012/01/09(月) 20:34:28.11
勉強しているけど、hash周りってそんなに重要なん?
609デフォルトの名無しさん:2012/01/09(月) 20:43:10.59
別に
効率の良いハッシュ関数っていうのは考えたらわりと面白いし分かりやすいテーマだからみんな語りたがるけど
使われ方にもよるので一概にどうすればいいと言えるもんじゃないからそんな神経質にならなくていいよ
610デフォルトの名無しさん:2012/01/09(月) 20:43:48.17
ハッシュって何?ポテト?
611デフォルトの名無しさん:2012/01/09(月) 22:18:58.96
ハッシュ関数ってプログラミングというよりは数学の問題だよね。
612デフォルトの名無しさん:2012/01/09(月) 22:24:07.18
実際の効率となると元のデータの性質や分布に激しく依存するから
そんな単純な数学の問題というわけでもない
613デフォルトの名無しさん:2012/01/09(月) 22:26:22.52
つまり数学の問題だな
614デフォルトの名無しさん:2012/01/09(月) 22:27:18.08
>>593-596
返信遅くなりましたがご回答ありがとうございました!
615デフォルトの名無しさん:2012/01/09(月) 22:32:23.87
コンストラクタの中にSystem.out.println("テスト");と書いても、String@ハッシュ値と戻り値にならないのは、
Stringクラスの中のtoStringがオーバーライドされているからですか?

また、System.out.println("テスト")というのは、"テスト"というインスタンスが生成されてるのは分かりますが、
クラスはどこにあるのでしょうか?

616デフォルトの名無しさん:2012/01/09(月) 22:34:43.48
ファイルとフォルダ一覧を取得するときにこのように書いてます
String path = "C:\\";
File dir = new File(path);
File[] files = dir.listFiles();
for (File file : files) {
if (!file.isHidden()) {
System.out.println(file);
}
}

ファイルやフォルダの数が多い場合も考えてなるべくforの中でifで隠し属性か判定して出力させる方法を改善したいのですが
File dir = new File(path);
File[] files = dir.listFiles();
の辺りで隠し属性を省いて取得できませんか?
617デフォルトの名無しさん:2012/01/09(月) 22:38:26.52
>>607
簡略化する前のコードがどこかで
非同期処理によってsychronizedになっていない箇所があるか、
変数名のスペルミスで違う変数に代入しているとかが怪しいな

Findbugsとかでコード検査してる?


昔の話だけどJDK1.3でhelloworld程度がうまく動かない問題が発生したことがあって
何度やってもおかしいなって話があって、調べている間にJDKを再インストールしたら直ったことがある。
10年も昔の話だからあてにならないかもしれないけどね。
618デフォルトの名無しさん:2012/01/09(月) 22:41:39.50
>>608
Object#hashcode()なら
自作しておけば不変クラスやコレクション系ではパフォーマンス上がることがあるし
作っておいて損はないな。

俺は自作しないでApache Commons LangのHashCodeBuilderをそのまま使ってるけど。
619デフォルトの名無しさん:2012/01/09(月) 22:48:23.87
eclipseで自動生成しとるわ>hashcode
620デフォルトの名無しさん:2012/01/09(月) 23:18:17.87
>>616
1.6以前なら java.io.FileFilter で我慢。
FileFilter excludeHidden = new FileFilter (){
public boolean accept (File f) { return !f.isHidden(); }
};

for (File file : new File("C:\\").listFiles(excludeHidden)) {
System.out.println(file);
}

1.7以降なら java.nio.file.DirectoryStream も使える。

DirectoryStream.Filter<Path> excludeHidden =
new DirectoryStream.Filter<Path>(){
public boolean accept(Path path) throws IOException {
return !Files.readAttributes(path, DosFileAttributes.class).isHidden();
}
};

try (DirectoryStream<Path> ds = Files.newDirectoryStream(Paths.get("C:\\"), excludeHidden)) {
for (Path path : ds) System.out.println(path);
}
621デフォルトの名無しさん:2012/01/09(月) 23:22:52.42
>>619
今のEclipseってVanillaでそんな便利な自動生成機能がついたんだっけ?

昔はCommons4eというプラグインをインストールして自動生成していた記憶があるけど
622デフォルトの名無しさん:2012/01/09(月) 23:25:04.44
>>620
ありがとうございます
以前勧められて1.6を利用してますが両方とも参考にさせていただきました
623デフォルトの名無しさん:2012/01/09(月) 23:37:42.03
指定したパスのひとつ上の階層のパスを取得したいのですがコードの実行結果が以下です
C:\test\java\src\..
求めている結果はC:\test\javaなんですが
コードはttp://d.hatena.ne.jp/tilfin/20070502/1178288324の通りに下記のように書きました
String filePath = new File("C:/test/java/src", "../").getPath();
System.out.format(filePath);

C#のcombineのように例えば特定のパスに"../"や"folder"を与えてあげると
返ってくる結果は絶対パスで返せませんか?

oracleのhttp://docs.oracle.com/cd/E26537_01/tutorial/essential/io/pathOps.html#resolveも参考にして
Path p1 = Paths.get("/home/joe/foo");
System.out.format("%s%n", p1.resolve("bar"));
も試してみましたがこちらは1.6では動かない?のでこの方法はあきらめました
624デフォルトの名無しさん:2012/01/09(月) 23:49:43.66
>>621
Java7以降ならObjects#equalsやObjects#hashCodeが標準で使えて便利になった
まぁまだJava7は普及してないけどな・・・
625623:2012/01/10(火) 00:03:09.68
これでいいのかわかりませんがgetParent()とgetPath()を使って解決しました
626デフォルトの名無しさん:2012/01/10(火) 00:05:54.71
Windowsのcmd.exeから
 java.exe Hoge *
ってやると、argsにワイルドカード展開された結果が格納されてしまうのですが、
ワイルドカード展開を抑止する方法はないでしょうか? "*" とやっても展開されて
しまうようです。。
627デフォルトの名無しさん:2012/01/10(火) 00:10:49.16
>>626
良くわからんがそれはJavaじゃなくてcmd.exeの挙動なのでは。
手元にWindowsが無いから知らんがシングルクォートで囲めばよかったはず。
628デフォルトの名無しさん:2012/01/10(火) 00:25:43.21
cmd.exeはUNIX系のシェルなんかとは違ってワイルドカード展開とか一切しないよ
クォート文字も含めて単一の文字列引数として渡すだけ。
この場合はJRE側で分割されてる
629デフォルトの名無しさん:2012/01/10(火) 00:51:50.45
すみません教えてください。

cmecabで形態素解析するjavaプログラムcmecab.javaのコンパイルは通るのですが以下のエラーメッセージが出て出力できません。

Exception in thread "main" java.lang.NoClassDefFoundError: cmecab
Caused by: java.lang.ClassNotFoundException: cmecab
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: cmecab. Program will exit.

環境は
[OS]windows7
[mecab]0.98(辞書はjavaに合わせてutf8形式)
[jdk]1.6.0_26
[cmecab]1.6を使用しています。

cmecab.javaのプログラムは次レスに投稿します。

ちなみにmecabをコマンドで実行して解析したら品詞情報だけが全て文字化けします。
でもutf8で保存したテキストファイルをテキストファイルに出力するときちんと形態素解析がされています。
630デフォルトの名無しさん:2012/01/10(火) 00:52:43.78
なんか最近質問が多いけど卒論シーズンとかそういう関係かな?
631デフォルトの名無しさん:2012/01/10(火) 00:56:09.03
cmecab.java(保存形式はshift-JIS)
改行が多くて投稿できないので二つに分割します。
import net.moraleboost.mecab.Tagger;
import net.moraleboost.mecab.impl.StandardTagger;
import net.moraleboost.mecab.Node;
import java.io.*;
import java.util.*;
import java.lang.*;
public class cmecab{
public static void main(String[] args) throws Exception{
// 引数が無い場合はヘルプを表示
if (args.length == 0) {
System.out.println("使用方法: java cmecab [入力テキストファイル名]");
return;
}
632デフォルトの名無しさん:2012/01/10(火) 00:57:03.31
>>631の続き
// バージョン文字列を取得
System.out.println("MeCab version: " + StandardTagger.version());
// 入出力ファイルの設定
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(args[0]), "UTF-8"));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("cmecab-output.txt"), "UTF-8"));
String text = "";
while((text = br.readLine()) != null){
// Taggerを構築。
// 第一引数には、MeCabの辞書の文字コードを与える。
// 第二引数には、MeCabのcreateTagger()関数に与える引数を与える。
Tagger tagger = new StandardTagger("UTF-8", "");
// tagger.parse()を呼び出して、文字列を形態素解析する。
// 返されるオブジェクトは、Iterator<String>を実装している。
Node node = tagger.parse(text);
// 一つずつ形態素をたどりながら、表層形と素性を出力
while (node.hasNext()) {
String surface = node.next();
String feature = node.feature();
bw.write(surface + "\t" + feature +"\n");}
// taggerをクローズ
tagger.close();}
br.close();
bw.close();
}
  }
633デフォルトの名無しさん:2012/01/10(火) 02:21:36.54
ジャバラーの皆さんは当然のように
Javaneseも使いこなすの?
634デフォルトの名無しさん:2012/01/10(火) 02:22:14.22
>>631
shift-JISなんてありません
635デフォルトの名無しさん:2012/01/10(火) 02:24:41.56
>>623
Fileを使うときはgetCanonicalFile(), getCanonicalFilePath()で絶対パスが取れる
String filePath = new File("C:/test/java/src", "../").getCanonicalFilePath();

ていうか,ずばりそのままgetParent()とかgetParentFile()があるし
636デフォルトの名無しさん:2012/01/10(火) 02:26:00.31
>>629-632
情報たりてないよ?
そして、それが原因
637デフォルトの名無しさん:2012/01/10(火) 02:35:52.76
>>629
そもそもcmecabのライブラリ、きちんと通せてる?
こいつはjar突っ込むだけじゃあかんよ?
638デフォルトの名無しさん:2012/01/10(火) 02:36:32.12
そろそろ>>1のテンプレに長いコードはgistとかに貼れって書いた方がいいんじゃまいか?
639デフォルトの名無しさん:2012/01/10(火) 02:37:55.51
他スレではとうの昔に書かれてるのにな
640デフォルトの名無しさん:2012/01/10(火) 02:42:03.64
親と子が居て、


 子に仕事を頼みます。
 子が結果を返すまで待機します。


 頼まれた仕事をします。
 結果を親に報告します。

といった同期処理が必要なんですけどこういうのってBlockingQueueを使うのが一般的なんでしょうか?
wait/notifyを使うと、親がwaitする前に子がnotifyしてしまって空振りみたいになってちゃんと動かない場合があります。

でも同期のためだけに仕事を頼む度に要素数1のBlockingQueueを生成することに何か違和感を感じます。
641デフォルトの名無しさん:2012/01/10(火) 02:44:05.46
>>624
ほうほう、これは便利だ、commonclipseプラグインもcommons4eプラグインももはや時代遅れな時代になりつつあるのか。
http://d.hatena.ne.jp/chiheisen/20101120/1290272761



Apache Commons Langのこのパッケージもほぼいらなくなり、CommonclipseもCommons4Eもいらなくなっていくとは。
http://commons.apache.org/lang/api-3.1/org/apache/commons/lang3/builder/package-summary.html
642デフォルトの名無しさん:2012/01/10(火) 02:56:42.41
>>640
親と子1対1ならコールバックさせればいいんじゃない
643デフォルトの名無しさん:2012/01/10(火) 03:31:04.63
SwingでactionPerformedの中でnew JDialog(...)してsetVisible(true)すると、
そこで処理が止まっちゃうんだけど、どうしたらいいの?

class HogeListener extends MouseAdaptor {
 public voud actionPerformed(...) {
  PiyoDialog dialog = new PiyoDialog(...);
 }
}
class PiyoDialog extends JDialog {
 public PiyoDialog(...) {
  ...
  setVisible(true);
 }
}
644629:2012/01/10(火) 03:33:17.40
>>634
shift_jisですね。すみません間違えました。

>>636
具体的にどのような情報が足りていないのでしょうか?

>>637
はい。cmecab-1.6.jarとprotobuf-java-2.1.0.jarはCLASSPATHに通してます。
後、cmecab.dllもpathが通っているjdkのbinフォルダに置いています。
645デフォルトの名無しさん:2012/01/10(火) 04:06:08.54
>>644
swig使えてInputStreamReaderすらググらないのが意味不明
"UTF-8" -> "JISAutoDetect"
646デフォルトの名無しさん:2012/01/10(火) 04:13:22.11
すまない、全然関係ないな
コマンドラインはどういう指定になってるの?
647デフォルトの名無しさん:2012/01/10(火) 04:26:11.83
>>644
エラーでcmecabが見つからないと言ってるのに、通せてないとはこれっぽっちも思わないの?
648デフォルトの名無しさん:2012/01/10(火) 04:47:18.68
実際、私がcmecab入れた時に全く同じエラーで苦しんだだけなんだけどw
その時の原因が、libcmecab.so(windowsだと〜.dllになるのかな?)のパスが通ってなかっただけだった。
(置き場に突っ込んだだけでは駄目で、明示的に指定してやっと通った。)

私はunix環境だったからwindows環境でどうなるのかは全然わからないし、
参考にならないかもしれないから詳細はggってね。
649デフォルトの名無しさん:2012/01/10(火) 04:49:08.85
今日も朝からレッドブル確定か
650デフォルトの名無しさん:2012/01/10(火) 05:53:35.18
エラーがでたならその入力をそのまま示してくれんとわからんでそ。
「ちゃんとやりました」ほどあてにならんものは無い。
パソコン初心者が「何もやってないのに動かなくなった」←実はやった
というのと同じ。
651デフォルトの名無しさん:2012/01/10(火) 06:22:29.06
>>650
原因は分かってるんだけど、多分629さんは「出来てる」と思い込んでるからやろうともしないんじゃないかな。

>>629
Exception in thread "main" java.lang.NoClassDefFoundError: cmecab
Caused by: java.lang.ClassNotFoundException: cmecab
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: cmecab. Program will exit.
がエラーメッセージなんだけど、NoClassDefFoundError: cmecabが出てる時点でクラスパス通せてないのは明らかなのに、
それを指摘した>>637に対する応答が、>>644でしょ?w

解決策教えてくれてるのにこの人調べる気皆無www
652デフォルトの名無しさん:2012/01/10(火) 07:46:13.21
eclipseでJavaしてるのですけど、プロジェクトのアンロードやリロードってどうやるの?
アンロードというか、パッケージエディタに表示しなくする方法はわかるけど、
その後に再度含ませる方法がわからない。

VC++みたく、プロジェクトの存在自体は表示しつつ、中身の表示は出来なく出来れば最高だけど、ここまでは求めていない。
653デフォルトの名無しさん:2012/01/10(火) 07:48:54.74
「プロジェクトを閉じる」のことか?削除はするなよ。
654デフォルトの名無しさん:2012/01/10(火) 07:52:34.57
再表示はインポートすればいい
655デフォルトの名無しさん:2012/01/10(火) 08:30:12.44
年明け早々、JPCERTが
.NetやPHPやRubyのハッシュに脆弱性があるといってるんだが、
なぜJavaのハッシュは大丈夫なのか、誰か解説してくれ

どんな工夫しようが、衝突狙った悪ふざけは回避不可だよな?
656デフォルトの名無しさん:2012/01/10(火) 09:20:58.90
>>655
各言語について、今回の脆弱性の説明が書いてあるソース
ttp://www.nruns.com/_downloads/advisory28122011.pdf

Javaもアウトってことみたいだ。
HashMapもHashtableも、内部でString.hashCode()を使ってるけど、
そのアルゴリズムでDJBX33Aに似たもの(乗算する際の定数が違うだけ)を使っていて、同じ脆弱性が存在するみたい。
ハッシュ値が0になる場合のみ処理を変えてるみたいで、
そこを突かれるとハッシュ値のキャッシュを妨害したり、強制的にre-hashさせることでCPUが過負荷になるってことかな?
657デフォルトの名無しさん:2012/01/10(火) 09:22:43.60
>>655
これか?
http://jvn.jp/cert/JVNVU903934/

リクエスト文字列だけからString#hashCode() でハッシュ値生成してたらアウトじゃね?
例えばプロセス固有の値をキーにリクエスト文字列を暗号化、
その後暗号化したリクエスト文字列からString#hashCode()でハッシュ値生成とかすりゃいいような。
658デフォルトの名無しさん:2012/01/10(火) 09:25:08.26
>>655
補足すると、やばいアタック速度は
PHP5: 70-100 kbit/s
ASP.NET: 30 kbit/s
Java: 6 kbit/s
Python: 20 kbit/s
Ruby: 850 bit/s

ってことで、RubyとJavaが特に弱そう。
659656:2012/01/10(火) 09:33:27.51
>>655
Javaの StringクラスのHash値計算を見てみると、
s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1]
でやられてるけど、このhash値が0になるときだけ
for (int i = 0; i < len; i++) {
 h = 31*h + val[off++];
}
というように文字列off文字分ずらしてハッシュ値の再計算をしているみたい。
これが重なりまくってCPUどっかんってことかな?
660デフォルトの名無しさん:2012/01/10(火) 09:39:37.45
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している

野田内閣は過半数が帰化人

野田はどうだろうか
韓国人から賄賂を貰い、韓国人の集いに出席している野田は
661デフォルトの名無しさん:2012/01/10(火) 10:01:25.92
Stringのハッシュ値0の場合が
「ハッシュ値はあとで遅延評価する」フラグになってるのかよひどいな
booleanフラグ付けとけよ。
662デフォルトの名無しさん:2012/01/10(火) 11:29:07.64
HashSetやHashMapって、結局
equalsやhashcodeのオーバーライド次第でハチャメチャになるんだな

お前らこういう感じにオーバーライドをしろよ〜って
で、真偽判定して使えよ〜

って事?
663デフォルトの名無しさん:2012/01/10(火) 13:22:28.12
最初は0
hashCodeのinvoke時は0の時未計算とみなして遅延ハッシュ計算
ハッシュ化後も0になるような文字列の場合は常に再計算
664デフォルトの名無しさん:2012/01/10(火) 14:28:55.39
JavaってやっぱLLと比べると相当習得まで時間かかんの?
JavaScriptとPHPだけ使えるんだけどJavaも興味でてきた。
665デフォルトの名無しさん:2012/01/10(火) 14:32:43.66
>>664
物凄い簡単
俺もCしかやったことなかったけど、1か月で普通に書けるようになってた。
666デフォルトの名無しさん:2012/01/10(火) 14:43:02.49
低レベルはC程度の知識は必須だけど、
ライブラリ使うだけならJavaScriptより簡単
667デフォルトの名無しさん:2012/01/10(火) 15:02:39.56
>>665
そうなん?でもCしかって言うけどCが解る時点でLL使いよりかなり下地が出来てる気がする。
>>666
プログラム言語のwikiみたいなので↓の文を読んでたら難しそうな気がしてさ。
"いきなりC系から入るとポインタで挫折する人が多いが、Javaにはそれが表面上はない分いくらかは初心者向き。
ただし、実際は裏に隠れているので、ポインタの概念が全くわからないとオートボクシングのあたりで痛い目に遭うことも多い。
"ぬるぽ"の本場である。思う存分"ガッ"して欲しい。そして反省しろ。"
668デフォルトの名無しさん:2012/01/10(火) 15:14:47.26
LLってのは別に「習得が容易な言語」ではないと思うけど
そしてJavaがそれらと比べて異常に難しいとも思わない
669デフォルトの名無しさん:2012/01/10(火) 15:18:00.45
そこそこ書くなら簡単だが

boxing
例外
Stream(直列化)
スレッド
Collection&ジェネリックス

ここら辺で頭が痛くなってきた
670デフォルトの名無しさん:2012/01/10(火) 15:26:59.55
サンクス。JAVAやってみるかな。
オライリーのHead First Javaという本が気になっている。
headrushAJAXがアメリカンジョーク付きで解説されてて面白かったから似たような感じなら買ってみたい。
671デフォルトの名無しさん:2012/01/10(火) 15:28:40.64
Javaは言語自体は結構洗練されてるし、難しくはないよ
オートボクシングでポインタが絡む意味もよくわからない
LLの型安全とほとんど同じ考えのような
672デフォルトの名無しさん:2012/01/10(火) 15:45:00.95
LLって何?
673デフォルトの名無しさん:2012/01/10(火) 15:51:23.15
>>672
田舎者のジャーゴン
http://ja.wikipedia.org/wiki/%E8%BB%BD%E9%87%8F%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E

英語で言うLightweight programming languageではない。
674デフォルトの名無しさん:2012/01/10(火) 15:53:33.22
Lightweight Language
昔はLLって言ったら構文解析だったのにな
675デフォルトの名無しさん:2012/01/10(火) 16:48:18.71
ほ〜
LLってそういう意味で、解釈が日本と海外では正反対なんだな
676デフォルトの名無しさん:2012/01/10(火) 16:49:43.50
Maven3.0.3でリポジトリからライブラリをダウンロードできなくて困っているんですが
どなたか解決できる方法知ってる方います?
ダウンロードが途中でフリーズしてしまいます。
とくにエラーメッセージはありません。
プロキシも使用していません。
677デフォルトの名無しさん:2012/01/10(火) 20:43:13.53
2つのテキストファイルが同一の内容かチェックしたいのですが、
単純にすべて1行ごとに内容が同じかチェックして判定するしかないのでしょうか?
便利なクラスがあって、ファイル名を指定すればチェックしてくれたりするのでしょうか?
678デフォルトの名無しさん:2012/01/10(火) 20:48:45.49
>>677
たぶんないけど、nio使えば数行でそれなりな速度で済むと思う
679デフォルトの名無しさん:2012/01/10(火) 21:19:49.58
>>677
標準だと便利メソッドはなかったはず。
commons io 使っていいならならorg.apache.commons.io.FileUtils#contentEquals(File, File)
文字コード違う場合も考慮するなら、もうちっと手間がかかる。
改行コード違う場合も考慮するなら、更に手間がかかる。
680デフォルトの名無しさん:2012/01/10(火) 21:57:07.15
ファイル内の文字列やらネットワークから送られてきた文字列やらで示される
(static)メソッドを別プロセス・スレッドとして起動できるだろうか?
ファイルシステムによらず、アプリケーション一式の中にあるpublic static void main(String[] args)を起動する、みたいな。
環境に依存しないことを目指したJava的にはそんなのがあるんじゃないかなぁ、と妄想してみたが検索しても見つけられなかった。

もしあるとすると、何と言う文字列でぐぐればいいだろうか。
リフレクションというものを見つけて今読んでいるところなのだけど、コレはプロセスは別ではないのかな?と今は思ってる。
リフレクションで出来るだろうか。
681デフォルトの名無しさん:2012/01/10(火) 22:22:03.80
>>678,679

なるほど、ioのライブラリを使えばいいんですね。これなら一発でいけそうです。
ありがとうございます。

682デフォルトの名無しさん:2012/01/10(火) 22:39:06.50
683デフォルトの名無しさん:2012/01/10(火) 22:41:55.37
staticはちょっと工夫が必要かも。
684デフォルトの名無しさん:2012/01/11(水) 03:05:46.95
マインスイーパーのようなものを作っていて、シフトキーを押しながらクリックしたときに
ボタンに『P』を表示させようと思い、以下のようなコードを書いたのですが、シフトを押しながらクリックしてもただのクリックのような動作(コードでいうとelse以下)になってしまいます。
もし、よろしければどなたかご教授お願いできないでしょうか?
public void actionPerformed(ActionEvent e){
for(i=0;i<9;i++){
if(e.getSource() == cButton[i]){
cButton[i].addMouseListener(new MouseAdapter(){
public void mouseClicked(MouseEvent e){
if((e.getModifiers() & InputEvent.SHIFT_DOWN_MASK) != 0){
cButton[i].setLabel("P");
}else{
dl.show();
for(i=0;i<clearNumber;i++){
cButton[i].setText("*");
cButton[i].setBackground(Color.RED);
cButton[i].setEnabled(false);
}
for(i=0;i<buttonNumber;i++){
mButton[i].setEnabled(false);
}
}
}
});
}
}
685デフォルトの名無しさん:2012/01/11(水) 05:34:58.33
>>684
コードの意味がわからないけど、こういうこと?

public void actionPerformed(ActionEvent e){
Object src = e.getSource();
for(i=0;i<9;i++){
if(src.equals(cButton[i])){
  if(( e.getModifiers() & InputEvent.SHIFT_DOWN_MASK) != 0){
    cButton[i].setLabel("P");
  }else{
    dl.show();
    for(i=0;i<clearNumber;i++){
     cButton[i].setText("*");
     cButton[i].setBackground(Color.RED);
     cButton[i].setEnabled(false);
    }
    for(i=0;i<buttonNumber;i++){
     mButton[i].setEnabled(false);
    }
  }
  }}}
686デフォルトの名無しさん:2012/01/11(水) 08:20:12.52
>> 685
ごめんなさい、そうです。
687デフォルトの名無しさん:2012/01/11(水) 09:37:57.85
初心者がいきなりJavaの知識もないのにandroidアプリ開発をするのはキツイですか?
688デフォルトの名無しさん:2012/01/11(水) 09:41:18.08
>>687
そりゃJava知ってた方がいいけどAndroidやりたいからJavaアプレットからってのは迂遠な気がする
689デフォルトの名無しさん:2012/01/11(水) 10:00:40.96
Korean Kickboxing Kyuktooki documentary    ★高評価 132 人 ★低評価 12,521 人
http://www.youtube.com/watch?v=qflIr2oOpf4
>朝鮮人「これが”コリアン・キックボクシング”ニダ!」→タイ人「どうみてもムエタイじゃねーか!」
http://halto112.blogspot.com/2011/08/blog-post_16.html
690デフォルトの名無しさん:2012/01/11(水) 10:08:51.63
sortする時のcompareToは何を基準に大きい小さいを判断しているのでしょうか?

こういう文字列の場合で

"AAA"
"CCC"
"BCA"
691デフォルトの名無しさん:2012/01/11(水) 10:30:46.66
>>690
http://java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html#compareTo(java.lang.String)

辞書的の順序の定義を示します。以降を読め。
692デフォルトの名無しさん:2012/01/11(水) 10:58:45.63
PHPしかできません
PHPの関数を全て把握している訳ではないのですがマニュアルからやりたい事を調べてコードが書ける程度です
Javaも基本的な文法を覚えて後はマニュアルみながらやりたい事を調べてコードが書きたいのですが
日付を表示する方法などは「java 日付」でググるとたくさんページがヒットしてコードもすぐ手に入りますが
そうじゃなくてマニュアルを見て使い方を知る方法が知りたいです
簡単なものだとググればすぐ解決できそうなんですが、やっぱり応用が利かないのでマニュアルを見てコードが掛けるようになりたいのですが
例えば日付を表示するメソッドを探すときはマニュアルのトップページからどのようにたどっていけばよいのでしょうか?
693デフォルトの名無しさん:2012/01/11(水) 11:00:50.70
ちょっと説明不足でした
compareToどうやってsortしているのかという点です。

Item item1 = new Item("");
Item item2 = new Item("");
Item item3 = new Item("");

List list = new ArrayList();

list.add(item1);
list.add(item2);
list.add(item3);

Collections.sort(list);



class Item implements Comparable{
private String str;
Item(String str){ this.str = str;}

public int compareTo(Object obj){
* return ほにゃらら
}
}

アスタリスクの部分で何と何を判定して大きい小さい-1,0,1の値を返して
どうやって並び替えをしているのかというのがよく分かりません
694デフォルトの名無しさん:2012/01/11(水) 11:03:12.49
>>692
Locale Format Java

それにweekやらDayとか付ければ目的なものが見つかるだろう
695デフォルトの名無しさん:2012/01/11(水) 11:14:32.04
>>693
thisとobjをみて自分で決める
696デフォルトの名無しさん:2012/01/11(水) 12:26:45.83
1024だと1k
1024x1024だと1M
1024x1024x1.5だと1.5M
とか、
バイト数をキロ、メガ表記文字列に変換してくれるライブラリって無いですか?
697デフォルトの名無しさん:2012/01/11(水) 13:09:37.58
それくらい自分で計算しろよ
その程度もできないならどうせ何も作れないよ
698デフォルトの名無しさん:2012/01/11(水) 13:15:49.52
このスレではMaven使っている人だれもいないの?
みんなCommonsのファイルを手動でダウンロードしているの?
699デフォルトの名無しさん:2012/01/11(水) 13:52:26.44
>697
どこかにそういうライブラリが有った記憶があるんだよね
誰か知ってるかなと。
わざわざ車輪の再開発する気にはなれないし
700デフォルトの名無しさん:2012/01/11(水) 13:54:40.38
だよね、697の思考はプログラマっぽくないね
701デフォルトの名無しさん:2012/01/11(水) 14:10:58.98
Mavenはリポジトリのダウンロードがうまくいかないから使ってない
702デフォルトの名無しさん:2012/01/11(水) 14:11:00.45
見つけられない場合はそのまま放置かw
703デフォルトの名無しさん:2012/01/11(水) 14:16:22.99
         __________       |  見ろよ!                 |
       ./::::::::::::::::::ノ、ヽ     |  民主党支持者がいるよ!w  |
      ./:::::::;;;-‐‐''"´  |:::|     \____  ________/
      |:::::::|   。   .|:::|        ノ´⌒ V        _____
      .|::::/ ⌒   ⌒ ヽ:|     γ⌒´      ヽ,     / _____)
       |:::| /・\ /・\||    // ""⌒⌒\  )    | /        ヽ
げひひw .|´  ⌒_ ヽ⌒  |  .   i /   ⌒   ⌒ヽ )     | 〉 ⌒   ⌒  |
      .| :::⌒(__人_)⌒|    !゙   /・\ /・\i/      |/. /・\ /・\ヽ
⊂ ̄ヽ___ ヽ   \__| ⊂ ̄ヽ_ |  :::⌒(__人_)⌒⊂ ̄ヽ_ | ::::⌒(__人_)⌒:: |
  <_ノ_    ヽ_    _/ <_ノ_. \     \__|  / .<_ノ_ \ ´ \__|  ノ  い〜ひっひw
   
704デフォルトの名無しさん:2012/01/11(水) 14:37:20.45
>>702
Mavenは放置
705デフォルトの名無しさん:2012/01/11(水) 14:38:36.79
Java Pressのバックナンバーが欲しいんだけど
アマゾンで調べたらご覧のとおり転売屋が値段を三倍に釣り上げている。
http://www.amazon.co.jp/dp/4774126748/


PDFのように電子化した媒体でもいいからどこか定価くらいの値段で手に入れられるところ誰か知らない?
706デフォルトの名無しさん:2012/01/11(水) 14:53:08.78
Mavenは情報が少なすぎるんだよね

ダウンロードに失敗した原因を多くの外人が英語でフォーラムで問い合わせても
「プロキシの設定が…」という見当違いな返答ばかり

誰もミラーサイトを疑おうとしない
707デフォルトの名無しさん:2012/01/11(水) 14:56:28.96
<mirror>
<id>planetmirror.com</id>
<url>http://public.planetmirror.com/pub/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
↑Mavenのパッケージが存在しないインチキミラー

<mirror>
<id>lsu.edu</id>
<url>http://ibiblio.lsu.edu/main/pub/packages/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
↑Linuxのディストリビューションしかダウンロードできない嘘ミラー
708デフォルトの名無しさん:2012/01/11(水) 14:57:45.82
<mirror>
<id>ibiblio.net</id>
<url>http://www.ibiblio.net/pub/packages/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>


ドメインすら存在しない似非ミラー
709デフォルトの名無しさん:2012/01/11(水) 19:10:32.82
Swingで画面にlabelを配置しました
このlabelに書かれている文字列を画面のサイズに合わせて画面の横いっぱいに自動調節して表示させたいのですが
ヒントをお願いします
710デフォルトの名無しさん:2012/01/11(水) 21:52:20.33
http://java.sun.com/products/jimi/
jimiというのはJDK1.6には標準では入ってなくてURL先からダウンロードしてこないとダメだと認識してますが
jimiを利用したプログラムを制作した場合、jimiを入れてないPCでは動作できないのでしょうか?
711デフォルトの名無しさん:2012/01/11(水) 22:05:40.06
誰か代わりにプログラムを書いてくれないだろうか・・・何も分からなくてどうしようもない
712デフォルトの名無しさん:2012/01/11(水) 22:08:03.23
いいぜ
713デフォルトの名無しさん:2012/01/11(水) 22:21:21.81

800 自分:名無し募集中。。。[] 投稿日:2012/01/08(日) 22:00:50.04 0
AKBブーム捏造の裏

サウンドスキャンの売り上げでさえほとんどが業者の自社買い他社買いで
資金洗浄した金額がオリコンの枚数×CDの価格って感じかね
http://livedoor.blogimg.jp/dqnplus/imgs/f/f/fff69a26.jpg

714デフォルトの名無しさん:2012/01/11(水) 22:54:56.98
すみません。これわかる方いませんか

>Eclipse統合M32【Java/C++/Ruby/Python/Perl】
>190 :デフォルトの名無しさん:2012/01/08(日) 14:26:52.83
>JDTのフォーマッターを一部分削除することを指示するコメント(等のコマンド)ってないでしょうか?
>// 監視対象スレッドら全てが終了済みか確認
>if (true
>  && thr1
>  && thr2
>  && thr3
>  )
>{
> break;
>}
>こんなのがあった時に、整形されたくないのですが…。
715714:2012/01/11(水) 23:00:32.81
何か日本語が変…。
部分的にフォーマットを回避したいということを言っているつもりでした。
716デフォルトの名無しさん:2012/01/11(水) 23:01:48.84
>>714
プロジェクトのプロパティのフォーマッタで編集
OnOffタグを有効化
717デフォルトの名無しさん:2012/01/11(水) 23:12:49.04
これでよくね

if (true //
  && thr1 //
  && thr2 //
  && thr3 //
  ) //
{
 break;
}
718デフォルトの名無しさん:2012/01/11(水) 23:43:40.78
ウィンドウのリサイズが会ったときに
setTextでラベルのテキストを別の文字列に差し替えたいのですが
リサイズのイベントcomponentResizedはどこにどのように書くのでしょうか?
http://ideone.com/GTfdP
719デフォルトの名無しさん:2012/01/12(木) 00:17:56.52
inputstreamの入力したデータをread()で表示させたら

入力した値 test

t/116
e/101
s/115
t/116

/13

/10

whileでinputstream.readが-1になるまで1文字ずつ〜ってやっています。
UTFで13と10なんて意味不明なコードが出るのはなぜでしょう?
720デフォルトの名無しさん:2012/01/12(木) 00:23:03.98
13と10はCRLF
改行が入ってるんだよ
721デフォルトの名無しさん:2012/01/12(木) 00:33:06.23
UTFでもwinXPとかだとLFのみにするとおっさんとかがメモ帳がおかしい!!とか騒ぎ出すからあえてCRLFにするわ
722デフォルトの名無しさん:2012/01/12(木) 00:38:14.96
>>720
thxっす
723デフォルトの名無しさん:2012/01/12(木) 02:21:03.91
byte配列から、別のbyte配列へと、内容を複製したいとき、
java.io.ByteArrayInputStream と
java.nio.ByteBuffer とのどちらを利用すべきなのか判断できない。
この程度であればどちらでも出来て、趣味の問題なのでしょうか?
どうして複数あるのだろうか。教えて欲しい。
nioというのがnew ioみたいだけど、ということは、ByteArrayInputStreamの役目はもう終わっているのでしょうか?
724714:2012/01/12(木) 02:31:55.17
>>716 ありそうなのに見つけられませんでした。助かりました。
>>717 トリッキーな!でも感動しました。そんな方法もあったとは。
ふたりともありがとうございます。
725デフォルトの名無しさん:2012/01/12(木) 07:49:03.21
>>723
複製だけなら byte[]#clone() で出来るよ。
726デフォルトの名無しさん:2012/01/12(木) 07:50:08.29
>>723
既存の配列へのコピーなら System#arraycopy もあるしな。
727デフォルトの名無しさん:2012/01/12(木) 10:23:24.87
#ってなんだろ?とおもったら、ピリオドを#にしているのか

ピリオドだと見落としやすいから#表記なんだろうけど
これはム板の定番?それとも業界の定番?
728デフォルトの名無しさん
いや#使うときはクラスメソッドは.でインスタンスメソッドは#と区別する
だから>>726は変