SwingとAWTとSWTはどのように選択していいのかわかりません
とりあえず全部やってみて一番好きなの使えばいいんじゃね?
ごちゃごちゃ言ってないで回答しろ
こがらし
>>6 Javaやるにはまだ早い or 見込みないから、C#やった方がいいよってのはあったけど、C#の質問は今までなかっただろ
それともC#はGUI出来る人多いのにJavaではSwing GUIを出来る人があまりいないからC#のGUIをひがんでるんの?w
filewriterとbufferedwriter大差なくね?
buffの利用価値がわからん
>>11 おまえの周囲の紹介なんか興味ねーよ。スレチでノイズだからあっち池ってだけだ。
どっちも使える俺は住みわけてるお前もそうするよな?
>>12 メモリ上かファイルかString(char[])のままかbyte[]に変換されるかの違いがある。
前スレ最後の言語仕様云々の話は面白かった。
話してた人たちありがとう。
仕事でやってる人たちはあれぐらい知ってるのか。
すげーな。
var latlng = new google.maps.LatLng(35, 139.);
var lat = google.maps.LatLng.lat;
alert(lat);
このvar latに「35」の値が格納されるようにしたいんだけどアンディファインドが出てしまう、どうすればいいんだろう?
現在だとLatとLngが同時に格納されているからlatとlngそれぞれに分けたい
ごめん、googlemapsapiのスレでないとスレ違いかな?
失礼
メリークリスマス
さて質問です。
enumでメソッドやフィールドが定義できるが、
メリットはなんなの?
>>18 enumに使いたい文字が使用禁止文字だったり数字そのものだったりしたとき、どうする?
またその文字列や値をenumに変換したい場合、そのメソッドはどこに置くべき?
>>19 むむっ
ちょっと考えてみます!
ありがとう!
javadocの日本語版のダウンロードするやつどこ?
オラクルになってからリンク切れてどこにあるかさっぱりわからない。
質問です
javaでmp3使えるようにするにはどうしたらいいですか?
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.
#
25 :
24: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
26 :
24: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
27 :
24: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
28 :
24: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
29 :
24: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
30 :
24: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
31 :
24: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
32 :
24: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
質問:
次のようなstatic classで
スタックオーバーフローになるんだけど理由分かります?
public class Boss {
__public static class Loader {
____LoaderImp imp = new LoaderImp();
____imp.load();
__}
}
class LoaderImp {
__void load() {
____// nothing
__}
}
34 :
24: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
35 :
24: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
36 :
33:2011/12/25(日) 22:37:37.66
LoaderImpのクラス定義をLoaderの定義内で行うと
スタックオーバーフローは起きないのですが、意味不明です。
スタックトレースにはスタックオーバーフローとしかでてこないので
javaの内部クラス文法上のルールに知らないものがあるのかな。。。
内部クラス仕様を完全に理解すれば初心者卒業、内部クラス(およそ4パターン)を完全に手足の如く使いこなせれば初級者卒業だと思います。
39 :
33:2011/12/25(日) 23:02:06.37
内部クラスのネストが深いとダメみたいなものがあるかもしれませんね。
パッケージ間でクラスの名前衝突に対して内部クラスで解決した結果なのです。
public class Web {
__public static class Loader {
____public interface Listener {
____}
__}
}
おいおい。釣じゃないなら質問の仕方がへったくそだなあ。
>> 33
> のような
じゃなくて、エラーが再現する最短のコードをはれよ。
それ、見ただけで動かないことわかるだろ。
>>39 スタックオーバフローと名前衝突が関係あるわけないだろw
もともとのバグじゃないエラーをつぶして解決した気になってるだけだな
42 :
33:2011/12/25(日) 23:45:22.09
再現コードを別途に作るとできないんですよ。。。
たぶん内部クラスをimportしなくても親クラスをimportすれば
コンパイルエラーにはなりませんが、これが原因のような気がします。
import sample.Web;
class AAA{
__void hoge(){
____Web.Loader loader = new Web.Loader();
____loader.load();// メソッドは空
__}
}
43 :
33:2011/12/26(月) 00:08:39.28
>>42の予測ははずれでした。
やはり打ち間違えかなにかで委譲の際に再帰してたのでしょうね。
お騒がせしました。
jniでnullを返すにはどうすればよいか知っていたら教えて欲しい。
c++のNULL(VC)や0(int)を返してもJavaのnullとは異なっているようで、文字通りアドレス0を参照してしまうような感じで困っている。
jni.hをみているが、nullで検索しても見付からない。
46 :
44: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は、逐次開放されますか?それともこのループを含むオブジェクトが使われなくなるまで開放されませんか?
b = new Byte[32]のたびに、以前にbに存在していた領域は、
参照カウントが0になるので、Java的には開放準備状態になる。
ただ実際の開放=GCのタイミングは実装依存。
一般的なJVMなら恐らくループを抜けた直後でもされない。
>>47 一般的なVM実装ならnewしてメモリ足りない場合、
一旦GCしてそれでもメモリ足りない場合にOutOfMemoryErrorになる。
あと、普通は参照カウント方式は使ってない。
オブジェクトヘッダがでかくなるし
循環参照考慮したら他の方式もつかわにゃならんので。
50 :
47:2011/12/26(月) 11:23:43.30
ありがとうございます
実は、socket受信でArrayListにディープコピーするためにnewしているのですが、GCの対象になるということは、このやり方じゃまずいですね
どこかから強参照されてるならGCの対象にはならんぞ。
なるよ
スタックかstaticフィールドから参照を辿れないオブジェクトはGC対象
byte[]でどうやって循環参照作るんだよ
>>50 されない。というかコード例が悪いよ。
あれじゃ同じローカル変数に代入してるみたいじゃないの。
javaでファイルの入出力はObjectIOStreamがメジャーなの?
FileChannel主流になるといいな。
FileInputStream FileOutputStream RandomAccessStream あたりはまだまだ強いが。
RandomAccessFileだた
>>57 それじゃcharをガバって持ってこれないけど、どうするの?
RandomAccessFile#readChar()
RandomAccessFile#readUTF()
RandomAccessFile#reaLine()
好きなの使え。
>>59 というか、java utf16のエンコードのことちゃんと理解してる?
ネタだから別にどうでもいいけど
61 :
デフォルトの名無しさん:2011/12/26(月) 16:02:06.26
複数行のテキストの先頭行を削除したいんですが、手っ取り早い方法はどんなのがありますか?
↑を書いた直後にreplaceで出来ることに気が付きました……
str = str.replaceFirst("^[^\n]+\n", "");
失礼しました
いやまて、それ空行は削除されないぞ。
あ、はい
空行でないことは分かってるのでいいんです
>>47 揚げ足だがこのコード、デバッグモードじゃなきゃ、
ループの中身消えるよな。
それ以前にコンパイルエラーか。
コンパイルエラーになるか?
ならない。消えない。
他に影響がなけりゃ最適化で消し飛ばされるだろ
他が未到達エラーでひっかかりそう
そこら辺のソースに突っ込んでコンパイルしたら
$ drive/Package.java:320: この文に制御が移ることはありません。
だってさ。まぁ、次の行に式が存在しなきゃ発生しないけど。
eclipseでJavaをやってるのですが、ひとつのパッケージにmain()メソッドがあるクラスが複数ある場合、どれから優先して実行されるのでしょうか?
マウスでクリックしているクラスのmain()が優先される、というのは分かりますが、それ以外に何か規則性はありますか?
また、ひとつのパッケージで並行してmain()メソッドを実行させるって可能なんでしょうか?
>>72 実行ボタンやらデバッグボタンのとこにある
構成の編集で指定したメインクラス。
そういや、Javaスレだからeclipseはスレ違いか。
ArrayListのシリアライズされた文字列が欲しいんですけど、
サンプルとか探すとファイルに出力するものばっかりなんですにゃー
コード短めでStringあたりにシリアライズデータを出すサンプルありませんか?
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以外のいい方法が見つからなくて困っています。
あまり手間がかからないいい手段はないでしょうか?
ファイルに出力するのはSerializableが問題じゃなくてFileOutputStreamを使ってるからだろ?
ByteArrayOutputStreamでも使えば?
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とかしたいだけ
キャストしたら?
すみません、分かり辛い説明で…
キャストするにも、0xfdとかがマイナス(数)値で幾つになるか
関数電卓とかで変換しないと分からないので、
直感的(16進表現レベル)に扱いたいのです
byte b = (byte)0xFF;
82 :
デフォルトの名無しさん:2011/12/27(火) 13:43:37.24
>>77 なるほど、それで実行可能でしたか。
ありがとうございます。
なるほど、理解しました
16進表現を、一度10進表現にしてキャストだと思い込んでいました(自分の中で)
そんなに単純に実装出来たのですね、ありがとうございました
Matcher関連?について質問(文字列操作関連という表現のが正しいかも?)
matcherで
"hogehoge"という文字列に対して"h"というPatternで抹茶ーをしたとき
Matcher m (以下略);
m.find() true
m.start() 0
これは予定通り
m.find(); true
m.find(); true
m.start() 4
こうするとfindを2回実行したため、チェックしている場所が進む?
どういう仕組みなんですかね
モデル開発?モデル構造?のニュアンスの開発手法で、xmlに似た名前のことを何と言いますでしょうか?
思い出そうと思ってググったりしましたがわからず、もやもやしています。
スレチガイでしたらお手数ですが、誘導お願いいたします。
まさかUMLのことか?
---------------------
int ia,ib,ic;
ia = 1;
ib = 1;
ic = 1;
if ( (ia == ib) == ic ) //エラー
---------------------
booleanとintの判定はできないのがJavaらしいが、
こういうとき、みなはどう解決してますか??
>>87 それJava以外でもありえない比較だから。
サンプルかいてくれ
理解した。
>> 88,89
ありがとう!
if ((ia == ib ? 1 : 0) == ic)
>>89 Pythonはうまくやってくれそうな気がする
>>93 JavaScriptでもいけるけど、やっちゃいけない比較だろこれ。
Cでは日常茶飯事だろ
96 :
85:2011/12/27(火) 18:03:10.63
>>86 それです!!
すっきりしました。
ありがとうございました。
比較演算子の結果をintと比較なんてそうそうお目にかかれないだろ…。
boolean無いんだからざら
平松邦夫/民主党
大阪市役所・自治労・大阪市労働組合・日教組・大阪市教育委員会・自民党・共産党・社民党・関西電力・住友グループ
・毎日放送・毎日新聞・関西経済連合・日本原子力発電株式会社 ・ 週刊文春・週刊新潮・NHK・朝日新聞・読売新聞
・部落解放同盟・朝鮮総連・在日本大韓民国民団・日本遊技関連事業協会・全日本遊技事業協同組合連合会・日本弁護士連合会・生活保護受給者・反日左翼・9条の会・革マル派・中核派
VS
橋下徹/維新の会
大阪市民・みんなの党・国民新党・亀井静香・石原慎太郎・東国原英夫
様子見:公明
>>95 いや、1と0に対して整数と比較することなんてまずねぇよ。
整数と比較しなかったら必ずfalseになるだけじゃねーか
,.r.:::;;;;:ュ、
fイ´__ __ヾ
{:六;;;;:ハ:;;;:カ
(_ ' _^_ヽリ なんだ AKBって整形した反日朝鮮人だったのかァ
,人 l⌒l、 ブームの捏造手法が寒流と同じだけはあるな
/ \,ゝヽr' \
/ |:| ヽ
l l /´堰@ l !
|___l ノ ,イ !__,}
>>87 言語は設計理念を理解して選ぼうぜ
Javaにきてまで、そういうコード書きたがる奴はJava使わない方がいいぞ
>>98 ざらじゃないから。どんなマイナーなソース読んでんだよ。
7u2の正式版来たのにまだjava.comは開発者向けっていうスタンスのままなんだな
java覚えても仕事ないぞー
今はアンドロイドとかアイフォンの開発が出来る人の需要が高い。
いつまで続くかは解らないけど大きい需要
>>108 アンドロイドアプリで稼ぎたいのでこれからJavaを学ぼうと思ってEclipseのインストールを4日かけて行いました
よろしければ理由を教えてください
そんな時間があったらバイトしたほうが遥かに稼げる
なんでJavaって文理不問なの
やっぱC言語/C++の方が賢いんですよね
算数レベルの計算しかしないから
基本的に文字操作ばっか
javaやってる人で文系って割りと見るけど、C++で文系は俺の周りに居ないな
c++使ってて大卒じゃなければほとんどがdirectx関係だろ
C++はなんやかんや言って80年代のツールだからな。
C#とか使った方が仕事は早く終わるだろうし…
qt,c++が出てきたからdesktop javaはうかうかしてられないな
java7とかjavafxとかjava8とか時間をかかることばかりやっていたらdesktopどころかmobileでもhtml5でもjavaを必要とする仕事はなくなるだろう
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()の呼ばれどころがわからないし
その中で関数を定義しているし
意味が分からない
おまじないだから気にするな
文型ってほんとクズだな
しまいには人売り糞営業に転進していくし
学生の時点でソフトウェアに興味がないから文型にいったんだろ
根本的に素養が無いくせに来るなよくさいよ
日本語でおか
>>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;}
}
というコードがありました。クラス名や変数名は適当です。
この場合、
修飾子 クラス名 変数名
修飾子 クラス名 ゲッターメソッド
というのは、何を示しているのでしょうか?
インスタンスの生成とはまた違う処理ですよね?
ぬるぽ
再帰のことか
がっ がっ がっ がっ がっ
セッター無しでゲッターしかないのが気になるのか?
他のパッケージのクラスからちんことまんこを入れられるのが嫌だからじゃないか?
>>121 文系の人は頭悪い奴が多い
みてて恥ずかしくなるレベルがごろごろ
ぬるりとぬるぽ
理系だけじゃ世の中は成り立たないよ
理系さん(笑)
結局javaでやるような仕事やってるのに頭いいも悪いもないわ。
悪いに決まってるw
135 :
125: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()
とありますが、
修飾子 クラス名 変数
修飾子 クラス名 ゲッターメソッド
となっている文法がよくわからないのです
手元のテキストやぐぐったサイトには乗ってませんでした
テキスト一から読み直しましょう
何がわからないのかわからない。
何がわからないのかわからない
フィールドやメソッドの宣言をしているのはわかってるんだよな?
publicとかprotectedってついてるのがわからないってことか?
各変数に対してそれぞれゲッターメソッドを用意しなければならない
ということが分からないのか?
inputという変数があったらgetInputという名前のメソッドを
作る決まりでもあるのかということを聞きたいのか?
そんなこと聞いてません
じゃあ氏ね二度と来るな
まんこ
>>135 大丈夫か?
「ゲッター」とか「修飾子」の意味が分かってるなら、
理解できていないはずない事柄だと思うんだけど。
> 修飾子 クラス名 変数
これは クラス名 を型とするメンバ変数を宣言している文。
> 修飾子 クラス名 ゲッターメソッド
これは クラス名 を返り値の型とするメソッドを定義している文。
これでも聞きたいことと違うというなら、
もう少し具体的にわからない所を考えてから質問したほうがいいよ。
ただの荒らしぬる。相手するだけ無駄ぬるぽ。
String str = "abcde"; があったとして、
str.indexOf("c") と str.indexOf('c') って速度差ってあります?
確実に一文字な分charに対しては特殊な処理をするのか、
内部でStringに変換してから文字列の場合と処理するのか?
誤差程度なのはわかってますが、わかる方がいれば教えて下さい。
str.indexOf('c')の方が速い。Java仮想マシンの仕様。
str.indexOf("c")の方が速い
>>147 実装の仕方まで厳密に定義されてるわけじゃないので
内部でStringに変換する実装があってもOK。
普通は内部でStringに変換したりはしないけどな。
なるほど。正解は「実装による」でしたか。
まんこ
154 :
125:2011/12/29(木) 18:01:53.93
ゲッターメソッドや変数の宣言にクラスをつける必要ってあるんですか?
変数の型と
メソッドの戻り値の型
それがここではクラスになってただけじゃん
>>131 それは自称文系だろ
本当の文系となると弁護士みたいな人間だぞ
>>148 仮想マシンの仕様というより、検索キーに対するループが有るか無いかだろ。
indexOf( 'c' )だと内部で、単純ループですむから。
for( int i = 0; this.buffer.length > i ; ++i )
{
if( key == this.buffer[i] ) return i;
}
これだけでいい。
159 :
125:2011/12/29(木) 21:12:08.19
>>136-
>>145 >>155 ありがとうございました。
教えられたキーワードをヒントにテキストを読みます
>>157 Androidの開発に進みたいので、Javaでもう少し頑張ってみます
>>159 冗談抜きで、C辺りを勉強してこい。
最悪VBでもいいから。悩んでるレベルが初歩すぎる。
目的があって学ぶのはいいんじゃないか?
初歩すぎるから、質問する前に本嫁とは思うが
初歩かどうか以前の問題じゃね?w
「日本語はどうして最初に主語が来るの?」とかレベルだし。
決め事だから覚えろとしか。
マジで言っているのか、突っ込み待ちなのか…判断に困る
>>160 実はVB.netまではやってました。
でもVBにはデータ型にクラス型ってのはないんです。
Cはそもそもクラスがないですし。
クラス型 変数 = new クラス()は何回も見たことありますが、
クラス型で変数や戻り値が定義されてるのは初めて見たので質問しました。
今はやさしいJavaっていう本を見ながら、勉強しています。
.netはクラスの塊だろ…
だから釣だって何度いったら
>>166 クラス型というのはないですし、Javaよりもクラスの範囲を広げて中にプロシージャを書くことが多いので
クラスを引数や戻り値として与えることはないと思います
VB.NETはクラスがあるどころかintとかまでオブジェクトで、
ある意味Java以上にオブジェクト指向してる
ほぼJavaのスーパーセットです
外部JARにcommons-langの2.4と2.6を追加した場合、実際に使われるのはどちらのバージョンなのでしょうか?
>>168 Cに構造体があるだろ。
あれと、実装上大きな違いはない。
概念上は大きく違うが。
マトモに、Cをやってりゃ表面上の使い方は
構造体と同じだとすぐ気づくはずだ。
さすがに釣りだわこりゃ。いつもの荒らしだな。
ちんこ
>>158 jdkのを見てみた。
indexOf(int)、indexof(String)は位置計算などの事前処理後、
どちらも1文字でも対象の文字種によっては2文字として比較を行い、終了する。
ループ内の検索コストはほとんど変わらない。
しかしながらStringは内部で引数が多いstaticのindexOf(char[], ...)を、
呼び出しているため、呼び出し時のオーバーヘッドが大きいと推測される。
結論としてはindexOfの呼び出し回数が多い場合にはindexOf(int)が良い。
でなければほとんど変わらないと思われる。
javaアプリを2つ起動したときのメモリアドレスは、
OSから見るとプロセス2つ分ですか?このときJVMは2つ起動しているのですか?
それともJVMひとつ分ですか?
Windowsのタスクマネージャを見ると、java.exeが二つ起動しているのが見れますが、
そもそもタスクマネージャがよくわかりませんので質問しました。
よろしくお願いします。
こちらこそよろしくお願いします。
暮れ正月も、ココに誰かおんの?
そらそうよ
朝日新聞は一時期300人のネット工作員をかかえ、反日工作していた。
捕まった編集者は49歳ですが、こんなカスでも1500万円の年収がもらえるんですよ。
Domain Information: [ドメイン情報]
a. [ドメイン名] ASAHI-NP.CO.JP
e. [そしきめい] かぶしきがいしゃ あさひしんぶんしゃ
f. [組織名] 株式会社 朝日新聞社
−「朝日新聞社は、とある思想やパラダイムに日本の世論を誘導する見返りに、中国から大量の資金を貰っている。」−
これはおそらく週刊誌さえ書けない。
「失語症躁鬱ニートは氏ねよ」【ネット】朝日新聞社員(49)ネットで荒らし行為、会社ごとアクセス規制へ 09.3
DecimalFormatで指数部が正の時に
プラス記号を付けて出力したいのですが、
どんな方法がありますか?
例えば100.0→1.0E+02としたいのですが、
DecimalFormat("0.0E00")とすると
指数が負の時だけマイナスが出力されるので
文字数が揃わず、不自由しています。
後から文字列操作すればいいのですが、
できればDecimalFormatだけで完結したいです。
ローカライズでおk
いいたいことはあってるが、厳密にはローカライズではないな
staticなメンバクラスってどういうときに使ってますか?
public class A {
public static class B {
な感じに定義されたクラスつまりBのことです(enumでも良いかな?)。
Java SEだとMap.EntryとかThread.Stateとかですが、これから連想するのは、
クラスの利用者がインスタンスを生成はしないけど参照はする場合なのかなぁ?
という感じですが、皆さんはどんな感じですか?
ゆったりした感じです
のほほんとした感じだな
ボンバーマンみたいなゲームを作ってるんだけど、
111
111
111111
111111
こんなデータを読み込んで、
789
416
411889
122223
みたいにブロックを割り当てるアルゴリズムを具体的にどうするか考えてくれ
3行3列の1らへんをどうするか・・・
____ ━┓
/ \ ┏┛
/ \ ,_\. ・
/ (●)゛ (●) \
| ∪ (__人__) |
/ ∩ノ ⊃ /
( \ / _ノ | |
.\ “ /__| |
\ /___ /
民主党党員名簿 (党員資格/代表選選挙人名簿) ※ 党外秘
1. 青木大姫
2. 秋山慶姫
3. 新井正煕
4. 金村成勲
5. 木下勲鍋
6. 佐井明博
7. 豊田檀君
8. 本山舜臣
1. 安藤重根
2. 池田青天
3. 金子佐鎮
4. 金山淑恵
5. 木子奉昌
6. 田山明雲
7. 平山明河 流石反日朝鮮人だらけの政党なだけはあるなw野田も韓国人疑惑があるくらいだし
>>189 求めたいブロックの周囲8マス(3*3ブロック)の状況から決めたら?
手打ちなり何なりで256通りの結果をあらかじめ求めておいてそれに当てはめれば全部出てくるはず
民主党党員名簿 (党員資格/代表選選挙人名簿) ※ 党外秘
1. 青木大姫
2. 秋山慶姫
3. 新井正煕
4. 金村成勲
5. 木下勲鍋
6. 佐井明博
7. 豊田檀君
8. 本山舜臣
1. 安藤重根
2. 池田青天
3. 金子佐鎮
4. 金山淑恵
5. 木子奉昌
6. 田山明雲
7. 平山明河 流石反日朝鮮人だらけの政党なだけはあるなw野田も韓国人疑惑があるくらいだし
>>185 一つのBオブジェクトで複数のA型オブジェクトを弄る場合。
Bのオブジェクトは、Aのprivate領域にアクセスできるからな。
Aのオブジェクトに対する、不特定なアクセスは防ぎつつ、
Bのオブジェクトで、Aのオブジェクト同士を
直接仲介したい時はぼちぼちある。
>>194>>196 BからAのprivateなフィールドにはアクセスできないと思うんだけど。
Eclipseでエラーでるし。
>>197 ほう。エラーメッセージ読み上げてみなされ
>>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
>>198 $ javac A.java
A.java:7: non-static variable a cannot be referenced from a static context
a = 1;
^
1 error
public class A {
private static int a;
public static class B {
public void test() {
a = 1;
}
}
}
ああこういうことかw
enumが無い時代のシングルトン以外で非finalでstaticなフィールドなんて使わんからその発想がなかったわ。
キリッ
最近はプログラム板もノイズが多くなったもんだなぁ
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の部分で、配列変数を作らず、直接パラメータに指定することは出来ますか?
出来るようであれば、教えてください。
>>185 可視性の観点から、ビルダやメメントなどを作るときに。
また、補助的なクラスやインタフェースは、名前の衝突を避けるのに
わざわざプレフィックスをつけるより、ネストさせるのが使い勝手がよいかもしれない。
>>203 違うけど。
class B
{
void Method(A a)
{
a.value = 0;//private変数
}
}
ポニョ、引数のオブジェクトをいじるの、いやー
GUIとかコンテナとか引数いじくりまくりだけどな
eclipseで、普通に実行したときと、デバッグで実行したときと、GUIの表示が違うんだけど、なんで?
>>207 IndexedLineStripArrayのコンストラクタを変えろ。
207です。
>>214 全コンストラクタで、必要としますけど。
______
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日)
民主朝の初代考停、言行不一致、虚言、脱税、
そして外交において巨大な負の遺産を築いた。
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の問題のような気がするようなしないような。
よろしくお願いします。
219 :
207:2012/01/01(日) 22:41:20.64
218です。
いろいろとっかえひっかえソースを修正しながらjava3dの動作確認しているのですが、
さっきと寸分たがわぬコードで、異なる挙動をしたりしている気がします。
クラスファイルを逆コンパイルして変な最適化をされていないか確認したいのですが、
どうすればいいのかわかりません。
eclipse 逆コンパイル で検索してみましたが、プラグインの入れ方しか書いていなくて、肝心の逆コンパイルの手順がみつかりません。
引き続き探しますが、方法を書いてあるリンクを貼ってもらえませんか。
そのbin/xx/xx/xx/xx.classファイルをダブルクリックすればええだけだと思うが。
.classに関連付けがされてないとかか?
ああ元ソース参照してしまうということなら強制デコンパイルの設定するかbin以下を別プロジェクトにコピーしちまえばいい。
インストール自体がうまく逝ってないという事なら、pleades all in one にjadが同梱されてるからそれ使えq。
全部入りのpleiadesつかってます。
設定は確認してみましたが、いろいろなサイトで示しているものが初期設定されていました。
ウィンドウ>ビューの表示>ナビゲータ
で、クラスファイルが表示されるので、それをダブルクリックしてみると、
/*jadclipse*/
//Error!
と表示されてしまい、困っています。
元ソース参照にはなっていないのですが、それ以下に書いていることを試してみます。
Javaのバージョンは?7じゃあるまいな。
7つかってました。
指摘を受けて、5とか6とかにしてみましたが、変わりませんでした。
あちこちにバージョンの指定箇所のようなものがあって、何がなにやら悲しくなってきました。
コマンドラインから、jad.exeしたら、出来ました。
eclipse上から出来ないのはどうしてなのでしょうか?
7でもいけたっぽいです。たぶん。
説明してくれているページをご存知であればリンクをください。
くれくれうるさい
ゆとりだから自分で出来るわけない
JD-Eclipseつかえ。
新しいJavaのバージョンでもいける。
.javaと.classは同じディレクトリじゃないとダメかもしれん。よくわからん。
>>226-228 爆発しろ。無用にスレ流すな。
eclipseでデバッグ実行すると、ブレークポイントを設定したわけでもないのに、
Class.classがエディタで開かれて、#checkPackageAccessで一時停止するのですけど、何故でしょう?
気がついたらこうなってた。
String型の文字列を使用して、
int型の変数名を指定することはできますか?
例えば、
String s = "example";
int example = 0;
void func(int example){
...
}
のようなコードがあったとして
func()の引数に int型のexample を渡したい場合、
exampleという文字列が格納されたString型の変数sを使用して変数名を指定することはできますか?
意味が分からない
exampleがメンバ変数であれば、
リフレクションを使えばできますよ。
>>233 Map。これでわからないならあきらめろ。
237 :
235:2012/01/02(月) 16:44:27.02
やっぱり俺ってコミュ力不足かなと心配になる。
ここでそんなこと言われても誰も興味ないから(´・ω・`)
>>237 発達障害を取り扱ってる病院で相談してこい
あと職業プログラマーにはなるな。
ドキュメントもマトモに書けないし、
チェックミスが多発するハズだ。
>>240は言い過ぎ
積極的に不和の種まきまくるようじゃそれこそ職業人に向いてるとは思えんよ。どうせ医者ですらないんだからお医者さんごっこなんかやめとけ
>>233 技術系のコミュニケーションはスキルに裏打ちされたものだから、その領域の理解が足りないと必然的に頓珍漢なことしか言えない
一言でいえば233はまだJavaがまるでわかってないってだけだからコミュ云々だと悩むより
言語知識身につけて自分の要件を的確に表現すればいいだけだ
この話題はここで終了だカスども
お前ら全員マ板でやってこい
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);
>>244 エラーメッセージは
[Microsoft][ODBC Driver Manager] 文字列またはバッファーの長さが無効です。
>>244 > つながりません
でエスパーさせることに問題を感じようぜ
時間差かよw
>>245 JDBC-ODBCをやめてType4ドライバ使うのが手っ取り早い
249 :
デフォルトの名無しさん:2012/01/02(月) 21:57:56.92
>>248 タイプ 4 の JDBC ドライバー つかってますけど?
ドライバが古いorさーどぱーてぃの使ってんじゃね?
MS謹製の使えば解決すんじゃねーかな
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
>>254 だが断る!
>>248に
>>249で返すあたり勉強不足かもね
最大限にエスパーしとくと、ODBCの設定をどこからやったん?で、たぶんそれが原因
そういう周辺情報たりなすぎてエスパー要求しすぎ。
わざわざ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);
東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
もろに北朝鮮と繋がっているテレビ局が1つ
年寄はまだまだテレビという外国人に騙され続ける
すみません、教えてください。
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]だけなぜこのようになるのでしょうか?
本には浮動小数点数には誤差が含まれるためこうなるとありますが、
それだったら他のところも同様になるのではありませんか?
>>260 1.1を2進数表記して計算して
有効桁数のことを思い出せばわかる
>>261 早速のご解答ありがとうございます。
すみません、自分がよくわかってないのですが、
どういう意味ですか?
本で調べるなり、2進数 少数 でググるなりして勉強しる
0.1 が 2進数だと 0.0001100110011... になる
あとは基数2の時の仮数と指数としてdoubleの表現が決まるだろ
で有効桁数から末端ふきんの数字がおちる。手計算一度やっとけばああそんなもんかってわかる
小数な
すみません、よくわからないのですが、
3.3はどうして上記のようになるのでしょう?
だから手計算しろよ。結果がそーなら手計算すればそーなる必然性が明らかになるはず
1.1だと2進数に変換して、
0.00011001・・・
ここまで手計算しました。
もっとだ
?
>>260 2進から10進に直すときに丸まってるだけ
本当に内部でa[0]=1.1と10進2桁の数になってるわけではない
質問最後まで読まずに答える奴ってバカなの?
272 :
デフォルトの名無しさん:2012/01/03(火) 08:55:51.01
次のうちどれでしょう
1 String 馬鹿;
2 String 凄い忙しい人;
3 String セックスしようと頭がいっぱいl[] =new String[666];
早い話が、println(String)と違ってprintln(double)はいいかげんということだ。
客が喜ぶからこういう仕様になってる。
どういいかげんなのかはDouble#toString(double)を参照。
おまいらにほんとの1.1を見せてやる
BigDecimal dec = new BigDecimal(1.1);
System.out.println(dec.toString());
結果:
1.100000000000000088817841970012523233890533447265625
うあぁぁぁ
すごいーーー
275 :
デフォルトの名無しさん:2012/01/03(火) 11:01:21.29
Java ってすっごいいい加減。
だから嫌いなんだよ。Java。
これからもVb,Netだぁ。
276 :
260:2012/01/03(火) 12:41:42.70
>>270 ご解答ありがとうございます。
やっと納得しました。
これだと3.3にならないとおかしいと思ったので。
関係したスレが見当たらなかったので質問させてくれ
SJC-PはsunからOracleになってOCJ-Pって名前に変わったという事で合ってますか?
279 :
1: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のサンプラで大きな時間を食ってるように見えるメソッドが
同プロファイラではほとんど処理時間を食ってない、という事があるんだけど何で?
281 :
1:2012/01/03(火) 19:27:34.15
3.3(DECIMAL)= 400A6666 66666666
3*1.1(DECIMAL)= 400A6666 66666667
>>260
swingってjavaxなのに標準でついてくるのって何で?
という歴史を知っている人いる?
なんとなくだ!!!
>>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
わざわざexeにしてトラブル抱え込むとは…解せん
メジャーバージョンが0の時点で諦めろとしか胃炎わな
Launch4jとか他の使えばいいんじゃねーの
つーかJavaをexeにする発想こそ変更した方がいいと思うのだが
>>288 285です。
jarのままだと、簡単に解凍されるのがいやだったので。
Launch4jというツールもあるんですね。初めて知りました。
exewrapも使ってみたんですが、コマンドラインのツールなのでなんとなく受付なくて。
Launch4jを試してみます。
ありがとうございました。
Choiceクラスでプルダウンを作成したのですが
このプルダウンの中の文字に対して、setFontが効きません
MS Pゴシックなどを設定する方法はありますか?
>>135 チラッと見たけど、Javaと比べるとC言語の問題が凄く簡単じゃね?
Javaオンリーの奴でも1ヶ月C勉強して、試験ではCの問題を解いたほうが有利に見える
class ABC{
}
class BCD extends ABC{
}
class Hoge|
public static main(String arg[]){
}
292は無視してください
そうは問屋が卸さない
じゃあ質問します。
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みたいなオブジェクトの作り方ってするもんなんですか?
エラーはでないけど、紛らわしいというかなんというか・・・
List list = new ArrayList();
オブジェクト指向がわかってないからそう感じるんだ
あとメソッド名大文字で開始するのやめれ気持ち悪い
>>296 つまりスーパークラスで作るのがベターであって
B b = new B();
より
A c = new B();
のが良いって事?
メソッド名大文字はjavaでは見たことないけど、逆にc# (win)ではメソッド名小文字は結構いるのだろうか?
>>297 ローカル変数ならサブの型でいい。
引数とフィールドの型は出来るだけ
上位のスーパークラスにする。
>>299 居ても初心者ぐらいだろ。
オーバーライド出来んがな。
脊髄反射的に質問するんじゃなく
自分が理解できてない用語・概念を指摘してもらった時は
それを調べるくらいしてきなさいな
>>297 はNO
スーパークラスで作るのがベターだから全部Object型にするのか?というとそんなわきゃーないだろ。
ArrayListひとつとっても
Listとして扱うか、Collectionとして扱うのか、Iterableとして扱うか
それをコードで表明するの。どう扱う必要がるかってことを明確に
.NETで規約が決まってるのは公開メンバだけだから
プライベートメソッド小文字はよくあるぞ
イベントハンドラ用のメソッドとか特に何も考えなければデフォルトで小文字になるし
>>301 スレチだけど問題なくオーバライドできる。違和感あるだけで
301は元々Upper CamelのメソッドをLower Camelではオーバライドできない
といってるのかもね。スレチだけど
winの関数・メソッド大文字の習慣は慣れだとは思うけど、java,js系のoopからはどうしてもコンストラクタ呼び出しに見えるし、winのコードはなんだかいつも馬鹿っぽく見える。
ただの慣れの問題
慣れ抜きに考えたらlowerCamelCaseが一番奇形だろ
まだアンダースコア区切りの方が自然
>>302 でも296の指摘ってや概念からするとその程度じゃねww
class Dotnet {
static void Main() {
System.Console.WriteLine("はろー、しーしゃーぷ");
}
}
>>309 先頭の文字を特別扱いする理由は?
他の要素と区別するとかキーストローク数の都合とか合理的な説明はもちろnできるが
それは単体の名前として自然かどうかとは別の話だ
>>312 なんだか分かってなくて言ってみただけって感じだな。
文の途中の動詞だから大文字にする理由がない。
後続の大文字は単語区切りを明確にする手法の一つ。もちろんアンスコとかでもかまわない
最初にPascalを学んだ俺からしたらJavaのlowerCamelCaseの方が違和感あったな
すぐに慣れたけど
テーブルマナーでナプキンを右におくか左におくか?
それは最初とった者が決めるって大統領も言ってただろ
ナプキンを最初にとった人次第だ
new WriteLine("はろー、しーしゃーぷ");
ジャバラーなら当然コンストラクタ・コールに見えるだろ?
らくがきにみえます
>>304 マヂで?
.net環境だとオーバーライドする際、
大文字のメソッドを小文字のメソッドで
オーバーライドできたんか
>>306 Windowsの基本はCとC++なんで、
大文字から始まる理由はC++由来だろうよ
C++だと関数とコンストラクタの区別が、
見かけ上あまりないからな。
Function();
Type();
//関数とコンストラクタを同一視できる
C「俺は小文字が好きなんだが、、」
VB「ベーシックは基本という意味なんだってさ、、」
Basic「みんな俺のこと忘れちゃうんだな」
>>313 英語だとUCCしか見ないので違和感がある
あとLCCなんて使ってんのJava系統の言語ばっかじゃん
>>321 忘れ去られてる所があるが、
CとC++は、標準的ライブラリは小文字だけ、
標準ライブラリ以外のコードは大文字を使えって指針だぞ。
設計者のFAQに書いてある
327 :
デフォルトの名無しさん:2012/01/04(水) 15:37:09.43
>>326 PlayStation
McDonald
ToBeNext
ToDo
GoTo
>>327 わかってないならレスするな
一番下はでたらめ。一番下以外は名詞。
メソッドは動詞。議論できるレベルじゃないな
329 :
デフォルトの名無しさん:2012/01/04(水) 15:40:30.00
330 :
デフォルトの名無しさん:2012/01/04(水) 15:43:44.86
>>328 To doも、To be nextも明らかに名詞じゃ無いんだけど
もしかして中卒パソコン大先生?
>>329 英語できないなら無理すんなw
その表記がどの位メジャーかお前が提示しろよ。デタラメじゃなきゃ出来るだろ?
そも他動詞で目的語がない時点で気づけよとか他にも突っ込みどころあるしな
333 :
デフォルトの名無しさん:2012/01/04(水) 15:48:13.12
メソッドかどうか、動詞か名詞かはどうでも良くて、
LCCを使った表記を英語で殆んど見かけないって事を
書いたんだけど
ま、下らんことで粘着するのは大人のすることじゃないわな。
ほんと見苦しい。
335 :
デフォルトの名無しさん:2012/01/04(水) 15:51:16.64
______
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日)
民主朝の初代考停、言行不一致、虚言、脱税、
そして外交において巨大な負の遺産を築いた。
>>333 What does that mean?
You are kidding!
動詞は小文字で始まってますな
338 :
デフォルトの名無しさん:2012/01/04(水) 15:51:53.25
>>333 メソッドどうか動詞かどうか、が一番大事だろw
340 :
デフォルトの名無しさん:2012/01/04(水) 15:56:57.77
>>337 そもそもキャメルケースじゃないから当たり前
341 :
デフォルトの名無しさん:2012/01/04(水) 15:58:10.35
まとめると
>>327>>333は自分がMcDonaldという表記を見たから
メソッドの命名では、メソッドか動詞かに関係なくMcDonald形式で書くのが自然だ
とそう主張してるんだろ
つまりハンバーガーばっか食べるのは脳の体調を壊す
>>341 英語の語感が備わってないのに知ったかするな
有害だぞ
344 :
デフォルトの名無しさん:2012/01/04(水) 16:03:02.03
>>339 言葉が足りなかったな。
英語圏で使われるCCと比べて違和感があると
いう話だったんで、話しの筋としては、
英語圏で一般かが一番重要
メソッドだからというならJavaのコーディング規約に
従うという話で終わる
同一視したり比べることが適切でないor出来ないものを並列に並べるとおかしくなりますよ
プログラムは英語圏の自然な英語文法に似せて書けるようになっています
書くのも認識するのも楽だから当然でしょう
文を構成する一部分であるメソッドを、単独で扱える店の看板やポスターのキャッチコピーなどと比べるのは無理があるでしょう
そもそもメソッドがLCCかUCCかは言語ごとに文化が違うという事実が暗に示していると思いますが、
その決定理由は英語的じゃない部分から決まってきている
と考える方が自然でしょう
346 :
デフォルトの名無しさん:2012/01/04(水) 16:21:54.80
どうでもいいがisとかだけを
小文字で始める書き方をTitle caseというらしい
347 :
デフォルトの名無しさん:2012/01/04(水) 16:25:01.64
>>345 流れを読めアッパーケースと
ローワーケースどっちが読み安いか
グダグダもめてただけだ
ぶっちゃけどうでもいい。
ブログラム言語でのTitleCaseは本来のTitleCaseとは少し違った意味をもってるけどね
言語を比較する類の話題は、該当スレが示してるように荒れやすいから
テンプレで予め誘導した方がいいな
それでなくてもC#厨がうざいし
>>347 アッパーケースとローワーケースは全く別の意味。流れも全く違うし、、
いったい。。
352 :
デフォルトの名無しさん:2012/01/04(水) 16:42:59.77
キャメルのまちがいだ
細かいことつつくなよ
353 :
338:2012/01/04(水) 16:55:34.09
流れが全然違いますが……
>>338 は、double-checked locking 問題って結構有名だったようですね。
結局のところ、変数定義時に生成しておくのが一番らしい。
ところで、staticイニシャライザは1回しか呼ばれないですよね?
初期値設定は、コンストラクタ、staticイニシャライザどちらでもいいですよね?
>>353 ケースバイケース
なにやりたい場面かわからんと答えようがない
355 :
デフォルトの名無しさん:2012/01/04(水) 17:30:59.90
Javaのクラス初期化って規則あったっけ?
クラスローダーがロードする度に
初期化するんだろうけど
逆に規則がない構文があるのかと
別途クラスローダを作ってクラスローダごと回収してしまえば
staticイニシャライザなんて何度でも呼べるんだぜ?たぷん
358 :
デフォルトの名無しさん:2012/01/04(水) 20:03:00.04
問題はstaticオブジェクトの初期化順だよ
double checkedなら、初期化順は確実なんだかね
仮想マシンの実装によっては正しく動作しない、というよりは
言語仕様にてその動作が保証されているわけではない、と言うほうが正しい。
だから、言語仕様を満たすギリギリまで迫って
パフォーマンスを上げるような高性能なVMの実装ほど
バグが顕在化する可能性が大きくなるという、笑える話になる。
デバックモードじゃないと何故か正しくうごきませーんみたいな
Javaの静的メンバの初期化順やタイミングは完全に言語仕様で決まってるはず
そのせいで明示的にクラスをロードさせるとかアレな使い方されるんだが
361 :
デフォルトの名無しさん:2012/01/04(水) 21:30:24.34
決まってるらしいのは分かるんだけど
何処に載ってんのよ
何処に載ってんのよなんていってる暇があったら、言語規定読めよ
363 :
135:2012/01/04(水) 22:36:53.66
>>291 ありがとうございます
でも夏までにアプリ作れるようになって面接で話題にしたいので
もう少し頑張ります
ちなみに
>>353 がききたかったのは、
複数のスレッドからクラスに最初のアクセスがあたっとき、
static イニシャライザが複数回呼ばれることはないでしょうかってことです。
ない。
言語仕様読め。はっきり書いてある。
>>359 クラスインスタンス生成式が完了する前に
未初期化参照の代入が行われちゃうわけだから
言語仕様的にはバグなんじゃね?
単に命令並べ替えできる条件を間違えたというだけの話だから
高性能云々はあんまし関係ないというか。
>>366 オレオレ用語だらけで
何を言わんとしてるかわからん。
何が問題か理解してればわかるだろ普通に
オレオレ用語って書いた本人が全くわかってない時や
理解が浅い思い込みしてる場合に見られる現象だよね
>>368 バイトコードで言うと new -> invokespecial -> putstatic になってるのに
最適化で new -> putstatic -> invokespecial に並べ替えられると
double checked locking の問題が発生する。
言語仕様のインスタンス作成のところには
マルチスレッドでも順序が維持されなければいけないとは特に書かれてないから
シングルスレッドの範囲でJavaの意味論的に順番が変わらなければいいとも解釈できるんじゃね
生成しているオブジェクトへの参照とそのオブジェクト内のfinalでないフィールドへの参照について
素のままでは時間的な前後関係(happens-beforeとかいうんだっけ)が言語仕様で規定されていないので、
VMとかの都合で自由に入れ替えてよいはず、とかいう感じで適当に覚えてる
VMはVM仕様があるよね
VM仕様はあんまし関係ないような
LinkedList,ConcurrentLinkedQueueとかのLinkedってどういう意味ですか?
リンクされているとは何が何にリンクされているのですか?
配列?
>>374 知ってるけど、その自由度って必要なんかいね?
実際問題 double checked lockingみたいな直感的でないバグの温床になるってんで
最近の実装は自由に入れ替えてないわけで。
>>377 「アルゴリズム+データ構造=プログラム」とかそういった感じの本を読むといい
ある要素が次の要素への参照を持っていて、最初から順番に要素を辿っていけるようになっているのが連結リストだ
Object hoge; while(flag){ hoge = ...; foo(hoge); }
while(flag){ Object hoge = ...; foo(hoge); }
ループ回数が十分大きい場合、実行速度違いますか?
それとも最適化されて同じになりますか?コンパイラによる?
382 :
デフォルトの名無しさん:2012/01/05(木) 02:43:56.91
383 :
377:2012/01/05(木) 02:46:58.64
遅レスのうえ何の証左にもならん引用して何をしたいんだ
>>378 オブジェクト生成完了時のフィールドの可視性を保証するならば、
たとえ終始シングルスレッドでオブジェクトの生成・アクセスすることを考えていても
(VMが他スレッドに漏れてないと判断するまで)他スレッドへの可視性を保証するために、
インライン展開などの最適化は妨げられ、また同期のオーバヘッドが掛かるはず。
ありとあらゆるオブジェクトの生成に関して。
そもそも、finalフィールドでなければ、
アクセスした次の瞬間に別の値になっていることを想定しなければならないし、
同期を正しく行わずにオブジェクトにアクセスしたりすれば、
正しい値が見えないどころかオブジェクトの整合性を壊す可能性もあるかもしれないことは、
オブジェクトの生成時に限らない。オブジェクトの生成を特別視し、
その完了時にフィールドの可視性を保証することにどれだけの意味があるだろうか?
だいたい、一貫した同期を使わない double checked locking って気持ち悪くね?
ジャバラーだからわからんが、そもそも、Cとかの他言語でも、
それぞれのプロセッサは必要がなければ内部情報を交換しない方が速いんじゃね?
?
マルチスレッドはもっと管理されるべきだよね
synchronized(笑)
英語も日本語も専門家同士でないなら格好つけることもないし術語の使い方を気にしなくていいとは思うけど、一般用語としては「保証」よりも「保障」の方を使う
>>386 すまん、386を読んで疑問を感じなかった俺に問題点を教えて欲しい。
アウトオブオーダー実行しない=インライン化できない&同期化必須は飛躍しすぎ。
両者は関係ないし。
あと、
>>378が事実ならたぶんバグ抑止が目的じゃなくて
finalフィールドは言語規定により初期化必須なので
特別扱いするのが面倒なだけかと。
StringBuffer,Vectorなどジャバで言うところのスレッドセーフとは何かを考えてみるといい
>それぞれのプロセッサは必要がなければ内部情報を交換しない方が速いんじゃね?
内部情報を交換するとは具体的にどうやるの?
public Hoge(String configFilePath) {
this(load(configFilePath));
}
ttp://d.hatena.ne.jp/bleis-tift/20091114/1258170394 これってどういう意味ですか?
フィールドの内容をstoreしたものを使ってloadしてフィールドに設定するという意味ですか?
検索するにも、this.load or this->load ばかりがヒットして見つかりません。
説明してくれているページへ誘導してもらえると助かります。
396 :
395:2012/01/05(木) 09:33:14.24
すみません。節穴でした。
eclipseに貼り付けて、色分けしたらわかりました。
397 :
395:2012/01/05(木) 09:56:55.80
理解してなかった。
this()ってオーバーロードした他のコンストラクタなのね。
便所の落書き失礼しました。
>>392 たしかにfinalで修飾されたフィールドがある場合に、
そこの初期化だけ抜き出してまでアウトオブオーダー実行するのは手間に合わないような気はする。
finalで修飾されたフィールドの有無を検査しておけば
一つもない場合は自由にアウトオブオーダー実行できるような気もするが、
それも面倒なのかな。検査とかフラグ持っておくスペースとか。
>>393 たいていもっと大きい単位での同期化が必要になるから、そういうのがスレッドセーフでもあまり意味はない
結局必要に応じて慎重に自分で同期化するだけ
400 :
395: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の部分が矛盾してしまう。「特別です」って言えば済むけど。
ArrayListでなくLikedListを使うよさがよくわかりません
なんか説得力がある場面を教えてください
LinkedListの話なら、
時間とメモリの有り余ってる奴にはなんのメリットも無いから安心しろ
402じゃないが
総合的に見て、ArrayListよりリンクリストのパフォーマンスが良くなるのは
途中への追加や削除が非常に多くてそれが律速になるような激しく極端なケースだ
少々ArrayListの途中へ挿入したり削除したりしてもそうそう問題にはならんからあんまり気にするな
速度的にはそんな感じだけど、LinkedListのがメモリ食わね?
動的配列だと管理のために余分に必要なメモリは高々参照のサイズの2倍くらいで
リンクリストだと要素数*ノードのサイズで双方向リストだからリンクリストの方が大きいかな
GCの負担も増える
408 :
デフォルトの名無しさん:2012/01/05(木) 12:40:43.99
vectorは累乗で確保するが、array listは違うだろう。
パッケージについて教えてほしい。
protected とか、public,protected,privateを書かなかったときとかって、
パッケージ内にアクセスが許可されるじゃないですか。
この「パッケージ内」っていうのは、どういう場合に必要になるのですか?
勉強中なのですけど思いつかなくて困ってます。
ConcurrentLinkedQueueというクラスがあります。
キューのつくり的な意味で、どうして、
ConcurrentLinkedQueue があって
ConcurrentArrayQueue がないのだろうと疑問に思います。
>>405が示してくれているように中間への追加がないのであれば、Arrayの方がよい気がするのですが。
どうしてかわかります?
ArrayQueueなんて内部でsynchronizedしまくってArrayの伸長処理しまくらないとダメだろ
需要ない
412 :
411:2012/01/05(木) 13:58:34.38
Windows,Linux,Macで動作するGUIプログラムを作る場合はSwingで問題ないでしょうか?
他にこれ使ったほうがいいというものございますか?
頭とか。
>>403ありがとうございます。
>8.1.3 Inner Classes and Enclosing Instances
書いてあるのはこの付近なのかな?
ttp://d.hatena.ne.jp/les-cochons/20111031/1320059312 同じくstaticで調べていたら、これ見つけて読みました。
>1. メモリ量節約
ってあるのですが、シングルトンとstaticとでどうメモリ量が違うのですか?
起動したときに、クラスローだがコード全部読むみたいだから、ほとんど変わりない気がするのですけど。
むしろシングルトンの方が小さいような気がする。(初心者的な想像で。
シングルトンでメモリ量気にするようならJava使うの諦めたほうが……
あと、そこでシングルトンと比較されてるstaticクラスってのは
staticフィールドとstaticメソッドだけで構成されてるようなクラスの事で、
staticメンバクラスとは違うぞ。たぶん。
Javaで定番のデザインパターンを教えてください
>>417 本屋にいってデザインパターンってタイトルついてる
3000円以上の本買えば大抵書いてる
>>415 微々たるものだけど一応節約になると思う
メモリ上にクラスとインスタンスの領域があって、
staticはクラスの領域に直接アクセスするからインスタンスが必要無い。
シングルトンはインスタンスを生成するのでクラス1個+インスタンス1個分の領域が必要。
インスタンスはGCなどで管理されるのでオブジェクト外部でも管理コストがかかっている。
420 :
419:2012/01/05(木) 15:17:21.62
ちなみに言うと、staticとシングルトンの使い分けは、
状態を持つならシングルトンを使うべき。
public static finalで宣言できる定数ならstaticでも良い。
finalがあればそれは状態じゃなく固定値になるから。
状態はインスタンス毎に持たなければいけない。
クラスはあくまで固定的な型であって、状態をstaticメンバで持つのは明らかに間違ってる。
classファイルは内部クラスがある場合、別ファイルに分割されて保存されるが、
ソースファイルにおいては別ファイルに分けて記述することは、
「できない」。
であってます?
検索してみた結果は、クラスを分割しろ、ってのしか見つけられていません。
外側のクラスのメンバ変数を利用したいから、内部クラスのうまみを存分に堪能したいのだが。
よろしくお願いします。
C#のpartialみたいな事はできないよ。
>>419 その程度の節約だと、何かあるとすぐ逆転しちゃうんだよな。
例えばフィールドで済んでたのを引数に配列使って代用とか。
かなり条件を限定しないと、どっちが節約になるかは微妙。
今からやるならAWTってやる必要ないですか?
Swing一本で頑張っても戦力になれますか?
人民元暴落間近、実はマイナス成長の中国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
Javaとc++どっちやろうか迷ってます。
プログラミングは初めてです。
両方やったことある人に聞きます。
最初はどっちから手を出した方がいいですか?
マルチ乙
好きなのやればいいのに
>>426 俺は初心者だけどC++は覚えることが多すぎる事と初心者サイト見てもないような初心者向けじゃなさ過ぎて挫折した
Javaだと初心者向けサイトが多いから覚えやすい
だからJavaをお勧めします
でもC#もいいよ
配列って基本データ型しか使えないであってますか
Strig s[]= {"abc","def"};
JavaScriptばかり弄っていたら混乱してしまって
>>424 >今からやるならAWTってやる必要ないですか?
はい
>Swing一本で頑張っても戦力になれますか?
いえい
いえい?
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がデフォだが、
可能な限りパッケージスコープをデフォにしとくべき
Javaの勉強をする場合
いきなりeclipseから入っても覚えても大丈夫ですか?
やっぱりテキストエディタでコマンドプロンプトからjavacしなくてはだめですか?
あといきなりGUIはやめたほうがいいですか?CUIからやるべきでしょうか?
好きにすればいい
Eclipseを使おうがテキストエディタを使おうが、コマンドラインでJavacを使おうがAntを使おうがMavenを使おうがどうでもいい
438 :
デフォルトの名無しさん:2012/01/05(木) 19:15:17.20
コマンドラインの知識はとっと身に付けて
おいたほうがいい。個人の経験上
dllとのリンクエラーとか実行環境エラーの
原因に気づかないヤツが多い。
どうせ全部要る知識だから好きなのからやればいい。
ただEclipsを使ってはじめたほうが早くいろんな知識が得られると思うけどね。
メニュー眺めてるだけでも何ができるか眼に入ってくるから。
アウトオブオーダーと可視性は全然とはいかないけどあまり関係ないだろ
VMの実装によるだろうけど
気晴らしに勉強すればいい
javac javaなんて面倒くせぇ
パッケージが特に
ただ知っておくといいかも
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の文字の大小はどうしたら変化しますか?
444 :
409:2012/01/05(木) 20:33:13.70
>>435 ありがとうございます。なんかすごくわかったような木がします。
ファイル名のクラスってpublicじゃなくても良かったのですね。
パッケージスコープとかで検索したら、facadeというwikipediaの記事にたどり着いて理解が進みました。
>>435 publishedでないならpublicでもガンガン変更してOKだけどな。
publishedなんて予約語あったっけ?>Java
データベースの値を基に計算する場合、例えば
「単価×数量=売上金額」などでパフォーマンスの問題で
データベースではなくアプリで計算したい場合どういった方法があって一般的だろうか?
1.Resultsetに列を追加して計算結果を格納するとかはできるだろうか?
2.Resultsetから配列などにコピーして計算する。
3.他にも何かある?
表示するだけが目的で、なおかつMVCを使っているならビューに計算させる。
>>448 >データベースではなくアプリで計算したい
何でパフォーマンスが落ちるのかな?
protectedって、パッケージ同じだったら外部からアクセス可能なんだ…。
無修飾(package private)より緩いとは思わなかった。
ところで、privateのメソッドの単体試験をしたいときって、JUnit使えないのかな?
単体試験のために、ソースをそのまま(privateのまま)にアクセス制限を緩めることができるとかなんとか聞いたことがあるのだけど。
>>447 >published
447じゃないんだが、
予約語とかじゃなくて、自分が使うために作ったソースならってことじゃないの?
違ったらすまん。
>>451 > ところで、privateのメソッドの単体試験をしたいときって、JUnit使えないのかな?
そこでGroovyですよ
JavaコードのテストをJavaで書いちゃう奴はゴミ以下
String s = new String();
これが最悪と書いてあったのですけど、なんでですか?
String s = "";
String s = new String("");
となにか違うのですか?コレも最悪の一つたちということですか?
オーバライドと隠蔽の違いがよくわかってません。
エスパーしてください。
クラスを継承して、クラスのフィールドやメソッドを再度定義した場合、Javaでは確実にオーバライドっていう、というのは問題ないのでしょうか?
この場合でも、継承元となったクラスの変数を宣言して、それにサブクラスのインスタンスを代入すると、継承元のフィールド・メソッドにアクセスできますよね?
こういうのはオーバライドって言わないで、隠蔽って言うっても聞きました。
では一体オーバライドというのは何なのですか?
abstructを実装したときだけオーバライドなのですか?
>>456の動作ってjavacの仕様なの?
たまたまSunのJDKが頑張ってるだけってこと?
458 :
454:2012/01/06(金) 04:12:27.31
>>456 ありがとうです。
追加でもう一つ;
label1:
{
// とても長い処理
if(何かの判定) break label1;
// とても長い処理
}
のような書き方が出来ると知って、gotoの代わりに便利なので使うことがあるのですけど、
これって初心者サイトでみたことがないです。
なんというのですか?
do{
// とても長い処理
if(何かの判定) break;
// とても長い処理
}while(false);
この様にすると、何か不細工なのが嫌いで…。
>>458 の件、自己解決しました。ありがとうございます。
enumってfinalじゃないですか。
継承して要素を増やしたりしたい人は、
おとなしくclassつくって、public static final intでもしてろって感じでしょうか?
もっと良い方法、というか定石があればレス欲しいです。
>>458 do-whileでいいだろ
わざわざラベル使うとか。。
switch文くらいでいいよラベル使うのは
ループしないのに do-while もおかしいだろw
普通にメソッドに切り出して return しろよ
466 :
463:2012/01/06(金) 08:18:38.22
>>458 よくみたら
do{
// とても長い処理1
if(何かの判定) break;
// とても長い処理2
}while(false);
これはあり得ないな
だったら、
// とても長い処理1
if(!何かの判定) {
// とても長い処理2
}
って書けばいいだけ
コンテニュー使えばいい話だろ。
>>447 例えば BufferedInputStream#buf は protected だが、published だから変えられない。
Delphi とかにあるpublished とは直接関係ない。published interface でぐぐれ。
>>455 > この場合でも、継承元となったクラスの変数を宣言して、
> それにサブクラスのインスタンスを代入すると、
> 継承元のフィールド・メソッドにアクセスできますよね?
インスタンスメソッドは基本的に上書きされた方しかアクセスできない。
クラスメソッドやフィールドは覆い隠しされてるだけだからアクセスできる。
インスタンスメソッドは上書きとかオーバーライド、
フィールドとクラスメソッドは隠蔽とか覆い隠しとかハイディングとか呼ばれる。
上書きはoverrideの訳語。
隠蔽とか覆い隠しはhidingの訳語。
>>460 定石はないような。手間かけずに int enumでやってもいいし、
typesafe enumを継承できるように改変するのもアリ。あんましtypesafeじゃなくなるけど。
1.8以降の新機能の要望としてabstract enumもあがってるんだが
優先度低そうなんだよな。
>>461 can't load javah でぐぐったら
com.sun.tools.javah.Main あたりのクラスが読み込めてないっぽいが。
JAVA_HOME が設定されてないとかじゃないよね?
日常的に ant 使ってるなら、たぶん javac は通るんだろうし……
>>451 java.lang.reflect.Method貰ってきてsetAccessible使えば
リフレクション経由で呼べる事は呼べる。
privateメソッド/フィールドを試験対象にするのはあまりオススメできないけど。
java.util.concurrent.ConcurrentLinkedQueue<Base>
= new java.util.concurrent.ConcurrentLinkedQueue<Sub>();
って出来ない?
マジで?
ワイルドカード使え
いま、「Base」を「? extends Base」にすればいいってとこまで来たのだけど、
ConcurrentLinkedQueueはそのまま使ってていいのかな?
キャプチャー・ヘルパーって必要?
アクセスする部分を書いていくうちにわかるのかな。
エスパーできたらレスください。
477 :
デフォルトの名無しさん:2012/01/06(金) 11:32:02.02
ある文字列がファイル名として妥当な書式かどうかを判別するにはどうしたらいいですか?
実在するファイルかどうかじゃなく、ファイル名として妥当かどうかが知りたいです。
@Override
って書かずに同じシグネチャのメソッドを定義したら、書いた場合と何が違うの?
オーバーライドされてるのかどうかが分かり難いってだけ
不意にシグネチャをかえたら、
継承元メソッドが呼び出されて偶然動作してしまう事がありうるので
オーバーライドしているのかどうかは分かったほうが良い
>>479 実はオーバーライドがうまくいってませんでした、
ってときに怒ってくれる。
逆だろ。@Override外すとスペルミスったりしても怒ってくれない。
>>477 ほぼ無理。
辛うじて File#separator ぐらいならあるけど、
文字化けするとかファイル名に使っちゃいけない文字とかを調べるメソッドはない。
>>460 enumでやりたい事が処理の選択ぐらいだったら、
enumじゃなくただ継承使うだけで十分
SelfEnum mime;
mime = new MimeJpeg();
mime = new MimePng();
mime = new MimeBitmap();
ResourceConvertor convertor = mime.create();
ostream = convertor.decode( istream );
importって相対パスで書けない?
試した限りむりっぽいけど。
配下のパッケージまで絶対パスしてするのわずらわしい。
無理。最近はIDEが勝手に補完するので自前で書かないからどーでもいい。
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();
重複なんて滅多にしないのにそんな機能に力を注ぐのはバカバカしいな。
力を注ぐのがバカバカしいほど難しい機能でもないだろ
プリプロセッサでも十分なレベルだし
いや…まぁいいや。
型名の重複自体がレアだからな。
わざわざ自分で長いパッケージ付けておいて面倒臭がってるなら単なる間抜けだし。
C#やらC++なら new xml.Document()やらnew pdf.Document()やらnew msword.Document()やら
結構使うけどな。Javaだからめんどくさくてしないだけで。
Javaにc++でいうstd::terminate()みたいなのってありますか?
>>485 奥の手はある。importの代わりにPackage Privateなclassやinterfaceで継承する。
class PDFDocument extends com.adobe.pdf.Document{}
class XMLDocument extends org.apache.commons.xml.Document{}
>>493 System#exit() Runtime#exit()あたりの事?set_terminate() っぽい事はできないけど。
496 :
1:2012/01/06(金) 19:27:12.61
Javaで
修飾子 {} のみって構文としてありますか?
static {}
というのを見たのですが
syncronized{}とかもある。
別に 修飾子{} ってな規則が有るわけじゃなく、
単に特殊ブロックとして 予約語{} ってな文が何個か用意されてるだけ。
ない。
static {} は static initializer とか静的初期化子でぐぐれ。
499 :
1:2012/01/06(金) 20:15:09.16
>>497-498 ありがとうございました。
静的初期子で検索したらでてきました。
重ねて質問なんですが、
高橋麻奈のやさしいJavaなどのテキストを使用してますが、静的初期子どころか、ジェネリックやコレクションすら載ってません
中級者以上でも辞書がわりに使えるJavaのテキストで、定番やお勧めはございますか?値段は問いません。
プログラミング言語Java がおすすめ
EclipseからWTPプラグインつかってJetty8.0起動すると、
java.lang.ClassNotFoundException: org.objectweb.asm.ClassVisitor
というエラーが出ます。どうすれば正しく起動できるでしょうか。
よろしくお願いします。
>>500 ありがとうございました。
>>501 もう絶版みたいです
Java7まで掲載されてるといいのですが・・・
東京にある6つのキー局の内、製作から財務まで一貫して朝鮮人が行ってるテレビ局が1つ
中国共産党から毎年大量の反日工作費が流れているテレビ局が2つ
もろに北朝鮮と繋がっているテレビ局が1つ
年寄はまだまだテレビという外国人に騙され続ける
Javaの予約語でnativeってのがあるけど、どゆとき使うの?
てーか、実際に使ったことある??
JNIについて調べればわかる
C#は作ったプログラムからソースコードに変換するツールがあるって聞いたことがあります
そこでJavaに移行したいのですがJavaで作ったプログラムにもこのようなものはあるのでしょうか?
ある
JUnit4 でテスト対象のメソッドを呼び出したら
一定時間以内に返ってくることをテストするにはどうするのがおしゃれですか。
別スレッドでメソッドを呼び出して置いて本スレッドは sleep し
別スレッドが終わっているか確認するのはダサいと思っていて。
>>508 ええええええええ
暗号化する方法はないですか?
こういう奴って時々出てくるけど、どんな大層なプログラムを作ってるのか毎回気になるな
自分で見つけられないうちは必要ない技術の筆頭だよな
>>509 楽したいならtimeout指定もできるよ。
スレッド使わなくても、
long start = System.currentTimeMillis();
//テスト対象の処理
long elapsed = System.currentTimeMillis() - start;
if (一定時間 < elspased) fail();
みたいにすれば良いだけのような。
好みで currentTimeMillis は nanoTime なりに置き換えてもいいし。
>>510 コンピュータが読めるのに人間が読めないわけ無いだろ
>>514 Javaのprotectedは同じパッケージ内から見える
>>516 すっかりまるっと失念していました。
ありがとうございました。
>>515 じゃあ暗号文を解読してみろや
解読できたらお前に土下座して謝ってやんよ
youtubeとニコ動に動画取って載せてやんよ
16b014a27f54b6c405d9b017c005ef7c
519 :
455:2012/01/07(土) 12:19:24.84
>>469 遅レス申し訳ない。
>インスタンスメソッドは基本的に上書きされた方しかアクセスできない。
>クラスメソッドやフィールドは覆い隠しされてるだけだからアクセスできる。
勘違いしてました。
インスタンスメソッドを書くのが面倒だったので、
どうせ同じだろうと、フィールドで試していました。
インスタンスメソッドはc++で言うvirtualが必ずついている感じなのですね。
非常にわかりやすい説明に感謝します。ありがとう。
>>518 暗号解くにはキーと復号アルゴリズムが必要だろ
両方揃ってれば機械でも解けるし当然人間も解ける
ついぞ昔は人間が頭で暗号化して紙に書いてたんだぞ
できるできないで言えば、人間による解読も決して不可能ではないな
>>518 おまえバカだなあ
コンパイルは仕様が公開されてるだろ。それを暗号を比較できるわけないのに
おまえバカだなあ
見に行くの面倒だ
要点しぼって引用しろ
海外輸出を狙っている韓国高速鉄道(KTX)で、今度は停車駅を見過ごした後、逆走行で戻ろうとした“トンデモ事故”が発生し、世論を驚かせている。
これまでは故障や脱線など車体事故が多かったが、今回は運転ミス。相次ぐ不祥事に「輸出話などまだまだ」と世論は冷ややかだ。
“事故”があったのは2日夕。ソウル発釜山行き列車が、最初の停車駅だったソウル市内の
永登浦駅に止まらず約3キロ走ったところでこれに気付き、約10分間、逆走行し永登浦駅に戻ったという。
原因は運転手の錯覚だった。管制センターは急遽(きゅうきょ)、後発列車の運行調整など安全措置を取り
、追加事故は防いだ。しかし、こうした逆走行は前代未聞で、車内放送もないまま乗客は恐怖と不安に震えたという。
また3日夕には、線路に侵入した鹿と衝突して立ち往生し、乗客が他の列車に乗り換える事故もあった。
高速鉄道ながら在来線を走っている部分があったり、防護フェンスに手抜きがあったりし、野生動物との衝突がしばしば起きている。
KTXはフランス高速鉄道(TGV)を導入し2004年に開業した。10年には国産車両を開発し、ブラジルなど海外へ
売り込みを狙っているが、故障や事故が頻発しているほか、遅れが多く定時運行もいまいちだ。
開業10年にもならないのに「海外進出を!」という拙速ぶりに批判の声が聞かれる。
http://sankei.jp.msn.com/world/news/120106/kor12010620010005-n1.htm
コード引用はあれなのでここにかけませんが
public static void main(String[] args) {}内に書くだけの
画面を表示させるだけのものすごいシンプルな王道コードを教えてください
>>527 public static void main(String[] args){
JFrame frame = new JFrame();
frame.setVisible(true);
}
>>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のコードを書いてますが
この中に書くのと書かない違いはなんでしょうか?
ためせ
>>529 純粋にGUIの描画とメインの処理は別スレッドで行うべきという思想だと思う
Swingではたくさんあるコンポーネントの表示とかの処理を
内部でEventQueueに突っ込んでユーザの処理をブロックしないように
別スレッドで順次描画してるから、それに横に倣え習えしてる
あとはXMLDecoderとかでオブジェクトをxmlから読み取ったときとかに、
オブジェクトのリサイズとかの構築処理も別スレッドで行われるから、
全部の構築が終わってから何かしたいっていう時に、
その処理をEventQueueに突っ込んどくと、全部の描画の後に処理を呼び出せる
>>531 なるほど
ということはEventQueue.invokeLater( new Runnable() {の中に書いたほうがよいかもしれませんね
ありがとうございます
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
int x = 100;
System.out.println(x);
これでエラーにならないのは何故ですか?
int x = 100;
System.out.println(x.toString());
って書かなくてもいいのですか?
JavaはPHPみたいに暗黙の型変換があるということでしょうか?
コード作法としてはtoStringで文字列に変換するべきでしょうか?
>>535 printlnはいろんな型の引数をもつメソッドがオーバーロードされてるんですよ
このスレって
プログラムが上手く動かないので
どうすれば上手く動くようになるかの質問も
受け付けていますか?
538 :
536:2012/01/07(土) 19:24:15.88
>>537 いいんじゃない?
ただし、ソースを強く推奨
Javaの宿題は宿題スレ
そうじゃないんならいいんじゃない
>>536先生ありがとうございます
なるほどオーバーロードされてるからエラーが出なかったわけですね
勉強になりました
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関数の中では取れるですか?
staticメソッドの中ではstaticフィールドしか触れないのに
インスタンスフィールドに触ろうとしたから。
>>543 mainはstaticだから
つか、エラーメッセージに書いてあるだろ。
Cannot make a static reference to the non-static field x
って書いてありました
これを読めばいいのですね
22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0
AKB=金正恩
この意味わかるか
AKBという捏造ブームの裏に何があるか見えるか?
喜び組み
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
この文の意味ですが、BufferedReaderクラスのインスタンスを
System.inを引数としたInputStreamReaderクラスの引数をいれて生成という意味ですか?
キーボードから入力したバイト単位のデータを文字として読み込んでバッファにためるためのオブジェクトを生成し、そのオブジェクトにBufferedReader型の変数rでアクセスできるようにする」という意味でした
解決しました
今日からはじめてばかりなんですがJavaってJavaScriptと似てるところありますね
splitとかreplaceはjavascriptとそのまんまなので学習しやすいです
JavaScriptはJavaを参考に作られてるかなんでしょうかね
>>537の者です。
それでは質問させていただきます。
javaの勉強として
自分が買った参考書とあるサイトを参考にして
「ボールをたくさん作って壁に当たると跳ね返る」プログラムを作っています。
こちらがメインで動かすメソッド
ttp://ideone.com/nsDba こちらがボールクラス
ttp://ideone.com/aIXTH 前にボールを跳ね返る処理を作ったんですが
その時、メインの方にある54行目のclearRectメソッドによって
ボールの軌跡のようなものを消していました。
しかし今回はclearRectメソッドがあるとボールが表示されません。
clearRectメソッドを消すと全てのボールが軌跡を残して動いてしまいます。
全てのボールが軌跡を残さずに動く処理方法を教えていただきたいのです。
お願いします。
>>553 ありがとうございました!
上手く表示させることができました。
555 :
デフォルトの名無しさん:2012/01/08(日) 01:00:19.88
>>543 念のため補足するが、
t.xならコンパイルが通る。
eclipseのJDTの話題はeclipseスレの方がいいですか?やはり。
>>556 正規表現クラスを使えばよい。
ただしエスケープに注意。
Pattern p = Pattern.compile("totalResultsAvailable=\"(\\d+)");
Matcher m = p.matcher(xml_string);
if(m.find()) System.out.println("hit:" + m.group(1));
WindowBuilderって楽しいですね
初心者でも楽にGUIが作れるしVC#に慣れてたので助かりました
>>473 >>475 >>476 ↑なんですけど、getは(この場合、poll)できるのですけどput(この場合addやoffer)が出来ないです。
どうすれば、いいのでしょうか?
支援お願いします。
561 :
560:2012/01/08(日) 13:58:01.88
自己解決しました。失礼しました。
コンテナ<? extends Base> = new コンテナ<Sub>();
が通っていたので、よくわからなかったのですけど、継承関係は、
Base
┣? extends Base
┗Sub
なんですね。しかも、?は無名の何かの名前で、出てくるたびに違って、?のコンテナには何も入れれないと。
Baseクラスがabstractだったので、コンテナを生成出来ないと思っていたら、初期化かイニシャライザでコンテナ生成できましたね。
コンテナ<Base> = new コンテナ<Base>(); @ 初期化 or イニシャライザ
で解決くさい。?使うのは関数の引数なんですね。他に用途があればレスもらえるとうれしいです。
>>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("開始");
}
}
>>564 > 非チェック例外のRuntimeExceptionのサブクラスだから
> throws〜の記述が無くてもきちんと動くという認識で良いのでしょうか?
yes
Mobile Suit Zeta Gundam 29
eclipseで勝手にimportしてくれるのを停止させることって出来ますかね。
それが困るような設計しているのがまずいのかな。
abstractなメソッドを継承先で書くことって、
オーバーライドではなくて実装というのですか?
@Override書いたら、eclipseが何か言ってたもので。コピーできないのでコピペできない。
>>568 Window->Preferences->Java->Editor->Content Assist
Add import instead of qualified name
間違ってたらごめんね
571 :
デフォルトの名無しさん:2012/01/08(日) 17:44:44.01
byte[]からbyte[]へのエンコードってどうやればいいですか?
573 :
デフォルトの名無しさん:2012/01/08(日) 18:31:40.46
for文って{}を省略できますか?
574 :
573:2012/01/08(日) 18:51:35.93
1文なら省略できるんですね
解決しました
if文も、1文なら省略できるお
DatagramPacketWrapper
┗java.net.DatagramPacket data
というDatagramPacketWrapper型を宣言して、
data == null
のDatagramPacketWrapper(!=null)をコンテナに入れたら、
NullPointerExceptionがスローされました。
外側のデータがあるので、問題ないかなと思ったのですけど、
Javaのコンテナではこういう場合もNullPointerExceptionにするってのが文化なのですか?
今解析中なので原因は別かもしれません。
震災前
/::::::::::::::::::::::::::::::;;::ノ ヽ;::\
/::::::::;;;;;;;;;,,,;;...-‐''"~ ヽ:;::l
|:::::::::::| 岡田 異音 |ミ|
|:::::::/ ,,, ヽ,、 '|ミ|
'|:::::::l '''"" ゙゙゙゙` |ミ|
|:::::|. ,,r ‐、 ,, - 、 |/
,/⌒| ノ ・ _), (. ・ `つ|
| ( "''''" |"'''''" |
ヽ,,. ヽ |
| ^-^_,, -、 |
| _,, --‐''~ ) | マニフェストもう守れない。どうしよう・・・・
'ヽ ( ,r''''''‐-‐′ /
震災後
|:::::::::/ |ミ|
|::::::::| ,,,,, ,,,,, |ミ|
|彡|. '''"""'' ''"""'' |/
/⌒| -=・=‐, =・=- |
| ( "''''" | "''''" |
.ヽ,, ヽ .| キリッ
| ^-^ |
. | ‐-===- | 大震災が起こったのだからマニフェストの破綻も致し方ありません
,\. "'''''''" /
朝鮮民主党
おわり
579 :
576:2012/01/08(日) 19:22:24.77
>>576 すみません。
コンテナの本体を実体化していませんでした。お騒がせしました。
とろろで、ご存知の方教えてほしいのですけど、↑のような書き込みって、定時スクリプトかなんかなのでしょうか?
プログラミング板しか来ないので良く知らないのですけど。
>>579 いや、他の板にも来てるよ同じの
スクリプトなんじゃね?
おまえの日記じゃない
って感じの書き込み急に増えたな
近頃、Apache Mavenの情報が少なすぎる気がするけど
Maven使ってる人って少ないのかな?
>>581 深淵を覗くとき、深淵もまたこちらを覗いているのだ
>>583 地球が林檎を引っ張るとき、林檎もまた地球を引っ張っているのだ。
うむ
全ては相対的なのだ
>>583 電車が100kmで走るとき、私も100kmで走っているのでしょうか!
>>587 「私」は電車に乗ってんの?それとも超人的な並走を魅せてるの?w
そんなJavaとは関係ない話どうでもいいからさあ
Apache Maven使ってる人はいないの?
質問なのですが
Javaで
if 10 in [10,20,30]
のような良い方法はないでしょうか?
よろしくお願いします。
>>588 わたしはもちろん寝ています。夜ですから
【ソウル聯合ニュース】国策シンクタンクの韓国開発研究院(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 ) )
{
}
名無しでいいよ:2011/08/15(月) 23:20:15.53 ID:2fed4jwtO
FNS歌謡祭やHEY!×3の制作会社
株式会社CELL
東京都千代田区麹町2―2―4麹町YTビル
前バリ・REN4・野田らに政治献金した後藤組のフロント企業
メディアトゥエンテイワン
東京都千代田区麹町2―2―4麹町YTビル
GUI初心者です
5日でラーメンタイマーを作れました
他にも何か作りたいのですがネタが浮かびません
初心者用のネタありませんか?
>>593 それだと asList で作られるのが List<int[]> になるからダメだな。
if (Arrays.asList(10, 20, 30).contains(10)) とかにしないと。
マインスイーパーとか電卓とかエディタとか2chブラウザとかTwitterクライアントとかFacebookクライアントとかでも作れば?
599 :
デフォルトの名無しさん:2012/01/09(月) 11:56:52.41
Ubuntuで動作させるJavaプログラムにたいして、
Windowsで動作させるJavaプログラムから、命令を出したり、
情報を取得したりするには、Socketを勉強しなきゃだめですか?
もっと高級なライブラリはありませんか?
>>597-598 ありがとうございま
カレンダーあたりで何か作りたいと思います
その次に電卓に挑戦してみたいと思います
すいません.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;
}
}
>>601 それだけなら、ちゃんと hoge って表示するはず。
>>602 なるべく単純化した上の形で出来ないので正直お手上げなんです
javaはversion "1.6.0_24"です
どうでもいいが、気持ち悪いネーミングだな
>>606 本当だ…。自分の環境だとnullなんですが,環境の問題なのかなぁ…
原因がわかったら報告します
勉強しているけど、hash周りってそんなに重要なん?
別に
効率の良いハッシュ関数っていうのは考えたらわりと面白いし分かりやすいテーマだからみんな語りたがるけど
使われ方にもよるので一概にどうすればいいと言えるもんじゃないからそんな神経質にならなくていいよ
ハッシュって何?ポテト?
ハッシュ関数ってプログラミングというよりは数学の問題だよね。
実際の効率となると元のデータの性質や分布に激しく依存するから
そんな単純な数学の問題というわけでもない
つまり数学の問題だな
615 :
デフォルトの名無しさん:2012/01/09(月) 22:32:23.87
コンストラクタの中にSystem.out.println("テスト");と書いても、String@ハッシュ値と戻り値にならないのは、
Stringクラスの中のtoStringがオーバーライドされているからですか?
また、System.out.println("テスト")というのは、"テスト"というインスタンスが生成されてるのは分かりますが、
クラスはどこにあるのでしょうか?
ファイルとフォルダ一覧を取得するときにこのように書いてます
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();
の辺りで隠し属性を省いて取得できませんか?
>>607 簡略化する前のコードがどこかで
非同期処理によってsychronizedになっていない箇所があるか、
変数名のスペルミスで違う変数に代入しているとかが怪しいな
Findbugsとかでコード検査してる?
昔の話だけどJDK1.3でhelloworld程度がうまく動かない問題が発生したことがあって
何度やってもおかしいなって話があって、調べている間にJDKを再インストールしたら直ったことがある。
10年も昔の話だからあてにならないかもしれないけどね。
>>608 Object#hashcode()なら
自作しておけば不変クラスやコレクション系ではパフォーマンス上がることがあるし
作っておいて損はないな。
俺は自作しないでApache Commons LangのHashCodeBuilderをそのまま使ってるけど。
eclipseで自動生成しとるわ>hashcode
>>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);
}
>>619 今のEclipseってVanillaでそんな便利な自動生成機能がついたんだっけ?
昔はCommons4eというプラグインをインストールして自動生成していた記憶があるけど
>>620 ありがとうございます
以前勧められて1.6を利用してますが両方とも参考にさせていただきました
>>621 Java7以降ならObjects#equalsやObjects#hashCodeが標準で使えて便利になった
まぁまだJava7は普及してないけどな・・・
625 :
623:2012/01/10(火) 00:03:09.68
これでいいのかわかりませんがgetParent()とgetPath()を使って解決しました
Windowsのcmd.exeから
java.exe Hoge *
ってやると、argsにワイルドカード展開された結果が格納されてしまうのですが、
ワイルドカード展開を抑止する方法はないでしょうか? "*" とやっても展開されて
しまうようです。。
>>626 良くわからんがそれはJavaじゃなくてcmd.exeの挙動なのでは。
手元にWindowsが無いから知らんがシングルクォートで囲めばよかったはず。
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で保存したテキストファイルをテキストファイルに出力するときちんと形態素解析がされています。
なんか最近質問が多いけど卒論シーズンとかそういう関係かな?
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();
}
}
ジャバラーの皆さんは当然のように
Javaneseも使いこなすの?
>>623 Fileを使うときはgetCanonicalFile(), getCanonicalFilePath()で絶対パスが取れる
String filePath = new File("C:/test/java/src", "../").getCanonicalFilePath();
ていうか,ずばりそのままgetParent()とかgetParentFile()があるし
>>629 そもそもcmecabのライブラリ、きちんと通せてる?
こいつはjar突っ込むだけじゃあかんよ?
そろそろ
>>1のテンプレに長いコードはgistとかに貼れって書いた方がいいんじゃまいか?
他スレではとうの昔に書かれてるのにな
親と子が居て、
親
子に仕事を頼みます。
子が結果を返すまで待機します。
子
頼まれた仕事をします。
結果を親に報告します。
といった同期処理が必要なんですけどこういうのってBlockingQueueを使うのが一般的なんでしょうか?
wait/notifyを使うと、親がwaitする前に子がnotifyしてしまって空振りみたいになってちゃんと動かない場合があります。
でも同期のためだけに仕事を頼む度に要素数1のBlockingQueueを生成することに何か違和感を感じます。
>>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);
}
}
644 :
629: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フォルダに置いています。
>>644 swig使えてInputStreamReaderすらググらないのが意味不明
"UTF-8" -> "JISAutoDetect"
すまない、全然関係ないな
コマンドラインはどういう指定になってるの?
>>644 エラーでcmecabが見つからないと言ってるのに、通せてないとはこれっぽっちも思わないの?
実際、私がcmecab入れた時に全く同じエラーで苦しんだだけなんだけどw
その時の原因が、libcmecab.so(windowsだと〜.dllになるのかな?)のパスが通ってなかっただけだった。
(置き場に突っ込んだだけでは駄目で、明示的に指定してやっと通った。)
私はunix環境だったからwindows環境でどうなるのかは全然わからないし、
参考にならないかもしれないから詳細はggってね。
今日も朝からレッドブル確定か
エラーがでたならその入力をそのまま示してくれんとわからんでそ。
「ちゃんとやりました」ほどあてにならんものは無い。
パソコン初心者が「何もやってないのに動かなくなった」←実はやった
というのと同じ。
>>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
eclipseでJavaしてるのですけど、プロジェクトのアンロードやリロードってどうやるの?
アンロードというか、パッケージエディタに表示しなくする方法はわかるけど、
その後に再度含ませる方法がわからない。
VC++みたく、プロジェクトの存在自体は表示しつつ、中身の表示は出来なく出来れば最高だけど、ここまでは求めていない。
「プロジェクトを閉じる」のことか?削除はするなよ。
再表示はインポートすればいい
年明け早々、JPCERTが
.NetやPHPやRubyのハッシュに脆弱性があるといってるんだが、
なぜJavaのハッシュは大丈夫なのか、誰か解説してくれ
どんな工夫しようが、衝突狙った悪ふざけは回避不可だよな?
>>655 各言語について、今回の脆弱性の説明が書いてあるソース
ttp://www.nruns.com/_downloads/advisory28122011.pdf Javaもアウトってことみたいだ。
HashMapもHashtableも、内部でString.hashCode()を使ってるけど、
そのアルゴリズムでDJBX33Aに似たもの(乗算する際の定数が違うだけ)を使っていて、同じ脆弱性が存在するみたい。
ハッシュ値が0になる場合のみ処理を変えてるみたいで、
そこを突かれるとハッシュ値のキャッシュを妨害したり、強制的にre-hashさせることでCPUが過負荷になるってことかな?
>>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が特に弱そう。
659 :
656: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どっかんってことかな?
民主党には朝鮮人など外国人のなりすまし、スパイが約90名在籍している
野田内閣は過半数が帰化人
野田はどうだろうか
韓国人から賄賂を貰い、韓国人の集いに出席している野田は
Stringのハッシュ値0の場合が
「ハッシュ値はあとで遅延評価する」フラグになってるのかよひどいな
booleanフラグ付けとけよ。
HashSetやHashMapって、結局
equalsやhashcodeのオーバーライド次第でハチャメチャになるんだな
お前らこういう感じにオーバーライドをしろよ〜って
で、真偽判定して使えよ〜
って事?
最初は0
hashCodeのinvoke時は0の時未計算とみなして遅延ハッシュ計算
ハッシュ化後も0になるような文字列の場合は常に再計算
JavaってやっぱLLと比べると相当習得まで時間かかんの?
JavaScriptとPHPだけ使えるんだけどJavaも興味でてきた。
>>664 物凄い簡単
俺もCしかやったことなかったけど、1か月で普通に書けるようになってた。
低レベルはC程度の知識は必須だけど、
ライブラリ使うだけならJavaScriptより簡単
>>665 そうなん?でもCしかって言うけどCが解る時点でLL使いよりかなり下地が出来てる気がする。
>>666 プログラム言語のwikiみたいなので↓の文を読んでたら難しそうな気がしてさ。
"いきなりC系から入るとポインタで挫折する人が多いが、Javaにはそれが表面上はない分いくらかは初心者向き。
ただし、実際は裏に隠れているので、ポインタの概念が全くわからないとオートボクシングのあたりで痛い目に遭うことも多い。
"ぬるぽ"の本場である。思う存分"ガッ"して欲しい。そして反省しろ。"
LLってのは別に「習得が容易な言語」ではないと思うけど
そしてJavaがそれらと比べて異常に難しいとも思わない
そこそこ書くなら簡単だが
boxing
例外
Stream(直列化)
スレッド
Collection&ジェネリックス
ここら辺で頭が痛くなってきた
サンクス。JAVAやってみるかな。
オライリーのHead First Javaという本が気になっている。
headrushAJAXがアメリカンジョーク付きで解説されてて面白かったから似たような感じなら買ってみたい。
Javaは言語自体は結構洗練されてるし、難しくはないよ
オートボクシングでポインタが絡む意味もよくわからない
LLの型安全とほとんど同じ考えのような
LLって何?
Lightweight Language
昔はLLって言ったら構文解析だったのにな
ほ〜
LLってそういう意味で、解釈が日本と海外では正反対なんだな
Maven3.0.3でリポジトリからライブラリをダウンロードできなくて困っているんですが
どなたか解決できる方法知ってる方います?
ダウンロードが途中でフリーズしてしまいます。
とくにエラーメッセージはありません。
プロキシも使用していません。
677 :
デフォルトの名無しさん:2012/01/10(火) 20:43:13.53
2つのテキストファイルが同一の内容かチェックしたいのですが、
単純にすべて1行ごとに内容が同じかチェックして判定するしかないのでしょうか?
便利なクラスがあって、ファイル名を指定すればチェックしてくれたりするのでしょうか?
>>677 たぶんないけど、nio使えば数行でそれなりな速度で済むと思う
>>677 標準だと便利メソッドはなかったはず。
commons io 使っていいならならorg.apache.commons.io.FileUtils#contentEquals(File, File)
文字コード違う場合も考慮するなら、もうちっと手間がかかる。
改行コード違う場合も考慮するなら、更に手間がかかる。
ファイル内の文字列やらネットワークから送られてきた文字列やらで示される
(static)メソッドを別プロセス・スレッドとして起動できるだろうか?
ファイルシステムによらず、アプリケーション一式の中にあるpublic static void main(String[] args)を起動する、みたいな。
環境に依存しないことを目指したJava的にはそんなのがあるんじゃないかなぁ、と妄想してみたが検索しても見つけられなかった。
もしあるとすると、何と言う文字列でぐぐればいいだろうか。
リフレクションというものを見つけて今読んでいるところなのだけど、コレはプロセスは別ではないのかな?と今は思ってる。
リフレクションで出来るだろうか。
>>678,679
なるほど、ioのライブラリを使えばいいんですね。これなら一発でいけそうです。
ありがとうございます。
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);
}
}
}
});
}
}
>>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
ごめんなさい、そうです。
初心者がいきなりJavaの知識もないのにandroidアプリ開発をするのはキツイですか?
>>687 そりゃJava知ってた方がいいけどAndroidやりたいからJavaアプレットからってのは迂遠な気がする
sortする時のcompareToは何を基準に大きい小さいを判断しているのでしょうか?
こういう文字列の場合で
"AAA"
"CCC"
"BCA"
PHPしかできません
PHPの関数を全て把握している訳ではないのですがマニュアルからやりたい事を調べてコードが書ける程度です
Javaも基本的な文法を覚えて後はマニュアルみながらやりたい事を調べてコードが書きたいのですが
日付を表示する方法などは「java 日付」でググるとたくさんページがヒットしてコードもすぐ手に入りますが
そうじゃなくてマニュアルを見て使い方を知る方法が知りたいです
簡単なものだとググればすぐ解決できそうなんですが、やっぱり応用が利かないのでマニュアルを見てコードが掛けるようになりたいのですが
例えば日付を表示するメソッドを探すときはマニュアルのトップページからどのようにたどっていけばよいのでしょうか?
ちょっと説明不足でした
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の値を返して
どうやって並び替えをしているのかというのがよく分かりません
>>692 Locale Format Java
それにweekやらDayとか付ければ目的なものが見つかるだろう
1024だと1k
1024x1024だと1M
1024x1024x1.5だと1.5M
とか、
バイト数をキロ、メガ表記文字列に変換してくれるライブラリって無いですか?
それくらい自分で計算しろよ
その程度もできないならどうせ何も作れないよ
このスレではMaven使っている人だれもいないの?
みんなCommonsのファイルを手動でダウンロードしているの?
>697
どこかにそういうライブラリが有った記憶があるんだよね
誰か知ってるかなと。
わざわざ車輪の再開発する気にはなれないし
だよね、697の思考はプログラマっぽくないね
Mavenはリポジトリのダウンロードがうまくいかないから使ってない
見つけられない場合はそのまま放置かw
__________ | 見ろよ! |
./::::::::::::::::::ノ、ヽ | 民主党支持者がいるよ!w |
./:::::::;;;-‐‐''"´ |:::| \____ ________/
|:::::::| 。 .|:::| ノ´⌒ V _____
.|::::/ ⌒ ⌒ ヽ:| γ⌒´ ヽ, / _____)
|:::| /・\ /・\|| // ""⌒⌒\ ) | / ヽ
げひひw .|´ ⌒_ ヽ⌒ | . i / ⌒ ⌒ヽ ) | 〉 ⌒ ⌒ |
.| :::⌒(__人_)⌒| !゙ /・\ /・\i/ |/. /・\ /・\ヽ
⊂ ̄ヽ___ ヽ \__| ⊂ ̄ヽ_ | :::⌒(__人_)⌒⊂ ̄ヽ_ | ::::⌒(__人_)⌒:: |
<_ノ_ ヽ_ _/ <_ノ_. \ \__| / .<_ノ_ \ ´ \__| ノ い〜ひっひw
Mavenは情報が少なすぎるんだよね
ダウンロードに失敗した原因を多くの外人が英語でフォーラムで問い合わせても
「プロキシの設定が…」という見当違いな返答ばかり
誰もミラーサイトを疑おうとしない
Swingで画面にlabelを配置しました
このlabelに書かれている文字列を画面のサイズに合わせて画面の横いっぱいに自動調節して表示させたいのですが
ヒントをお願いします
711 :
デフォルトの名無しさん:2012/01/11(水) 22:05:40.06
誰か代わりにプログラムを書いてくれないだろうか・・・何も分からなくてどうしようもない
いいぜ
すみません。これわかる方いませんか
>Eclipse統合M32【Java/C++/Ruby/Python/Perl】
>190 :デフォルトの名無しさん:2012/01/08(日) 14:26:52.83
>JDTのフォーマッターを一部分削除することを指示するコメント(等のコマンド)ってないでしょうか?
>// 監視対象スレッドら全てが終了済みか確認
>if (true
> && thr1
> && thr2
> && thr3
> )
>{
> break;
>}
>こんなのがあった時に、整形されたくないのですが…。
715 :
714:2012/01/11(水) 23:00:32.81
何か日本語が変…。
部分的にフォーマットを回避したいということを言っているつもりでした。
>>714 プロジェクトのプロパティのフォーマッタで編集
OnOffタグを有効化
これでよくね
if (true //
&& thr1 //
&& thr2 //
&& thr3 //
) //
{
break;
}
ウィンドウのリサイズが会ったときに
setTextでラベルのテキストを別の文字列に差し替えたいのですが
リサイズのイベントcomponentResizedはどこにどのように書くのでしょうか?
http://ideone.com/GTfdP
inputstreamの入力したデータをread()で表示させたら
入力した値 test
t/116
e/101
s/115
t/116
/13
/10
whileでinputstream.readが-1になるまで1文字ずつ〜ってやっています。
UTFで13と10なんて意味不明なコードが出るのはなぜでしょう?
13と10はCRLF
改行が入ってるんだよ
UTFでもwinXPとかだとLFのみにするとおっさんとかがメモ帳がおかしい!!とか騒ぎ出すからあえてCRLFにするわ
byte配列から、別のbyte配列へと、内容を複製したいとき、
java.io.ByteArrayInputStream と
java.nio.ByteBuffer とのどちらを利用すべきなのか判断できない。
この程度であればどちらでも出来て、趣味の問題なのでしょうか?
どうして複数あるのだろうか。教えて欲しい。
nioというのがnew ioみたいだけど、ということは、ByteArrayInputStreamの役目はもう終わっているのでしょうか?
724 :
714:2012/01/12(木) 02:31:55.17
>>716 ありそうなのに見つけられませんでした。助かりました。
>>717 トリッキーな!でも感動しました。そんな方法もあったとは。
ふたりともありがとうございます。
>>723 複製だけなら byte[]#clone() で出来るよ。
>>723 既存の配列へのコピーなら System#arraycopy もあるしな。
#ってなんだろ?とおもったら、ピリオドを#にしているのか
ピリオドだと見落としやすいから#表記なんだろうけど
これはム板の定番?それとも業界の定番?
いや#使うときはクラスメソッドは.でインスタンスメソッドは#と区別する
だから
>>726は変