5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

JAVAってこんなことも出来ないの?

1 :デフォルトの名無しさん:2007/05/19(土) 22:13:03
mainメソッドから値を返す。


67 :デフォルトの名無しさん:2007/05/21(月) 17:31:57
>>40
MACを作るってのがわからんけど、

MACアドレスなら 1.6 から java.net.NetworkInterface#getHardwareAddress() で取れるぞ。

68 :デフォルトの名無しさん:2007/05/21(月) 20:38:41
>>67
MACソフトは、ハードウェアとドライバの間にあって、
ドライバからの送信要求をハードウェアに
ハードウェアからの受信通知をドライバに
それぞれ橋渡しするソフトウェア。

MACアドレスが取れるとかよりも、ROMやRAMのメモリにどれだけ自由にアクセス出来るか、かな。

具体的に例を挙げると、Ethernetの送信とかだと

ドライバからあるデータを送信しろという命令を受ける

データにEthernetのヘッダをつける

ある物理メモリの0x00210104にヘッダ付きデータの先頭を表すポインタを設定

0x00210100の第3ビットを1にする

ハードウェアがそのパケットを送信する

とかそういうインターフェースをラッピングする。
概念的なMACはまた違うけど、実装にあんま関係ないかな。

69 :デフォルトの名無しさん:2007/05/21(月) 20:50:18
あー、ファームウェアみたいなもんか?

70 :デフォルトの名無しさん:2007/05/21(月) 21:11:03
ていうか、ファームウェアの一種かな。

71 :デフォルトの名無しさん:2007/05/21(月) 21:35:54
そのあたりの処理は NIC によってはドライバでやってる奴もあるし
ファームでやる奴もある。

残念ながら、まだ Java でどうのこうのできるレイヤーじゃなくて、
ASM / C / C++ あたりで書かれる。

72 :デフォルトの名無しさん:2007/05/22(火) 00:14:15
もしそのファームがJavaで書かれてたとしてもPC上のJavaからは使えんから意味ないね。

73 :デフォルトの名無しさん:2007/05/27(日) 20:33:00
実現したら携帯のアプリをJavaで作るのと同じようなノリになるのか?

74 :デフォルトの名無しさん:2007/07/04(水) 01:27:35
実践的にJavaでプログラム書いてると
想像以上のぬるぽExceptionの出現の頻度に驚く
まじでCで書いてた時よりも多いよ
Javaってつくづく間抜けだなと思う


75 :デフォルトの名無しさん:2007/07/04(水) 01:31:59
>>74

76 :デフォルトの名無しさん:2007/07/04(水) 08:54:11
ぬるぽに遭遇するのは低級プログラマ

77 :デフォルトの名無しさん:2007/07/04(水) 11:43:49
自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。

78 :デフォルトの名無しさん:2007/07/04(水) 11:55:15
Cのスタイルで先頭にまとめて変数宣言するとぬるぽ多発しそうな悪寒。
変数は必要なときに、初期化つきで宣言するが吉。

79 :デフォルトの名無しさん:2007/07/04(水) 13:08:11
TextBox hogehoge = new TextBox();
String fugafuga = hogehoge.getText();

みたいなときに
TextBoxの入力が空だった場合

fugafuga は "" になる? null になる?


80 :デフォルトの名無しさん:2007/07/04(水) 13:56:23
""

81 :デフォルトの名無しさん:2007/07/04(水) 22:32:00
>>78
クラスのインスタンス変数は先頭にまとめてしまいがちで
コンストラクタで初期化する傾向にありますが
何か良い方法はご存知ないでしょうか?

82 :デフォルトの名無しさん:2007/07/04(水) 22:43:00
>>81
それはCスタイルとは意味が違うと思われ。
まあ、普通に初期化文法が使えるなら使えってのは一緒じゃないの?

83 :デフォルトの名無しさん:2007/07/05(木) 00:00:51
>>74がbug量産プログラマということが証明されたのか、ふんふん

84 :デフォルトの名無しさん:2007/07/05(木) 00:03:44
>>81
1.Eclipseで編集
2.DI(Springなんか)を使ってxml記述にて初期化

85 :デフォルトの名無しさん:2007/07/05(木) 00:17:12
>>74はCでメモリ開放しないでコードかいてたんだよ。きっと。
そしてJavaにきてガーベッジコレクションでメモリ管理されるようになって
ぬるぽが続出しているんだ。

そして74はこれを回避するために一時変数とかをすべてstaticなフィールドにして
最初に初期化するという方法を思いつくんだ!
ぬるぽが出なくなって74は喜ぶが、代わりにロジックの誤りに悩まされてデスマに突入

ガッ

86 :760:2007/07/05(木) 07:26:33
ぬるぽとがべこれは無関係だろ

87 :デフォルトの名無しさん:2007/07/05(木) 12:01:46
84が負け組ということはわかった。

88 :デフォルトの名無しさん:2007/07/05(木) 20:38:08
>>85
Cだと概念的にはnullのところがエラーとならずに値が読めてしまう場合あるだろ?
Javaだとそういうところ厳密なわけよ。
それはメモリ管理がガーベッジコレクションによって行われるようになって
プログラマの責務が減ったからからなんだよ。
新言語に搭載される機能が生まれてきた背景は知っても損はないぜ。

89 :デフォルトの名無しさん:2007/07/06(金) 23:12:18
仮想マシンが null チェックやってるってだけのことだろ。

GC と何の関係もないよ。

90 :デフォルトの名無しさん:2007/07/07(土) 22:07:38
>>54
> C++で使えるクロスプラットフォームなGUIって、GTKくらいだよね?実用的なの。
wxWidgets是非試してみて。
>>57
> GUIまわりはOS別に構築したほうが俺はいいと思ってるけどなぁ、昔から。
wxWidgets使えばGUIもWriteOnce, CompileAnywhere!


91 :デフォルトの名無しさん:2007/07/07(土) 22:10:11
>>77
> 自分で組んだプログラムでのぬるぽは、言語の話ではなく単なるコーディング能力。
「ミスが出易い仕様」という言語の話。

92 :デフォルトの名無しさん:2007/07/07(土) 22:14:39
ミスするのは人

93 :デフォルトの名無しさん:2007/07/07(土) 22:15:47
確かにミスを洗い出しやすい仕様だな

94 :デフォルトの名無しさん:2007/07/07(土) 23:19:05
>>89
まったく分からん奴だな。

CGがメモリ管理するようになって、alloc、freeみたいに
自力でメモリ確保と開放しなくてよくなったんだよ。
これは背景事情な。

で、自力でメモリ管理やるCの場合は、初期化していないアドレスに
アクセスすることがあったし、開放したメモリにアクセスすることもあった。

Javaの場合は前に使った値がメモリに残っている、とかそういうのはなくて
オブジェクトが生成されてなければ常にnullなんだよ。

だから、Cでメモリ管理ミスってるコードみたいな書き方をした場合は
みんなぬるぽになんの。
たまたま値が残っててそのまま動く、とかそういうことは起こらんの。
そういう見つけにくい、かつ深刻な問題が起こるバグの代わりに
はっきりと初期化されてないよって警告が出るようになったの。

だから、「ミスが露呈しやすい言語仕様」になっただけ。
むしろ発見が早まって生産性いいんだよ

95 :デフォルトの名無しさん:2007/07/07(土) 23:22:24
Cでヌルポインタと言ったらNULLのことで、
初期化されていないポインタや解放済みの領域を指すポインタはまた別だろ。

96 :デフォルトの名無しさん:2007/07/08(日) 00:09:55
>>95
誰に言ってんの?

97 :デフォルトの名無しさん:2007/07/08(日) 11:47:05
http://pc11.2ch.net/test/read.cgi/tech/1168157769/14-15

98 :デフォルトの名無しさん:2007/08/27(月) 22:06:23
画面作るのが糞めんどくせええ!!!!
SWTイレねーと糞なのにデフォで付いてねえ!!
環境整えるの糞めんどくせーー!!
jsp+servretでやっとMVCの概念覚えたと思ったら
strutsがデフォだからjsp+servret使ったらわかりにくいだってwww
strus糞めんどくせえええ
HTMLタグやっと覚えたと思ったらstrutsタグつかえだと?
jspファイルでhtmlタグとjspタグが混ざってたら見づらいんだってwwww俺は見づらくねえwww
web.xmlとかserver.xmlやっと覚えたと思ったらstruts.xml使えって?
あほかwwwwww今までの、無駄wwwwwww今までのは嘘でしたwwwwwって言われた気分wwwwww
eclipseバージョンあげたらプラグイン動作しねえええ!!!
web系でフォルダ覚えるの糞めんどくせええ!!!
全体的に覚えることが大杉

と思いながらも、独学でjavaやってたが
仕事で使ってるvb.netの使い勝手があまりに良いので
javaの情熱冷めた('A`)




99 :デフォルトの名無しさん:2007/08/27(月) 22:21:29
struts がアレだったのは別にして、>>98はプログラマに向いて無いと思う。

100 :デフォルトの名無しさん:2007/08/27(月) 22:23:49
うん

101 :デフォルトの名無しさん:2007/08/28(火) 01:17:28
98ってそんなことも出来ないの?

102 :デフォルトの名無しさん:2007/08/29(水) 21:51:08
strutsだろうがstruts2だろうがググれば出てくるよ。使用法

103 :デフォルトの名無しさん:2007/09/05(水) 23:35:23
まあjava、というかEJBはめんどくさいよ。

104 :デフォルトの名無しさん:2007/09/06(木) 09:48:58
そうか?EJB3ってそんなにめんどくさいとは思わないけど。

105 :デフォルトの名無しさん:2007/10/28(日) 00:45:19
C: ザク
C++: ドム
C# : リック・ドム
D: アッガイ
Java: ジム
VB: ボール
こうですか?わかりません!

106 :104:2007/10/28(日) 00:46:33
誤爆したスマソ

107 :105:2007/10/28(日) 00:47:23
しかも番号がずれた。氏のう

108 :デフォルトの名無しさん:2007/10/28(日) 21:50:50
>>105-107
ワロス

109 :デフォルトの名無しさん:2007/10/29(月) 15:23:04
コンストラクタに引数をつけたいんですが、どうすればよろしいですか?

110 :デフォルトの名無しさん:2007/10/29(月) 16:06:29
EJB3はどうかしらんが、EJB2.0のころは、ソースコードかくより
xmlファイル編集することで頭が混乱してきた。JBOSSの何とか言う分厚い
3800円の本かったけど、押入れの奥で眠ってる。

Javaの仕事はJSP/サーブレットないし、バックグランド処理だけやった。EJBはパスした。
PHPやらVB.NETの方がはるかにわかりやすい。

111 :デフォルトの名無しさん:2007/10/29(月) 16:09:21
>>109
どうもこうもないべ。コンストラクタの宣言時に引数付コンストラクタを
定義すればいいんじゃない?

んで使うほうは、コンストラクタに引数つけりゃいいじゃん。

Buttonクラスだとすると、単にボタン作るコンストラクタとボタンに表示する
文字列を指定できるコンストラクタがあるんだけど、それでも他にコンストラクタがほしければ
Buttonクラス継承してクラス自作して、コンストラクタを新たに定義すればいいよ。

112 :デフォルトの名無しさん:2007/10/29(月) 20:12:40

 カレントディレクトリを変更できない


113 :デフォルトの名無しさん:2007/10/29(月) 20:14:59
__FILE__

__LINE__

114 :デフォルトの名無しさん:2007/10/29(月) 20:21:11
EJBは3になって少しましになった程度
あれでDIのつもりだからため息が出る
まともなDIコンテナ使うと劇的に見通しが良くなる
これに慣れるとRailsや.NETみたいななんでもやります系の、そのかわり選択の余地は与えませんなやり方にうんざりする

115 :デフォルトの名無しさん:2007/10/29(月) 21:36:05
>>113
System.out.println(new Exception().getStackTrace()[0].getFileName());
System.out.println(new Exception().getStackTrace()[0].getLineNumber());

116 :デフォルトの名無しさん:2007/10/29(月) 21:56:21
>>115
なげ〜〜よ

117 :デフォルトの名無しさん:2007/10/29(月) 22:19:42
将来的にはPCよりも携帯端末のほうが主流になるだろうから
MIDP/DOJAをやっておいても悪くない
ただしJ2MEでWORAなんて夢のまた夢だからプリプロセッサ必須だけど

118 :デフォルトの名無しさん:2008/02/04(月) 01:32:37
>>116
間違っています。
以上。
はい、次。

119 :デフォルトの名無しさん:2008/07/22(火) 20:21:48
TextSS


120 :デフォルトの名無しさん:2008/07/22(火) 23:46:13
EJBなんて、めちゃくちゃ簡単じゃん。と、CORBAから移ってきた時は思いました。
今は面倒くさくてやってられない。

121 :デフォルトの名無しさん:2008/07/25(金) 08:11:44
リストとハッシュで済むような処理のためにクラスを書くような言語は間違っている。

122 :デフォルトの名無しさん:2008/07/25(金) 11:08:52
JavaってHTMLを生成するための言語でしょ?

123 :デフォルトの名無しさん:2008/07/27(日) 22:24:28
>>120
そこはEJB3でどうでしょ
でもCORBAもJavaだと楽じゃね?

124 :デフォルトの名無しさん:2008/07/28(月) 15:27:46
>>121
javaで書いたインタプリタで巻いちゃえばいいんだよ

125 :デフォルトの名無しさん:2008/08/05(火) 17:39:56
文字列はコピー渡しの方が良いのではないか?

126 :デフォルトの名無しさん:2008/08/05(火) 17:47:57
そう思うならコピーして渡せばいいのでは?

127 :デフォルトの名無しさん:2008/08/05(火) 20:44:16
>>126

128 :デフォルトの名無しさん:2008/08/06(水) 00:23:41
コピー渡しだと何がいいんだろ?

129 :デフォルトの名無しさん:2008/08/06(水) 00:48:08
オリジナルに影響ないじゃん。
バカじゃない?

130 :デフォルトの名無しさん:2008/08/06(水) 02:09:19
Javaではオリジナルを変更することはできないのだが。
バカじゃない?

131 :デフォルトの名無しさん:2008/08/06(水) 19:23:03
>>128
コピー渡しというか値渡しだな。

132 :デフォルトの名無しさん:2008/08/06(水) 21:46:21
>>130
> バカじゃない?

自己紹介乙。

133 :デフォルトの名無しさん:2008/08/07(木) 00:36:26
値渡しは変更してもオリジナルに影響ないから文字列は値渡しってんなら、もともとJavaの文字列は不変オブジェクトなんだから、単なる無知の意見だね。

134 :デフォルトの名無しさん:2008/08/07(木) 12:54:50
a( new String(str));
a(str);
どっちがいいかってこと?

135 :デフォルトの名無しさん:2008/08/07(木) 23:35:07
>>129==>>133の予感がしてきた。

136 :デフォルトの名無しさん:2008/08/08(金) 05:43:01
>>130 == >>133
です。

137 :デフォルトの名無しさん:2008/08/17(日) 08:56:01
>>136
必死で否定するところが怪しいな。

138 :デフォルトの名無しさん:2008/08/24(日) 03:06:04
>>137
見りゃ分かるだろ。
この バ カ

139 :デフォルトの名無しさん:2008/08/24(日) 03:15:04
>>31
どういうところが?

140 :デフォルトの名無しさん:2008/08/24(日) 03:16:03
すごく久々にレスが着いてると思ったら
どうでもよかった

141 :デフォルトの名無しさん:2008/08/24(日) 03:26:27
バカを
バ カ
と呼んだまでのこと。
気にスンナ。

バ カ

142 :デフォルトの名無しさん:2008/08/24(日) 03:56:25
夏厨様
糞スレはsageでお願いします

143 :デフォルトの名無しさん:2008/08/25(月) 02:42:32
Javaが遅いのと、メモリ管理が自動なのは関係あるの?

144 :デフォルトの名無しさん:2008/08/25(月) 14:01:44
今では無関係と言って差し支えないと思う。
メモリ管理は下手に手動でやるよりはGCに任せたほうがかえって性能が良くなるって話すらある。

145 :デフォルトの名無しさん:2008/08/27(水) 22:24:57
>>1
   
  ∧∧
 (・ω・ )
 _| ⊃/(__
/ ヽ-(___/
 ̄ ̄ ̄ ̄ ̄ ̄


146 :デフォルトの名無しさん:2008/08/27(水) 22:48:50
>>98にすげー共感する。

Struts覚えようとしたらDIも使うべき、とかおいおい環境作りにどんだけ手間かけさすんだよいつになったら画面作るとこに手つけさせてくれるんだよとウンザリしてRailsに逃げたw

147 :デフォルトの名無しさん:2008/08/27(水) 23:13:38
オマイら、楽しそうだな。

148 :デフォルトの名無しさん:2008/08/30(土) 09:54:09
>>145
   タノシイヨ
  ∧ ∧
  (´・ω)
 _|⊃/(___
/ ヽ_(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄


149 :デフォルトの名無しさん:2008/09/01(月) 22:05:50
> 98は、NetBeans使ってればよかっただけって話か。
Eclipseが悪いな。

150 :デフォルトの名無しさん:2008/09/02(火) 14:13:26
つーか、EclipseってJava使うのに向いてないだろ。クソつかえねぇ。
そもそもJavaの特徴ってのは使いやすい使いにくいじゃねぇんだから
ごちゃごちゃ文句言うんじゃねぇよ!俺みたいに学生時代に勉強しとくのがベスト。

151 :デフォルトの名無しさん:2008/09/02(火) 16:56:44
>>150
Javaの特徴は重いことだ。

152 :デフォルトの名無しさん:2008/09/03(水) 00:00:40
>>150
ベストの勉強しても全角厨しか生まれないんだな。
さすが、Java (w

153 :デフォルトの名無しさん:2008/09/03(水) 14:23:06
Cではprintf();ですむ作業をわざわざSystem.out.println();って書かなきゃいけないのに驚いた
scanf関数に相当するものがないのにはさらに驚いた

154 :デフォルトの名無しさん:2008/09/03(水) 14:44:45
import static System.out;
することで、out.printlnに減らすことはできるけど、長いね。

scanfの代わりはjava.util.Scannerということだけど、使い方全然違うしね。
正規表現でこんなことはできるけど、面倒だね。びっくりだね。
Matcher m = Pattern.compile("(\\d+)を入力して(.+)に").matcher("500を入力してほげほげに");
m.matches();
System.out.println(m.group(1));
System.out.println(m.group(2));

155 :デフォルトの名無しさん:2008/09/03(水) 14:57:00
Cのscanfは使っちゃだめ系の関数だし、なくてもいいんじゃね

156 :デフォルトの名無しさん:2008/09/03(水) 15:22:30
>>154
ありがとうございます
なんか面倒ですね…

>>155
scanfって使わない方がいいんですか?
学校のプログラミングの授業ではバリバリ使われています;´・ω・`)

157 :デフォルトの名無しさん:2008/09/03(水) 15:39:07
ヒント: セキュリティーホール


オプソなんかではscanf調査ツールがあったり、
つかっちゃいけない関数は、
DONOTUSE_なんたらかんたら、という文字列に#defineされてたような。

158 :デフォルトの名無しさん:2008/09/03(水) 16:57:35
>>156
まあ、System.out.printlnはEclipseならsysoutでctrl+space、NetBeansならsoutでtabとすれば入力できるから、入力がめんどうというのはあんまりあてはまらないね。

159 :デフォルトの名無しさん:2008/09/03(水) 22:20:00
>>156
学生さんならいいと思うよ。

でも、商用プログムだと入力は最も気を使うところ。

>>157 の言うようにセキュリティホールの危険もあるし、
変な入力された時に適切なエラーメッセージを出すことも
容易でないから基本的に使わない。

160 :デフォルトの名無しさん:2008/09/03(水) 22:30:51
最近のJavaはかなりCと同じ関数が増えてるよ

161 :デフォルトの名無しさん:2008/09/03(水) 23:00:33
import java.io.*;

public static void main(String[] args)throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("数字を入力してください");
String str = br.readLine();
int num = Integer.parseInt(str);

面倒臭い

162 :デフォルトの名無しさん:2008/09/04(木) 01:24:38
やろうと思えばJavaでできるけど、
そういうのはLLにまかせとけばいいと思うんだ

163 :デフォルトの名無しさん:2008/09/04(木) 07:56:01
いっそ、こっちの方が楽だったりな。クロージャーが導入されてくれれば、もっとスッキリするのに。
あとはsetDefaultCloseOperationがどうにかならないんかな。
ウィンドウ出すマルチプラットフォームアプリ作るときはJavaが楽。

public static void main(String[] a){
JFrame f = new JFrame("数値入力");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setLayout(new GridLayout(2, 1));
f.add(new JLabel("数字を入力してください"));
final JTextField t = new JTextField();
t.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int i = Integer.parseInt(t.getText());
System.out.println(i);
t.setText("");
}
});
f.add(t);
f.pack();
f.setVisible(true);
}

164 :デフォルトの名無しさん:2008/09/04(木) 08:18:06
今はJavaにもprintf()があるんだが・・・・
ポインタがない分どれだけラクだと思ってんだ

165 :デフォルトの名無しさん:2008/09/04(木) 08:45:16
Cみたいな特種用途向けの言語相手に何威張ってるんだ

166 :デフォルトの名無しさん:2008/09/04(木) 11:50:15
printfがないとかいう話にはなってないでしょ。

167 :デフォルトの名無しさん:2008/09/04(木) 14:52:56
既出かもしれんが、自分でクラスライブラリ作っていて、
abstract static a();
みたいな抽象スタティックメソッドが作れなくて困った。
これはJavaの仕様でたまたまそうなのか、抽象スタティックメソッド
というオレ考えが論理的におかしいのかわからん。

164 KB
新着レスの表示

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :


read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)