【初心者】Java質問・相談スレッド54【大歓迎】
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
以下のエラーが表示されて、途方にくれているあなたは、下のページへ。
「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
http://www.wikiroom.com/java/?path%2Cclasspath
前スレッド
【初心者】Java質問・相談スレッド53【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1094860940/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
0002古代帝國富士皇朝総帥・伯壬旭
NGNGほめてつかわす。
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG0005デフォルトの名無しさん
NGNG超合金乙
0006全スレ約1000
NGNG0007デフォルトの名無しさん
NGNGttp://java.sun.com/j2se/1.5.0/download.jsp
0008デフォルトの名無しさん
NGNGpublic String printf(String format, String... args)
なんかいやん。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGJpanelの上にpaintcomponentメソッドで図を描いていて,それをjpgで出力する
メソッドを書いたのですが,実際実行すると非常に画質が悪いものが出力されてしまいます。
例えばある直線を書いてjpgで出力すると直線の周りに微小な斑点がついてたりとかで
とにかく画質が悪いのです。
コードの概略は以下の通りです。
String curDir = "../image";
JFileChooser fileChooser = new JFileChooser(curDir);
fileChooser.setFileFilter(new ImageFileFilter());
int ret = fileChooser.showDialog(content, "選択");
if (ret != JFileChooser.APPROVE_OPTION)
return;
File file = fileChooser.getSelectedFile();
String fileName = file.getAbsolutePath();
File outFile = new File(fileName + ".jpg");
try {
canvas_image.getGraphics().drawImage(cakeImg, 0, 0, this);
ImageIO.write(canvas_image, "jpg", outFile);
} catch (IOException e) {
}
基本的に画質を上げるには,どういう風に修正すれば良いのでしょうか?それとも
根本的なところが間違っているのでしょうか?
0011デフォルトの名無しさん
NGNG>例えばある直線を書いてjpgで出力すると直線の周りに微小な斑点がついてたりとかで
>とにかく画質が悪いのです。
普通 jpeg とはそういうものです。
0012デフォルトの名無しさん
NGNG0013デフォルトの名無しさん
NGNGアニメ的な色の境目がはっきりしている絵は、pngやgifを使って
写真のような色の境目が滑らかな絵は、jpegを使うとよいですよ
001410
NGNGただ,上のコードの
File outFile = new File(fileName + ".jpg");
ImageIO.write(canvas_image, "jpg", outFile);
のjpgをpngにすると綺麗な画像が出力されたのですが、このjpgの部分を
bmpやgifなどの画像用の拡張子へ変えるだけでそれに対応する画像ファイル
が出力されるというのがちょっとしっくりこないのですが,そういうもの
なのですかね?
0015デフォルトの名無しさん
NGNG対応形式はプラグインで増えるので
保存形式を文字列で指定するのは妥当かと。
あとImageWriterを取得して使えば
圧縮率とか細かく指定して保存できるはず。
0016デフォルトの名無しさん
NGNGLuaみたいなのでお願いします。
0017デフォルトの名無しさん
NGNGpublic class Test {
public static void main(String[] args) {
・・・
}
public static void aaa() {
・・・
}
}
そしたら、warningで
「スタティックメソッドしかもたないユーティリティクラスは、インスタンス化されないために
publicなデフォルトコンストラクタを持ってはいけないし、クラスはfinalにすべきだ」
って言われたんですけど、そういうもの?
継承したりしちゃいけないの?
0018デフォルトの名無しさん
NGNGrhino = Java版JavaScript
jython = Java版Python
jruby = Java版Ruby
pnuts = Javaをスクリプト化したもの
groovy = Javaをスクリプト化したもの
0019デフォルトの名無しさん
NGNG継承したいならabstract指定すれば?
0020デフォルトの名無しさん
NGNG「スタティックメソッドしか持たない」ユーティリティクラスを
継承したいという場面が思いつかないんだが、どんな場合?
0022デフォルトの名無しさん
NGNGで継承してるんだったらやめたほうがいいよ。
0023デフォルトの名無しさん
NGNGBeanShell を忘れとるがな。他にもいっぱいありそうな予感。
0024デフォルトの名無しさん
NGNGどうもです。
0025デフォルトの名無しさん
NGNGそれならmainの先頭に、そのユーティリティクラスのスタティック
イニシャライザ部分をメソッドにしたやつを呼び出せばいい訳で。
exteds UtilityClass
public static void main(..) { UtilityClass.initializer();
両方とも同じ一文を追加する事は変わらないから。。。
0026デフォルトの名無しさん
NGNGイニシャライザ部分をメソッドにしたやつを呼び出せばいい訳で。
exteds UtilityClass
public static void main(..) { UtilityClass.initializer();
両方とも一行だけを追加する事には変わらないから。。。
0027デフォルトの名無しさん
NGNG情報って、どっかにありますか?
0028デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGJPL
Java版Perlを忘れてる
0030デフォルトの名無しさん
NGNG0031デフォルトの名無しさん
NGNG不要。
JDKインストール時にJREもインストールされる。
0032デフォルトの名無しさん
NGNG0033デフォルトの名無しさん
NGNG0034デフォルトの名無しさん
NGNGS∪∩に抗議しる!
0035デフォルトの名無しさん
NGNG0036デフォルトの名無しさん
NGNG0037デフォルトの名無しさん
NGNG003817
NGNGありがと。
で、
>>22
>便利だからという理由(>>21の例では便利かどうかもあやしいが)
>で継承してるんだったらやめたほうがいいよ。
この「便利かもしんないけど、やめたほうがよい」理由を知りたいというのが、
今回の質問の根本なんです。
できれば、教えてください。
0039デフォルトの名無しさん
NGNGクラス設計の根底に関わる問題だからです。
継承を用いる正しい基準に沿わないからと言えるでしょう。
継承は、インスタンスの機能を増やす為にこそ用いられるべきですので
インスタンスの操作が出来ないstaticメソッドonlyクラスでは
その意味が全く無くなるからです。
他にも、集約による多態性を実現する為にだけ継承を用いるのは良くない
など幾つかの制約基準があります。
まだ大きなプログラムを組んでないと、そこら辺の基準のありがたみが
なかなか分からないものですが、しばらくして大きなのを組むように
なり、いろいろクラス設計をしだせば、以前は便利だからとやってた事でも
なんか変な設計で気持ち悪いなって感じでやらなくなるものなのです。
0040デフォルトの名無しさん
NGNG「スタティックメソッドしかもたないユーティリティクラスは、インスタンス化されないために
publicなデフォルトコンストラクタを持ってはいけないし、クラスはfinalにすべきだ」
に関してはそうだと思う。
クラスというより、ライブラリの性質をもったモノを作ろうとしてるわけだから
インスタンス化して使うモノとは区別しておいたほうがプログラム構造上わかりやすいということ。
これは、継承クラスの使い方を気をつければ問題ないんだが、継承したクラスのインスタンス化を
禁止する書式がないため、 1.4まででは もし、機能拡張をするのであれば継承せず、
内部で参照(USE)するなりして実現するということで表現することになる。
昨日リリースされた、J2SE5.0ではこの問題を解決する StaticImportという機能が用意されている。
ttp://www5.airnet.ne.jp/sakuraba/java/laboratory/J2SE1.5/LangSpec/StaticImport/StaticImport.html
スタティックメソッド(定数もOK)をインポートする機能です。
チェックしてみては?
004140
NGNGそうそう、そういいたかった。
>>39の言い方だと、 インスタンスに対する操作を拡張したくってするのが継承、
ライブラリの機能を拡張したくってつかうのが StaticImport。で、よろしい?
0042デフォルトの名無しさん
NGNGできることとか文法とか、だいたいいっしょみたいなかんじが
するんですが
0043sage
NGNGWindows2000、IE5 SP3の環境で、
response.setContentType("application/x-csv");
response.setHeader("Content-Disposition", "attachment; fileName=\"" + fileName + "\"");
以上のように設定すると、ダウンロードダイアログで「ファイルを開く」を選択
すると、もう一度、ダウンロードダイアログが表示されます。
(さらに選択すると、正常にファイルが開かれる)
ContentTypeにダミーの文字を入れ、Content-Dispositionをinlineにすれば、こ
の問題は解消されましたが、
WindowsXP SP2の環境で、ダウンロードダイアログが表示されないという現象が
発生しました。
両環境で、一度だけ、ダウンロードダイアログを出したいのですが、良い解決策
があれば教えてください。
0044デフォルトの名無しさん
NGNGええと、マジで良く分からんのだけど、static初期化ブロックのことをいってるんだろうけど、
これってクラスロード時に自動的に呼び出されるんだよねえ? しかもstaticメンバにしか
アクセスできない。
ということは、スーパークラスのstatic初期化ブロックが初期化できるのは、スーパークラス
のstatic変数のみってことだよな。
一方、staticメンバにアクセスする時って、継承していようがなんだろうが、「クラス.staticメンバ」
という形になるよな(staticインポートを使ってないとする)。この段階でクラスがロードされるので、
static初期化ブロックが実行されるよな。
で、継承するとこれより便利になるってのが良く分からないんだけど。おれがバカなのかな。
まじ分からない。
0045デフォルトの名無しさん
NGNGcontent-typeが間違ってる。
text/comma-separated-values
あと、サーブレットコンテナの設定でmimeにあるかどうかも確認。
0046デフォルトの名無しさん
NGNGあー、でも>>46のにしちゃうとDLダイアログが出ずにそのまま表示されるかも。
確実にDLダイアログだしたい場合は、
application/octet-stream
0047デフォルトの名無しさん
NGNGHotmailのメール内URLをクリックすると、そのページに
ちゃんと飛ぶ場合とそのまま開かない場合があります。
開かない場合のURL上にマウスを持っていくと、左下に
「javascript:OpenWin('http:・・・・・・・・」と表示されます。
たぶんこれが原因だと思うのですが、どう操作すれば元通りに
なるのでしょうか?ちなみにyahooのメール内URLはちゃんと
開きます。よろしくお願いします。
0048デフォルトの名無しさん
NGNGJavaというキーワードだけで来ちゃったね。
左下にそうでるのは問題ないと思うけど・・・?
ポップアップブロッカーとかが悪さしてない?
004947
NGNGたぶんポップアップブロッカーが悪さしてるとは
思えないのですが、つい一昨日ぐらいまでは
普通にメール内URLをクリックすると、そのページに
ちゃんと飛んだのですが・・・ メールの送り主に
関係なく、メール内URL左下の表示が
「javascript:OpenWin('http://・・・・・・・・」
ならば開かなく、(URLコピペでは開くのですが)
「http://・・・・・・・・」
ならばちゃんと開く始末です。たまに左下表示が
前者のように表示される時があるので、
そのページにストレートに飛べなくて困ってます。
たぶんどれも後者になるようにすれば
問題ないのですが・・・ もう一度アドバイスお願いします。。
0050デフォルトの名無しさん
NGNGスレ違い
>>1をよんでみそ
0051デフォルトの名無しさん
NGNGどうすれば実現できるのでしょうか?
public void doSomthing() {
System.out.println(何らかの処理); // doSomthingという出力を得たい
}
例えば、Log4jなんかはlogメソッドを呼び出したクラスやメソッド名も
記録できますよね。その仕組みがどうなっているのか知りたいです。
Log4jのソースを見てみたのですが、該当箇所を見つけられませんでした。
0052デフォルトの名無しさん
NGNGStackTraceElement[] ste=new Throwable().getStackTrace();
ste[0].getMethodName();
0053デフォルトの名無しさん
NGNGnew Throwable().getStackTrace()[0].getMehtodName();
で現在実行ポイントのメソッド名のStringが得られる
0054デフォルトの名無しさん
NGNGnew Exception() して、getStackTrace() すれば StackTraceElement[] が取れる。
StackTraceElementからクラス名やメソッド名が取れる。
・・・やりたいこと違います?
005551
NGNGありがとうございます。
なるほど、そんな風にしてメソッド名を取得するんですね。
目から鱗です。
でも何となく new Throwable() は、例外をスローするみたいで使うのに
抵抗がありますね。別にスローするわけではないので問題はないと思いますが。
早速使ってみます。
0056デフォルトの名無しさん
NGNG0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGありがとうございます。
なるほど、そんな風にしてメソッド名を取得するんですね。
目から鱗です。
でも何となく new Throwable() は、例外をスローするみたいで使うのに
抵抗がありますね。別にスローするわけではないので問題はないと思いますが。
早速使ってみます。
0059デフォルトの名無しさん
NGNGこれはパネルとかのLayoutが悪いんですか?
自由に大きさや配置に便利な命令はありますか?
0060デフォルトの名無しさん
NGNG自分で画像を Image に読み込んでから
java.awt.Image#getScaledInstance(int,int,int) とか使って思った大きさにしてから、
その後 javax.swing.ImageIcon#ImageIcon(Image) で ImageIcon 生成すれば?
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Image.html#getScaledInstance(int,%20int,%20int)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/javax/swing/ImageIcon.html#ImageIcon(java.awt.Image)
0061デフォルトの名無しさん
NGNG0063デフォルトの名無しさん
NGNGIEコンポーネント使ったアプリ作ろうかと
思ってるんですが、SWT 使ってIEコンポーネント
使うってできるんですか。
できなきゃ、おとなしくC#で作ろうかと思うんですが、
できれば java の勉強したいなぁ・・と。
0064デフォルトの名無しさん
NGNGSWT使わなくてもできなくはない。
しかしjavaの勉強するのにSWTやるのは無謀というか何というか。
0065デフォルトの名無しさん
NGNGhttp://headlines.yahoo.co.jp/hl?a=20041002-00000093-myc-sci
0066デフォルトの名無しさん
NGNGGeckoのラッパもあるでよ
ttp://jrex.mozdev.org/
ttps://jdic.dev.java.net/
006738
NGNG丁寧な説明ありがとう。
「あ、そういうことか!」ってほど理解というか、しっくりきていないところが悔しいですが。
>>44
なんか、ちょっと観点が違うような・・・
とにかく、もうちょっと精進して出直してきます。
レスくれたみなさんありがとうございました。
0068デフォルトの名無しさん
NGNGGCJだとSWTと使わざるをえないわけだが・・・orz
0069デフォルトの名無しさん
NGNG007063
NGNG>>64
SWT 使えば簡単ですか。よかった。
java の勉強したいですが、C++ なら使えますし、
java でも簡単なプログラムなら作れますので、
一から始めるわけじゃないので、SWT で作ってみたいなぁと。
(だって、Swing で作ると見た目がカコワルイ)
>>66
Gecko のラッパですか。そりゃいいや。
「C#で作ろう」→「いやどうせならJavaでプラットフォーム非依存で」
→「いやIEコンポーネント自体がプラットフォーム依存だ・・・orz」
って感じだったんで、うれしい情報でした。
0071デフォルトの名無しさん
NGNG0072デフォルトの名無しさん
NGNG補足。SWTではBrowserというクラスがあり、これがブラウザの実装を隠蔽している。
実際に使われるブラウザは、WindowsならIEコンポーネント、LinuxならMozilla。
コード上は実装を意識せず書けた気がする。
0073デフォルトの名無しさん
NGNG0074デフォルトの名無しさん
NGNGpublic abstract class A
public class B
クラスAのことを「抽象クラス(abstract class)」というけど、
クラスBには何か名称が付いているんですか?
0075デフォルトの名無しさん
NGNGBをクラスといいます。
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?sourceid=navclient-menuext&ie=UTF-8&q=%E5%85%B7%E8%B1%A1%E3%82%AF%E3%83%A9%E3%82%B9
0079デフォルトの名無しさん
NGNGどのような方法(又はクラス)があるのでしょうか?
わかる方がおりましたら、なにとぞご教授お願いいたします。
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNGどうしたらいいんですか? お願いします。
0083デフォルトの名無しさん
NGNG右クリックでのクリック判定の部分を左クリックの判定に変える。
0084デフォルトの名無しさん
NGNGABCD abcd = new abcd[10];
という配列の宣言と、
ABCD abcd = new abcd(2);
このようなコンストラクタを用いるのをあわせて、
ABCD abcd = new abcd[10](2);
のようにはできないものでしょうか?
クラスABCDは以下のとおりです。
class ABCD
{
double[] Weight;
AAAA(int I)
{
Weight = new double[I];
}
}
0085デフォルトの名無しさん
NGNG残念ながらできません。
そういう使い方が、多いのだったら、そういう初期化するstaticメソッドを用意していてもいいのでは?
class ABCD
{
double[] Weight;
AAAA(int I)
{
Weight = new double[I];
}
public static ABCD[] getInstances(int num,doublw w){
ABCD[] abcd = new ABCD[num];
for( int i=0;i<num;i++ )
{
abcd[i] = new ABCD[w];
}
return abcd;
}
}
で、ABCD abcd = new abcd[10](2); の代わりに、 ABCD[] abcd = ABCD.getInstances(10,2); とする。
0086デフォルトの名無しさん
NGNG「コンクリートクラス」というのはどうだろう。
なんか硬そうだ。メタルスライムくらいは倒せそうだ。
0087デフォルトの名無しさん
NGNGなんでいきなり 5.0 なんでしょう?
Sun の政治的な何か?
0088デフォルトの名無しさん
NGNGjava.awt.Window#toFront() とか。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/awt/Window.html#toFront()
0089デフォルトの名無しさん
NGNGなんか 1.4 -> 1.5 だとマイナーバージョンアップっぽく見えるので
ずっと変化しそうに無い "1." を削って(?) 5.0 にしたらしい。
0090デフォルトの名無しさん
NGNGあーやっぱりそんな理由なのか。どもです。
0091デフォルトの名無しさん
NGNG釣られてみる。コンクリートクラスでメタルスライム倒した友達いるよ。
誰か「またオレ用語か」って言ってくれるの待ってるらしい。
ドキドキ。オレも待ってみる。
009284
NGNG早速のお答えありがとうございます。
自分の書き込み見直したら変なところいっぱいあるのに、
ご親切に助言も下さりありがとうございました。
009344
NGNG1.2->名前:Java2 バージョン:1.2
1.5->名前:Java5 ついでにバージョンも5.0
0094デフォルトの名無しさん
NGNGちょっと大きすぎるね^^;
0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNG世にある専門用語は全てもともと俺用語だよ。
使っている内に認められるものさ。
0097デフォルトの名無しさん
NGNG>>86 すげえな。業界で使われてる言葉と同じだよ。センスあるねー
と漏れも釣られておく。
0098デフォルトの名無しさん
NGNGAudioClip使ってるの?
JavaSound使えるなら
Clip作ってaddLineListenerで終了のイベント拾えるよ。
Java1.1ならcom.sunパッケージでなんかあった気がする。
0099デフォルトの名無しさん
NGNG> しかしjavaの勉強するのにSWTやるのは無謀というか何というか。
すみません、ここのところをもう少し詳しく教えていただけないでしょうか。
0100デフォルトの名無しさん
NGNGやる気があれば大丈夫。逐一ここで聞きに来るような軟弱者でなければ。
0101デフォルトの名無しさん
NGNG> 1.5->名前:Java5 ついでにバージョンも5.0
JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0).
らしいので Java5 ではなく、Java2 のままですね。
010244
NGNGなるほど。参考になった。ありがとう。
しかしSUNの考え方はなんか複雑だな... 要するにJDKのバージョンナンバーが5.0ってことなんだね。
Java1.2->J2SE 1.2 (+JDK1.2)
Java1.5->J2SE 5.0 (+JDK5.0)
ってことでおK?
0103デフォルトの名無しさん
NGNG> Java1.2->J2SE 1.2 (+JDK1.2)
> Java1.5->J2SE 5.0 (+JDK5.0)
そもそも Java1.2 とか Java1.5 とかいう表記は Sun は
(少なくとも公式な製品名としては)使って無いと思われ。
J2SE 1.2 とか J2SE SDK 1.2 みたいな表記は使ってたけど
当時はわざと JDK 1.2 という表記はしてないかったと思う。
J2SE 1.4 および J2SE SDK 1.4 だったのが
J2SE 5.0 および J2SE JDK 5.0(これの略称が JDK 5.0(?)) になったみたい?
っつか、詳しい事聞きたいなら Sun にメール出して聞いてくれ。
0104デフォルトの名無しさん
NGNG漏れの記憶。
JDK -> J2SDK -> JDK。やっぱ長いのが嫌われたんでしょう。意味もよく分からないし。
Java言語的には、Java2( 1.2 )になった段階で大きく変わったということでバージョンアップ。
今回は JavaからJava2になったときほどポリシー変わっていないという姿勢なんでしょう。
でもマイナーバージョンアップというには大きい変更が入っているから
なんとかバージョンアップを目立たせたい、というか早く新しいバージョンをベースに物を作って欲しい、
そういう意図があって 5.0 と名づけたのでは?
javacの-sourceも1.4の変更のときは、デフォルト1.4じゃなかったのに、今回は 1.5がデフォルトになっている。
本当は、Java3とでもしたかったんだろうなぁ・・・
# Java2+ でなくてよかったと心底ホッとしているわけだが
取り合えず今度社内に残ってる元同僚に聞いとくよ。
0105デフォルトの名無しさん
NGNGあんまし関係ないと思われ。
っつか、Java2 の 2 って殆ど意味ないしね。
0106デフォルトの名無しさん
NGNG> 取り合えず今度社内に残ってる元同僚に聞いとくよ。
ひょっとして Sun社員?
0109デフォルトの名無しさん
NGNG0110デフォルトの名無しさん
NGNG後方互換性ってJDK1.1で作ったソフトがJ2SE1.2で動く、とかそーゆー話だよね。
MSJVM の拡張使ってたとかでなければ保証されてたと思うけど。
0112104
NGNGあった。
クラスファイルに問題があることがあるって書いてるけど上方互換性については保証してるな。
というわけで俺の記憶違いでした。
011344
NGNGJFC/Swingが導入されたりとかなり大変なことになってたのは事実だな。
1.1と1.2はずいぶん違う。
5.0はコーディングの仕方が変わっただけといえばそれだけだしな。
0114113
NGNG鬱だ
0115デフォルトの名無しさん
NGNG「ローカル変数xxxxxは内部クラスからアクセスされます。finalで宣言される必要があります。」
と表示されるのですが、どういう意味なのでしょうか?
参考書だとfinal付けなくても引数を使えてるみたいなのですが、このエラーの意味がよくわかりません。
よろしくおねがいします。
0116デフォルトの名無しさん
NGNGわからないのですが。
1.Servletでrequest.setAttribute("変数名", "hoge");
2.ServletでrequestDispatcher.forward(request, response);
3.JSPでString str = (String) request.getAttribute("変数名");
とやってみたところ、strがnullになってしまいます。
何かほかに必要な手順があるのでしょうか?
環境はJ2EE1.3(Servlet2.3,JSP1.2)&Tomcat4.1.30です。
よろしくお願いします。
0117デフォルトの名無しさん
NGNGローカル変数Aが内部クラスで使われるコードがある場合、その内部クラス
のコンストラクタ時に、新しい同型の変数領域が割り当てられて、そこに
ローカル変数Aの「値」自体がコピーされる形となる。
普通に考えれば、内部クラスからローカル変数をアクセスするのは不可能
なのだが、上記の様に「同じ値」(参照値ではない事に注意)をアクセス
させて実質的には同じ行為をしてると見せかける事によって、内部クラス
からのローカル変数アクセスを実現させている。
その為、内部クラスコンストラクタ時に、そのローカル変数Aはfinal
つまり不変宣言されてなければならない。
あと、>>>115の解決法は、その引数Aをfinal int B=A;などとして
Bを内部クラスからアクセスさせるようにすればOK
0118デフォルトの名無しさん
NGNGJAVA開発チームが仮に日本人だったら、JAVA2なんて無闇に2を
付けないだろうな。
アメリカ人ってなんでこういちいち性能UPを不必要なまでに誇示したがって
名称にゴテゴテ数字を付けたがるのかね?
シンプルさ、扱いやすさ、認識しやすさを重視する哲学が全くない。
なんか外にも種類があるのかって思わせて、混乱させるようなネーミングは
やめれ。
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNG1.5をインストールして、それまでのコードをコンパイルしたら
なんとコンパイルエラーが出てしまいました。
コンポーネントをコンストラクタする部分と、あとひどい所では
String s="aaa" + "bbb" + "ccc"
って感じのところです。何故なんでしょうか?
1.5って全然互換性がないのですか?
0121デフォルトの名無しさん
NGNG0122デフォルトの名無しさん
NGNGパクった機能の多くはC#出現当時ぼろくそに批判してませんでしたか?
0123デフォルトの名無しさん
NGNGだが有用な機能はどんどんパクったら良いだろ。言語の発展の歴史はパクリの歴史だ。
現に「catchしてなくて良い例外」とか「演算子オーバーロード」等の
有用でない機能(Javaにふさわしくない機能)は入ってない。他にもあるだろうな。
0124デフォルトの名無しさん
NGNGjavac -source 1.4 -target 1.4 おまえのソースコード.java
0125デフォルトの名無しさん
NGNGでも、ほとんどのフレームワークで非検査例外を投げるようになってきてたり、throws Exceptionしてたりするけどね。
0126デフォルトの名無しさん
NGNGちゃんとjava5のjavac使ってる?
0127デフォルトの名無しさん
NGNG俺は批判したのは、unsafeコードだけだったよ。
>>120
釣りかもしれんがコンパイル失敗するコード見てみたい。
コレクションあつかってるとこかもな。
0128デフォルトの名無しさん
NGNGシンプルな文法で安定した開発が可能って売りが消えつつありません?
(馬鹿用言語と批判されるゆえんですが、私は優れた点だと思ってます)
0129デフォルトの名無しさん
NGNG釣りじゃないです。
今日の朝、怒って1.5を消してしまって、1.4を再インストール
してしまったので、エラーの詳細については後で書きます。
0130デフォルトの名無しさん
NGNG教えて欲しいのだが「ほとんどのフレームワーク」って例えばなに?
例外処理は難しいから、個人的にはその管理を放棄したくなる気持ちはわからんでもない。
しかしうまく使えばコードの信頼性を向上させることができるかもしれない。
個人的にはusingブロックが無いのは不満だし、演算子オーバーロードは絶対に取り入れて欲しくない。
一方ではGenericsを邪魔だと思う奴もいるだろう。
欲しい機能、迷惑な機能は人によって違う。
その中でJCPやらSunやらで検討した結果有用だと結論付けられた機能が
今回取り入れられたというだけ。
0131デフォルトの名無しさん
NGNG演算子オーバーロードは、ユーザーの自由定義は排除して
各クラスによる固定定義だけは、是非とも取り入れて欲しかった。
Stringには初めからあるんだし。
例えばコレクションクラス。[]演算子で要素を取り出せるようにして
欲しかったね。あとラッパーはオートボクシングで解決されたけど
それ以前の初めっから、算術演算子オーバーロードを付け加えて欲しかった。
0132115
NGNG回答ありがとうございました。おかげさまで無事解決できました^^
分からなくて困っていたので大変助かりました^^
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNGコレクションでget()なんてほとんど使わないし
for文拡張だけで十分だと思うのだが
0135デフォルトの名無しさん
NGNG130の後半を読め。
こんな2chの初心者スレで個人的な好みで文法論議をしても始まらん。
せめて1.5スレか1.6スレでやれと。
0136デフォルトの名無しさん
NGNGstrutsやSpringやSeasarなど。
例外処理は難しいというより、処理中で例外が発生した段階で対策がとりようがないものの方が多い。
だから、Strutsでエラー表示したり、AOPでロールバックしたりする。
ロジック内で例外処理をすることのほうが例外的。
動的に入出力先が変わるときとか、その程度じゃないか。
フレームワークでめんどうが見れることが前提であれば、個々のロジック内で例外処理ってあんまりする必要がなさげ。
0137デフォルトの名無しさん
NGNGそういうメソッドを何個か呼び出すようなメソッドでは5〜6個になっちゃうし、
その呼び出し元ではさらに・・・・
で結局どこかで握りつぶさないとthrowsだけで馬鹿みたいに行数とっちゃうんだよなぁ。
かといってthrows Exceptionじゃ旨さ半減だし。
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGにぎりつぶすんじゃなくて、非検査例外に変換して投げなおすんだよ。
0140デフォルトの名無しさん
NGNG握りつぶすなよ馬鹿(笑
0141でふぉるとのななしさん
NGNG0142デフォルトの名無しさん
NGNG実行・開発環境と、拡張ライブラリです。
0143デフォルトの名無しさん
NGNG後半が違う。J2EEはAPI仕様です。実装ではないのです。
J2SEというのは、これまた仕様です。SUNの実装が、J2SE SDKだったりします。
0144デフォルトの名無しさん
NGNG普通はレベルが異なる層ごとに例外クラスを定義するだろ。
5個も例外返すなんてのは設計が悪いだけ。
0145ジャズ紳士 ◆rHkT/SfI7A
NGNG0146デフォルトの名無しさん
NGNGコンパイル時にオプションで -source 1.4 -target 1.4 して、
J2SE 以降で追加されたクラス、フィールド、メソッドを使用しないか、
使用しても、それらが無い場合でも動くように考慮してコードを組めば実行できる。
0147ジャズ紳士 ◆rHkT/SfI7A
NGNGコンパイル時に平凡なfor文に書き換えてると思ってたよ>1.5
0148デフォルトの名無しさん
NGNG-source 1.5 -target 1.4 でいけるかと思ったけど駄目だった。
>javac: リリース 1.5 のソースにはリリース 1.5 のターゲットが必要です。
こんなん言われちゃった。
0149ジャズ紳士 ◆rHkT/SfI7A
NGNGわざわざサンクス。
回避方法考える楽しみができました
0150デフォルトの名無しさん
NGNGどうやるんですか?
コンテナにいれてるんですがセットカラーが使えません。アプレットを継承しないとだめ?
0151デフォルトの名無しさん
NGNGAPIみた?
0152デフォルトの名無しさん
NGNG0153デフォルトの名無しさん
NGNGどうしてもできないです。
パス設定もしてテキストエディタでソースコードを作ってみても
コマンドの使い方がわからないです。
教えてください
0154デフォルトの名無しさん
NGNGまったくわからないのならNetBEans立ち上げてみてプロパティをいろいろといじってみてごらん
0155デフォルトの名無しさん
NGNGsetForegroundでした。colorばっか探してマスタ
0156デフォルトの名無しさん
NGNGどこを直せばよいのでしょうか。教えて下さい。
長すぎて書き込めないのでUpしました。
---
http://up.isp.2ch.net/up/8a6012baad6d.txt
0157デフォルトの名無しさん
NGNGスタックトレースに行番号まで出てるもんだがな
0158156
NGNG「どのように直せば」でした。
0159デフォルトの名無しさん
NGNGどの変数がnullになってるのかわかるだろうよ。
その変数がnullにならないように直すかnullになっても問題ないように直せ
0160デフォルトの名無しさん
NGNGひでえな。ワラタ。
0161デフォルトの名無しさん
NGNG見れないよ。
取り合えずスタックトレースのうち、自分の書いたクラスに関係する部分だけ抽出して張ってけろ。
それとそのトレースで示されている部分前後10行程度のコード。
0162デフォルトの名無しさん
NGNGなにが?
的確なアドバイスだと思うが
0163デフォルトの名無しさん
NGNG0164デフォルトの名無しさん
NGNGお前はこの板には向いてないので、雑誌拾って100円で売る商売でもしてろ
0165デフォルトの名無しさん
NGNG「その変数に値が入るようにする」「nullでもエラーにならないように制御文を
いれる」以外に解決法があるだろうか。
しかもソースがなんでか読めないし。
0166デフォルトの名無しさん
NGNG0167デフォルトの名無しさん
NGNGあきらめる
0169デフォルトの名無しさん
NGNGたしかに、>>156 は諦めるのが一番のような気がする。
0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGそれができないからこその「あきらめる」
0172デフォルトの名無しさん
NGNGdouble の変数 d を四捨五入して long の変数 l に代入するにはどうしたら
よいでしょうか?
long l = (long) d; だと小数点以下が切り捨てられてしまいます。
丸め専用のメソッドがどこかにあると思ったのですが、見つからず、
現在のところ
long l = new BigDecimal(d).divide(new BigDecimal(1.0), 0, BigDecimal.ROUND_HALF_EVEN).longValue();
という回りくどいやり方をしております。
こういうやり方が良い、というアドバイスがありましたらお教えください。
0173デフォルトの名無しさん
NGNG0174デフォルトの名無しさん
NGNG四捨五入でいいなら
long l = (long)(d + 0.5d)
0175172
NGNGうわー!正直、ぜんぜん気が付かなかった。
しかし、そんな C みたいなやり方が Java の標準なんでせうか?
正直、納得いきません。
と思ってぐぐったら、こんなものが見つかりました。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Math.html#round(double)
ということで、これで行きます。
long l = Math.round(d);
まあ内部でやっていることは同じなんですけれど、私の好みということで。
それにしても、あんなに探して見つからなかったのに、質問したあとに探したら
あっという間に見つかってしまった。すみません。お騒がせしました。
0176デフォルトの名無しさん
NGNGpublic static void main(String args[]){
Circle myCircle = new Circle(3,3,2);
Circle myCircle = new Circle(3,3,2,4);
System.out.println("X座標=" + myCircle.getX());
System.out.println("Y座標=" + myCircle.getY());
System.out.println("円の面積=" + myCircle.areaCircle(int));
System.out.println("X座標=" + myCircle.getX());
System.out.println("Y座標=" + myCircle.getY());
System.out.println("楕円の面積=" + myCircle.areaCircle(int,int));
System.exit(0);
}
0177176
NGNGint x; int y; double s;
public int getX(){return x;}
public int getY(){return y;}
public void Circle(int initX,int initY){
x=initX; y=initY;
}
public double areaCircle(int r){
System.out.println("円の面積");
s=r*r*3;
return s;
}
public double areaCircle(int a,int b){
System.out.println("楕円の面積");
s=a*b*3/4;
return s;
}
}
コンパイルすると1行目でclassまたはinterfaceがありません、とかいうエラーが出ます・・どこが間違っているんでしょうか?
0178デフォルトの名無しさん
NGNGmainメソッドもどこかのクラスに所属する必要がある。
class Circle{
...
}
の内側に入れればOKでしょう。
0179デフォルトの名無しさん
NGNGpublic void Circle(int initX,int initY){
->
public Circle(int initX,int initY){
0180デフォルトの名無しさん
NGNGとにかくめちゃくちゃです
まずHello worldをつくって理解しよう
0181デフォルトの名無しさん
NGNGCircle myCircle = new Circle(3,3,2);
Circle myCircle = new Circle(3,3,2,4);
同じ変数名を2回宣言している。2つめの変数は違う名前にしてあげよう。
コンストラクタの引数は(int, int)なのに3つも4つも渡してる。
2つだけにしてみよう。
System.out.println("円の面積=" + myCircle.areaCircle(int));
System.out.println("楕円の面積=" + myCircle.areaCircle(int,int));
areaCircleメソッドの引数に「int」を渡している。
「int」じゃなくて3とか4とか、実際の値を渡すようにしよう
あと円周率が3になってるけど、Math.PIっていう定数があるので使うといいかも。
ついでに楕円の面積は「長い軸」×「短い軸」×「円周率」
4で割る必要はないかも。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG大会期間は1ヶ月。
優勝賞金としてあなたのロボットがあげた利益をそのまま獲得できます!
ユニークなロボットには特別賞も!
ふるってご参加ください。
ttp://www.kaburobo.jp/
0185デフォルトの名無しさん
NGNG0186デフォルトの名無しさん
NGNG入れ子クラス ⊃ 内部クラス
ですよね? そして、
内部クラス ∋ {局所クラス、匿名クラス、非静的メンバクラス}
となっていますよね?
では、入れ子クラスであって内部クラスでないものをなんと呼ぶのか(どんなクラスがあるのか)
良く知られた名称を教えてください。
0187デフォルトの名無しさん
NGNG静的メンバクラス
0188デフォルトの名無しさん
NGNG静的メンバクラス
非静的メンバクラス
*インナークラス
非静的メンバクラス
局所クラス
匿名クラス
*入れ子クラス
静的メンバクラス
非静的メンバクラス
局所クラス
匿名クラス
子&孫以下の全てのクラス
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNGttp://www2s.biglobe.ne.jp/~yuuki_ki/java_class12.htm
0191デフォルトの名無しさん
NGNGなるほどclassのfinalと同じって事ですね
メソッドにstatic finalとか無意味・無駄・無理・無茶ですよね?解釈間違ってます?
0192デフォルトの名無しさん
NGNGabstract finalと勘違いしてないか
0194デフォルトの名無しさん
NGNGSoftBank社の「やさしいJava第2版」のLesson6練習問題の
2の答えを教えてください…ヒントでもいいです…
import java.io.*;
class Rensyu2
{
public static void main(String args[]) throws IOException
{
System.out.println("テストの点数を入力してください(0で終了)");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
do{
String nyuryoku = br.readLine();
res = Integer.parseInt(nyuryoku);
for(goukei = 1; goukei <= res; goukei++)
goukei += res;
}while(res > 0);
if(res == 0){
System.out.println("テストの合計点は" + goukei + "点です");
}
}}
自分でも「明らかに違う」と思うのですけど
どこをどう直したらいいのかわかりません…
繰り返しと、入力した数値を合計する方法がわからないです…お願いします。
0195デフォルトの名無しさん
NGNGttp://pc5.2ch.net/test/read.cgi/tech/1089527630/
0196デフォルトの名無しさん
NGNGありがとうございます。そっちに行きます。
0197猫
NGNGとりあえずアプレットビューアでは動いたんです。
でもブラウザでは動きません。。。ブラウザの下のほうには「アプレット XXX notinited」と表示されています。
アプリケーションはローカルHDにあり、テキストファイルのデータを読み込んで動くようになっています。
うーん、これがいけないのでしょうか。何か分かる方がいらっしゃれば、どうか教えてくださいませ。
0198デフォルトの名無しさん
NGNGJavaコンソール出してスタックトレース見れ。
0199デフォルトの名無しさん
NGNGブラウザが使用するJVMとクラスファイルのバージョン不整合かも知れないし
> アプリケーションはローカルHDにあり、テキストファイルのデータを読み込んで動くようになっています。
これかも知れない。
書き込みからわかるのはこれぐらい。
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGアプレット自体がローカルにあるなら、たぶん関係ないと思われ。
0202猫
NGNGご回答ありがとうございます。コンソールからコンパイルしてみました。
するとAppletのshow()というAPIが推奨されないという警告が出ました。
もうちょっと考えて見ます。
0203デフォルトの名無しさん
NGNGsetVisible(true)にすればOK
0204猫
NGNGありがとうございます。setVisible(true)にすればエラーは出なくなりました。
でも状況は変わらないです。。プログラムがでかすぎるのかな?けどViewerだと動くし。。
考えて見ます。
0205猫
NGNG最初のファイルが読み込めているんですが、その後エラーが起こっています。
java.security.AccessControlException: access denied (java.io.FilePermission IconImage/file.jpg read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
at sun.awt.SunToolkit.getImage(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at javax.swing.ImageIcon.<init>(Unknown Source)
at OpePanel.<init>(OpePanel.java:103)
at SyncOperator.addFile(SyncOperator.java:99)
at ViewFrame.<init>(SomViewFrame.java:195)
at FuckinApplet.init(FuckinApplet.java:36)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
0206デフォルトの名無しさん
NGNG大嘘
>>205
ロカールファイルへのアプレットのアクセスは制限される。
制限は、 ${JAVA_HOME}/jre/lib/security/java.policy か、ホームディレクトリ下の .javapolicy の内容を
変更してアクセス権限を設定しないと駄目。
0207猫
NGNGjava.policyにアプレットの制限をはずす以下を記述したのですが、同じです。。
permission java.security.AllPermission;
画像ファイルはローカルパスなのでこれかも?でもアクセス拒否エラーが出てるからパスはあってそうだし。。
難しいです。
0208デフォルトの名無しさん
NGNGjpg ファイルをアプレットの配置されたディレクトリか、そのサブディレクトリ、
もしくはアプレット を jar に固める際に jpg も一緒に固めろ。
そうすれば java.applet.Applet#getDocumentBase() や
java.applet.Applet#getCodeBase() が返す URL をちゃんと使用すれば取得できるだろ。
0209デフォルトの名無しさん
NGNGコンソールのスタックトレースはどうなってる?
セキュリティ以前に、-target指定しないでコンパイルしているにもかかわらず
ブラウザがデフォルトのVMを使うようになっているに一票。
0210デフォルトの名無しさん
NGNG>>205
0211デフォルトの名無しさん
NGNGポリシー設定は下のように。しかし非常に危険。 >>208の言うように固定的に使うリソースならば
archiveで指定するjarファイルのなかに入れてしまうのが安全。
grant {
permission java.security.AllPermission;
};
0212デフォルトの名無しさん
NGNG書き出しならともかく、読み込みアクセスなら
ローカルファイルへのアクセスを許すようにするのは下策。
0214211
NGNGそうそう、アプレットのVMって、JDKの下じゃなくて Program Files\Java\jre... の下にあるやつですよ。
ポリシーファイルもそこのをいじらないと駄目です。
0215猫
NGNGブラウザのインターネットオプション詳細設定の所で、MicrosoftVMの所のチェックをはずしたら動きました。
でも、前にエラーが出てた画像ファイルはボタンに使用しているのですが、それらは表示されないですね。。
これらはパスがおかしいのかな?getCodeBase()とか付け足していないので。
ひとまず動いた!ってことで、私の質問に答えてくださった皆さんに感謝いたします。
また何かあれば報告させてください!>>206の方も言ってるように、これは下策のようなので。。
0216猫
NGNG0217デフォルトの名無しさん
NGNG絶対パスにすんなよ orz
アプレットにはしたけど web やイントラネットでも公開する気は全く無い、んだろうなぁ…
何のためにアプレットにしてんだか……
0219211
NGNGいや、ちょっと待て公開しても相手先のマシンに絶対パスで仕込んだファイルがないと動かないし
何より相手のマシンのポリシーファイルを変更しないと動かないようなアプレットは公開する意味がない。
こういうポリシーを変更して使うってのは非常に限られた用途なんだぞ。
公開するなら今からでも遅くない、クラスと一緒のjarファイルのリソースに含めなさい。
でないとまた問題がたくさん発生する、それも本質的でないものが、だ。
0220デフォルトの名無しさん
NGNGって一言で言ったらどういう意味ですか?
演算子多すぎて覚えきれねぇ(涙
0221デフォルトの名無しさん
NGNGではない
0222デフォルトの名無しさん
NGNGありが�d!
0223猫
NGNGとりあえずローカル絶対パスではなく、URLを取得して動くようにしました。
ポリシーファイルの件はそうですね。jarファイルに含める際はアプレットのクラスと同じ階層に納めればよろしいのでしょうか?
ちょっと忙しく、調べられない状況なのでごめんなさい。
0224デフォルトの名無しさん
NGNG0225デフォルトの名無しさん
NGNG作りたいのですがいい方法が浮かびません。助けて
0226デフォルトの名無しさん
NGNG何をしたいのかさっぱりわからん
0227デフォルトの名無しさん
NGNGAbstractActionのソースを参照
アイコン無しのAbstractAction作ってclone()して
action2.putValue(Action.SMALL_ICON, icon);
とか
0228225
NGNG今は同じActionからアイテム生成してるんで両方ともアイコンついちゃって。。。
別々のActionは作りたくないのでなんとか一つのActionで二つのアイテム作れないですか?
0230227
NGNGMapオブジェクトが共有されてしまう
普通に2つインスタンス作ってやってくれ
0232225
NGNGこんな簡単な方法があったなんて!!
0233デフォルトの名無しさん
NGNG呼び出ししたりできるの?
0234デフォルトの名無しさん
NGNGそりゃスレッドの問題だろ。
0235デフォルトの名無しさん
NGNGCalendar の現在時刻から 5 日を引くには、以下のように呼び出します。
add(Calendar.DATE, -5)
とリファレンスにありますが、コンパイルできません。
abstractメソッドになっています。
継承してオーバーライドしなきゃ使えないの?なんでー?!
0236デフォルトの名無しさん
NGNG0237デフォルトの名無しさん
NGNG0238デフォルトの名無しさん
NGNG絶対ネーミング間違ってるし設計的にもおかしい。
Dateのメソッドをdeprecatedにするより、CalendarとDateがもっと連携できるようにすべきだったんじゃなかろうか?
0239デフォルトの名無しさん
NGNG特定の時刻を扱うのはDateで、そこに暦の扱いを与えるのがCalendarだ。
設計的におかしいというのなら、もっとすっきり特定の時刻への暦の操作をロケールによって切り替える仕組みを提案してみてくれ。
0240デフォルトの名無しさん
NGNG両方の意味を持っているのはあまりいい設計ではないだろう。
例えばあるDateインスタンスから一ヶ月後のDateを計算したい場合現状では
Date date1 = ...; // あるDate
Calendar cal = Calendar.getInstance();
cal.setTime(date1);
cal.add(Calendar.MONTH, 1);
Date date2 = cal.getTime();
とかやらないといけないけど、本来は
Date date1 = ...; // あるDate
Calendar cal = Calendar.getInstance();
Date date2 = cal.add(date1, Calendar.MONTH, 1);
のような感じであるべきじゃないのか?
0241デフォルトの名無しさん
NGNGGradientPaintが使われるのかと思って調べたけどどうもわからんです。
あるボタンインスタンスだけだけ、自分の定義したグラデーションを適用したいってときは
どうすればよいのでしょうか?
0242235
NGNG実は携帯のiアプリを作ろうとしているので、その関係もあるのかなと思っています。
j2sdk1.4.2_05, DoJa3.5の環境です。
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DATE, -5);
とやっています。「 シンボルを解決できません。」となります。
0243デフォルトの名無しさん
NGNGコマ時間をとってきたりするにはどうすりゃいいですか
0244デフォルトの名無しさん
NGNG将来的にはiモードJavaは無視して良い、ということでつか?
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGjavax.swing.imageio.ImageReaderクラスのread(int pageNo)で
一枚づつ取得できる。
しかし、各コマの相対座標は取得できないので、部分コマが
含まれてる場合は、どこかでライブラリを探しててくるか
自分でGIFフォーマットの読み取りルーチンを書くしかない。
そんな難しくないし。
コマ時間の取得は不可能。それに特に必要ない。
0247猫
NGNG0248デフォルトの名無しさん
NGNG0249猫
NGNG確かにおかしいです。無理ですね。
なるほど、アクセスするデータはすべてJar内に入れてしまえって事ですね。ありがとうございます。
Jar内のデータにアクセスするのは何か必要なのですか?
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNGここ。うまくつきあえば。
0253デフォルトの名無しさん
NGNGttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Class.html#getResource(java.lang.String)
このあたりかと。
0255デフォルトの名無しさん
NGNG現在、ソフトバンクの「やさしいJava」を使ってますが
もう1冊くらい買おうかな…と思ってます。
もしオススメありましたら教えてください。
0256デフォルトの名無しさん
NGNG1冊で十分だ。
それに書いてあることをきっちり理解できるようになってから他の本に手を出すがいい。
0257デフォルトの名無しさん
NGNG熟練者が理解に苦しむような本であった場合は?
0258デフォルトの名無しさん
NGNG頑張れよ
0259デフォルトの名無しさん
NGNG文法の説明は載ってるけど、interfaceの記述がほとんどないし、ということはJavaの大切なことが書いてないということ。
もちろん、最初に読んでるのが良い本であれば一冊で充分で、それに書いてあることをきっちり理解して他の本に手を出すようにするというのもいいけど。
文法レベルの本として、おれは独習Javaくらいしかしらないけど、他にいい本ある?
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNGWebの情報で十分。
というか、独習Java研修で持たされたが、まだ開いたのは片手で数えられるくらい。
あれって、どうなの?
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGjava.util.Calendar のオブジェクトから java.sql.Date クラスの
オブジェクトを取得するには、どうしたらよいでしょうか?
今のやり方を下に示しますが、どうにも回りくどいのです。
Calendar cal = Calendar.getInstance();
java.sql.Date date = new java.sql.Date(cal.getTime().getTime());
もうひとつ質問です。
java.util.Date と java.sql.Date が分かれているのはなぜでしょうか?
理由がまったく分かりません。java.util.Date 型のオブジェクトをそのまま
プリペアドステートメントにセットできたら、とても楽なのに。
以上です。どなたかお願いいたします。
0264デフォルトの名無しさん
NGNGWebの情報で十分といえるほど慣れてる人じゃなければ、悪くない。
さすがに古いけど。
0265デフォルトの名無しさん
NGNGsqlのDate型は、日付のみをあらわすので意味が違うのです。
utilのDate型の名前がよくなかったのかもしれない。
0266デフォルトの名無しさん
NGNG>どうにも回りくどいのです。
回りくどいかなぁ・・・・?俺にはそうでもない。
0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNG???先週から出て騒ぎはひと段落ついちゃってますが?
0269デフォルトの名無しさん
NGNGttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Calendar.html#getTime()
あとCalendarは抽象基底クラスで具象サブクラスとしてGregorianCalendarがあると
APIドキュメントに書いてあるので、俺はそっちを使うようにしてる
0270デフォルトの名無しさん
NGNGorz
0271デフォルトの名無しさん
NGNGSQLのミリ秒で表す時刻の基準とjava.util.Dateのミリ秒で表す時刻の基準が違うからのようだ。
0272263
NGNGこれが特に煩雑になるのは、Calendar オブジェクトをプロパティして持つ
オブジェクトがあって、これを使ってプリペアドステートメントに値を入れようと
する場合などです。
//object.calendar が Calendar 型
pstatement.setDate(1, new java.sql.Date(object.calendar.getTime().getTime()));
setDate() のカッコの中に、さらにカッコが入って、ごちゃごちゃしていると思います。
せめてこう書けたら、まだ分かりやすいと思うのです。
pstatement.setDate(1, object.calendar.getTime().getTime());
java.util.Date が UNIX 時間の単なるラッパであることは分かるのですが、
java.sql.Date には、推奨されていないメソッドを除いて、わざわざクラスを新設
しなければならないほどの改変があるようには見えませんでした。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/sql/Date.html
しかし、
>>271
なるほど、Date.setTime()がオーバーライドされていますね。これがどうしても
必要だったようですね。よく分かりませんが。
0273263
NGNGせめてこう書けたら、まだ分かりやすいと思うのです。
× pstatement.setDate(1, object.calendar.getTime().getTime());
○ pstatement.setDate(1, object.calendar.getTime());
あまり分かりやすくなっていませんでしたね。失礼しました。
0274いはさお ◆44eNHrW70I
NGNGかなり愛想が無いのが欠点だけど、
あれはあれでそれなりに良いものだと思います。
0275デフォルトの名無しさん
NGNGjava.sql.Date date = new java.sql.Date(cal.getTime().getTime());
と書くなら
java.sql.Date date = new java.sql.Date(System.currentTimeMillis());
でもよさそう。
0276デフォルトの名無しさん
NGNG実際にはなんかが入ってんだろ。
0277デフォルトの名無しさん
NGNGCalendarはDateを設定する操作クラス
だから日付はDateで持つべし。
と思ってるがどうよ? >>263はそもそも日付をCalendarで持ってるのが悪い。
DateをimmutableにしなかったSunは馬鹿
クラス名をDateTimeにしなかったSunはもっと馬鹿
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNG切り上げ(例:時刻を切り上げ 04/01 00:01 -> 04/01 00:00)って無いの?
あと二つのCalendar(またはDate)の差を求めるとか。
すんごい不便なんだけどなんか見落としてるのかな・・・。
0280デフォルトの名無しさん
NGNGhttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/Calendar.html#getTimeInMillis()
0281デフォルトの名無しさん
NGNG→ない。素直に特定以下のフィールドに0を入れていくしかない。
ミリ秒とか忘れがち。
cal.set(year, month, 1, 0, 0, 0);
cal.set(Calendar.MILLISECOND, 0);
差
→ない。
ミリ秒を取り出して差を取って86400000で割って日数差にしちゃって
いいのかどうか。
どうせあっても微々たる物だが、閏秒とかどうなってたっけ?
0282デフォルトの名無しさん
NGNG閏秒は扱えないんじゃないかな。
データベースなんかはちゃんと閏秒を格納できる仕組みをもってるけど。
とりあえず内蔵クロックが閏秒が必要なほどの精度を持ってないという話。
0283デフォルトの名無しさん
NGNG切り捨て
org.apache.commons.lang.time.DateUtils#truncate
0284279
NGNG日付の比較をしたかったんだけど、Dateは時間も持ってるから、ちゃんと時間を切り捨て、切り上げしないと意図どおりの結果にならないんだよねぇ。
ってゆーか日付の管理ってムズいネ・・・。
10時までって言うと普通10時を含まないよね。
でも5日までって言うと5日を含むんだよね・・・。
1日から数えて3日目って言うと、1+3=4日じゃなくて3日なんだよ・・・。
(1日が1日目になる)
ってゆーか日本語わかりにくいな・・・。
0285デフォルトの名無しさん
NGNG目的の時刻を飛ばしちゃったりして、
いつまでたっても目的の時刻が訪れない罠。
0286デフォルトの名無しさん
NGNGもしそのobjectのクラスにメソッドを追加できるんだったら
public java.sql.Date getCalSqlDate() {
return new java.sql.Date(calender.getTimeInMillis());
}
とすれば pstatement.setDate(1, object.getCalSqlDate()); で済む?
0287デフォルトの名無しさん
NGNG作りたいのですが,メソッドgetValueAtでtableの内容は取得できるのですが
ヘッダー(class HeaderRendererに相当)の内容をStringで取得する方法が
どうしてもわかりません。
getTableHeader() メソッドでJTableHeaderクラスを取得できても,
JTableHeaderクラスのparamString()メソッドがprotectになってて
使えないのです。
良い方法はありませんでしょうか。
0288デフォルトの名無しさん
NGNGJTable#getColumnName()とか、TableModel#getColumnName()とかで
得られるカラム名じゃなく?
0289デフォルトの名無しさん
NGNGparamString() って明らかに使い道が違うんだが javadoc は読んでるんだろうか。
JTable#getColumnName(int) では何か問題があるのだろうか。
0290263
NGNG本来は Date を使うべきなのでしょうが、日付単位でのインクリメントが
非常に多いので、Calendar を使う方が合理的だと判断しました。
>>280
そうすれば、確かに少しは見やすくなりますね。ありがとうございました。
>>286
私にメソッド作成の権限はありますので、その手段をとることは出来ます。
ただ、もし既存のメソッド、プロパティ等があるなら、それを知りたかったのです。
どうやら、それは >>280 氏のもの以外ないということのようですが。
皆様、いろいろありがとうございました。
0291287
NGNGただ,Jtableのカラム名をA,B,C以外の文字列に変更しているJtableを引数に
とった場合でもなぜか,A,B,C‥が返されてしまうのですがこの理由がわかりません。
0292デフォルトの名無しさん
NGNG0293287
NGNGclass HeaderRendererの中で
setTextメソッドを使ってます
public Component getTableCellRendererComponent(
JTable table,
Object value,
boolean isSelected,
boolean hasFocus,
int row,
int column) {
if (column == 1) {
setText("X");
}
}
;
といった感じです
0294デフォルトの名無しさん
NGNGhttp://www.asahi-net.or.jp/~yf8k-kbys/newjavah1.html
で勉強してたんですけど
javac Hello.java
をしたら
javacは認識されてませんとでてコンパイルできません。なんででしょうか?
0295デフォルトの名無しさん
NGNG(他言語の開発経験はほとんど皆無)
指定したニュースサイトに、指定した語句を含む記事がうpされたら、
それを収集するクローラーを作りたいのですが、難易度はいかほどのものでしょうか?
もし参考になるサイトなどがありましたら、ご教授いただきたくよろしくお願いします。
0298297
NGNG0299デフォルトの名無しさん
NGNG難易度 10段階(10高〜1低)でレベル3
使用API java.lang, java.io, java.util, java.net
推奨参考 JAVA・APIリファレンス(java.doc)でも十分
0300295
NGNGレベル3とのことなので、
初心者でも手が出せるかなと勝手に解釈し、チャレンジしてみます。
どうもありがとうございました。
0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG利用するAPIが基本的なものだからといって、作るのが簡単なわけではないし。
それなりに難しいと思うで。
0303デフォルトの名無しさん
NGNGEclipse?
ただのIDEのソフトの使いかただろ。
プログラミングとは関係無し。
0304デフォルトの名無しさん
NGNGえーと、TableModelについてひととおり勉強してくださいとしか。
0305294
NGNG見たんですけどjavacがやっぱり使えません。
JAVA_HOME C:\j2sdk1.4.2_04
PATH %JAVA_HOME%\bin
CLASSPATH .;%JAVA_HOME%\lib\tools.jar
としたんですが何がいけないんでしょうか?
0306デフォルトの名無しさん
NGNGルータ : 192.168.0.1
PC : 192.168.0.2
のようになります。
しかし、外から見たプロバイダに割り当てられたグローバルアドレスは
YahooBB2200460002**.bbtec.net(220.46.0.2**)
のようになります。
で、InetAddressなどを使ってPCやルータのアドレスを取得しようとすると、やはり192.168.0.xとなってしまいます。
プロバイダから割り当てられたグローバルアドレスを取得するにはどうしたらいいのでしょうか?ご教授お願いしますm(_ _)m
0307デフォルトの名無しさん
NGNGとりあえず、スレ違いじゃない?
0308デフォルトの名無しさん
NGNG0309デフォルトの名無しさん
NGNGあ!Javaネットワークプログラミングってスレがあった・・・orz
そっちに逝きます。お邪魔しましたf^^;
0310デフォルトの名無しさん
NGNGecho javac
で何か表示されないかな?
0311デフォルトの名無しさん
NGNG指定されたjpgやgifファイル(illustratorで作成)
からImageIconを作ろうと思ってるのですが
たまに以下のエラーが出てしまいます。
sun.awt.image.ImageFormatException: Unsupported color conversion request
at sun.awt.image.JPEGImageDecoder.readImage(Native Method)
at sun.awt.image.JPEGImageDecoder.produceImage(Unknown Source)
at sun.awt.image.InputStreamImageSource.doFetch(Unknown Source)
at sun.awt.image.ImageFetcher.fetchloop(Unknown Source)
at sun.awt.image.ImageFetcher.run(Unknown Source)
サポートしていない色を使ってるみたいなエラーのようですが,
こういうエラーが発生せず,思ったとおりにImageIconをつくるために
注意すべき点などありますでしょうか
0312305
NGNG0313デフォルトの名無しさん
NGNG何がいけないかと言えば、お前の頭
0314デフォルトの名無しさん
NGNG原因がわかるまでは
C:\j2sdk1.4.2_04\bin\javac
でやってれば?
0315デフォルトの名無しさん
NGNG%JAVA_HOME% は一体どうなってるの?
ちゃんとインスコしたフォルダになってる?
書いてる通りなんだろけど、
echo %JAVA_HOME% してみそ。
それか、素直に>314サソの書いた通りに、フルパスで打ってみれ。
それでダメならインスコ失敗してるんじゃねーのか?
とマジレスしてみる。
0316312
NGNGコンパイルできました。
ありがとうございます。
>>315
%JAVA_HOME% は%JAVA_HOME% のままにしてます。
echo %JAVA_HOME% をしたら
C:\j2sdk1.4.2_04
と表示されました。
これでいいんでしょうか?
0317デフォルトの名無しさん
NGNG0318306
NGNGプロバイダから割り当てられたアドレス(リモートアドレス)を調べる方法なんですけど、
色々調べた結果、サーブレットのgetRemoteAddr()メソッドを使えば取得できることがわかりました。
そこで、クライアント側はブラウザを使わないでJavaアプリケーションからサーブレットサーバに接続する方法ってありますか?
できれば、TomcatやApacheなどの外部プログラムに依存したくないので、サーブレットを使用しない(CGIも使わない)サーバプログラムが理想です。
(まぁクライアント側のみでリモートアドレスがわかればそれに越したことはないんですが)
0319デフォルトの名無しさん
NGNG1回再起動しました。
0320デフォルトの名無しさん
NGNGん〜なんだろ。2000使ってる?オレもたまに環境変数がうまく認識されないときがあるんだよねぇ。
解決するまでの対応策として、バッチファイルを使って環境変数を一時的に設定する方法があるよ。
jdk.bat
set JAVA_HOME=C:\j2sdk1.4.2_04
set CLASSPATH=%CLASSPATH%;%JAVA_HOME%\lib\tools.jar
set PATH=%PATH%;%JAVA_HOME%\bin;
これをC:\jdk.batに保存したとする。次にコマンドプロンプトのショートカットをデスクトップなどに作成する。
そのショートカットのプロパティの「リンク先」の値が
%SystemRoot%\system32\cmd.exeとなってる事を確認。(XPだと違ってるかも)
これを、%SystemRoot%\system32\cmd.exe /k C:\jdk.bat と変更し、OKボタンを押す。
ショートカットからコマンドプロンプトを立ち上げると、普通にjavacが通るはず。
以降、javacを使うときはこのショートカットを利用すればいい。
まぁ別バージョンのJDKを共存させるための方法なんだけども、応急処置として。
0321319
NGNG親切に詳しく教えてくださってありがとうございます。
OSはxpでホームエディションです。
最近OSの調子が悪いんで多分そのせいだと思います。
眠たくなったんで明日試してみます。
ありがとうございました。
0322デフォルトの名無しさん
NGNGYBB使っててそれは無いと思うけど。
自分の使ってるルータとYBBのモデムの間にもう一個ルータかPCか無い?
あるならそれのアドレスを取得すればいい。
てか、YBBならルータつかわずにハブでつなげばglobalIP直接使えるよ
0323デフォルトの名無しさん
NGNG透明GIFではなく、普通の画像ファイルの特定色を指定して、その色が透明になる
という風にしたいんです。
よろしくお願いします。
0324デフォルトの名無しさん
NGNG問題は、PATH環境変数じゃない?
環境変数の定義順によってはPATH設定時に
うまくJAVA_HOMEが定義されていないことがあるかもしれん。
PATHの定義は、%JAVA_HOME% を使わずにC:\j2sdk1.4.2_04 を埋め込んでミソ。
あと、そのCLASSPATHは定義しないこと。
com.sun.* パッケージをたたくとかしなければ必要ない。
0325デフォルトの名無しさん
NGNG%JAVA_HOME%使わせろよ。
0326デフォルトの名無しさん
NGNGYBBじゃなくても、他のプロバイダや、学内からでも使えるようにしたいんです。
ネットワークプログラムを作っているんですが、それをグローバル対応させたいんです。
0328デフォルトの回答者
NGNGなにを作ろうとしているのか怪しいが、何でグローバルIPが必要なんだ?
Inboundのアクセスをさせるためだっていうんだったら、そのグローバルIPを知るだけじゃ駄目で
ファイアウォールで、Inboundなパケットを許可しないといけないんやけど・・・
# それを知らずにグローバル対応ってのは、技術的にちょいと怪しいなぁ・・・
ま、無駄かも知れんけどグローバルIPの取得方法を言っておく。
単体では無理、グローバルIPを持つ(もしくはグローバルIPで到達可能なマシン)が必要。
そのマシンに接続元のIPを返答するようなサービスを立ち上げておく、ま、HTTPで立ち上げておくのが楽か。
dynamic DNSの更新方法なんかの更新方法の応用かな。(逆か?)
0329デフォルトの名無しさん
NGNG>なにを作ろうとしているのか怪しいが、何でグローバルIPが必要なんだ?
グローバルIPを知らないと、クライアント側のリモートメソッドが呼び出せないからです。
>ファイアウォールで、Inboundなパケットを許可しないといけないんやけど・・・
クライアント側でファイアウォールの設定をさせるのはやむをえないと思っています。
やはりサーバを用意する必要があるんですね。
ソケット渡し(ttp://www2s.biglobe.ne.jp/~cru/library/java/watasi.html)みたいにCGIを使えばなんとかなりそうなんですが、
サーバプログラムを移行しやすいように、CGIに依存しないでクライアントIPを取得できればいいのですが・・・。
現在ソケット通信で接続元のアドレスが取得できないか奮闘中です。
0330デフォルトの回答者
NGNGうーん、さらに分からなくなった。
ソケットの接続が完了したら、接続元のアドレスは簡単に取れるはずなんだが・・・
ttp://java.sun.com/j2se/1.5.0/docs/api/java/net/Socket.html#getRemoteSocketAddress()
そのソケット接続をグローバルIP側から開始できないから問題なんじゃないのか?
0331デフォルトの回答者
NGNG追加、ファイアウォール設定はクライアント側の設定というより
経路の設定が問題でしょう。
学内なんかプライベートIPで振られている端末に外からアクセスなんて普通無理だって。
よほどの馬鹿が設定してもプライベートIPを設定する脳みそがあればInboundのパケットは弾くって。
0332デフォルトの名無しさん
NGNGなんでもJavaでやればいいわけじゃなくて、こういう技術と組み合わせればいいのさ。
0333デフォルトの回答者
NGNGそいつがOKなんだったらだいぶらくなんだけなぁ。>>329がどういう状況なのかいまいちわからんし。
windowsクライアントが主ならPPP over SSHも調べとけ。金かからん上に、プロトコルの通過確率(?)も高い。
どうもシチュエーションが違うような気がするけどな。(サーバ/クライアント型のソフトではないような気がする・・・)
0334デフォルトの名無しさん
NGNGコンボボックスは1行に1つしか表示できないんでしょうか?
「▼」を押すと、例えば「001|山田」「002|佐藤」みたいな・・・
VBだと簡単にできるようですが、Javaだと複数列にできないんでしょうか。
0335デフォルトの名無しさん
NGNG> まずはPATHをいじって動くようになるのを確認してからだろ、それは。
わけわからんこというな。
JAVA_HOMEとPathが通ってるjava.exeバージョンが違ったらどうするんだよ。
0336デフォルトの名無しさん
NGNGしてきたクライアントのグローバルIPを知りたいってことだよね?
そりゃServerSocketのaccept()が返すSocketに対してgetInetAddress()するだけだろ。
うちで2台のPCつかってやってみたら、ちゃんとクライアントのグローバルIP(実際には
ルータに割り当てられてるやつ)が取得できたぞ。
192.168.*.*のアドレスが返ってくるのは、そりゃルータの内側でサーバをたてて、ルータの
内側のクライアントから接続して、InetAddressを処理してるからじゃないの?
ルータの外側にサーバを置いてると、クライアントのアドレスを得ようとすると、ルータの
グローバルIPしか得られんはずだ。NATとはそういうもん。接続に来てるのはルータなん
だから。
実際にサーバから(ルータではなく)クライアントPCにアクセスするには、クライアント側で
ルータにポートフォワード設定をしてもらう必要がある。RMIの使用ポートをクライアントPCに
振るように設定する。
0337デフォルトの名無しさん
NGNGそんなおいしいメソッドがあるなんて初めて知りましたw
ソケットはつい数時間前に勉強したばかりなのでわかんないコトが多くて・・・。
APIをちゃんと読むべきでしたねf^^;
>そのソケット接続をグローバルIP側から開始できないから問題なんじゃないのか?
ServerSocketを作成する際、ServerSocket(80, 100, InetAddress.getHostByName("YahooBB2200460002**.bbtec.net"));
のように、LAN内にあるPC(192.168.0.2)が、グローバルアドレス(Yahoo〜)でサーバソケットを作成しようとするとエラーが出ますね。
>>328でおしゃったように、グローバルIPを割り当てられたPCを使えば解決しそうです。
0338デフォルトの名無しさん
NGNGBufferedImage imgの指定色myColorを透明色にする
int target=myColor.getRGB();
int alpha=target&0xffffff;
for(int y=0; y<img.getHeight(); ++y) {
for(int x=0; x<img.getWidth(); ++x) {
if(img.getRGB(x,y)==target) {
img.setRGB(x,y, alpha);
}
}
}
ただimgをImageIO.read()などでJPEGファイルからロードした場合は
imgがアルファバンドを持たないので、上記の処理の前に
imgをアルファバンドを持つBufferedImageに変換する作業が必要。
0339デフォルトの名無しさん
NGNGJComboBoxにaddItem()したオブジェクトのtoString()でカスタマイズできる。
つまりこういうクラスを作って、そのオブジェクトをコンボボックスに入れる。
public class ComboItem{
private String id;
private String name;
public String toString(){
return id + " | " + name;
}
}
または、ComboBoxRedererでカスタマイズすることもできる。くわしくはこちらを。
ttp://java.sun.com/docs/books/tutorial/uiswing/components/combobox.html
0340デフォルトの名無しさん
NGNG0341デフォルトの名無しさん
NGNGありがとうございます。独自関数なんですね。
ComboBoxRendererは知ってたのですが、どうにもうまくいかなくて。
JDBCなのですよ。コンボボックスで値を選ぶとデータが表示・・・みたいな。
とりあえず悪戦苦闘しながら、試してみることにします。
0342デフォルトの名無しさん
NGNGClass#getResource(String)で
0343デフォルトの名無しさん
NGNGちょっと自分で機能をいじれるモノが欲しいと思いまして。
無いようなら自分で1から書いてみますが
もし知っている人がいましたら、よろしくです。
0344デフォルトの名無しさん
NGNGclass btnAction AbstractAction{
public void actionPerformed(ActionEvent e){}
で作ったんですけどこれを自分で呼び出すにはどうやればいいんですか?
ボタンが押されないと絶対呼ばれない?
0345デフォルトの名無しさん
NGNGSwingUtilities#notifyActionで呼び出せる
0346デフォルトの名無しさん
NGNG深く考えずボタンを押すコードを書けばよい。
例えばJButonn#doClick()とか。
0347デフォルトの名無しさん
NGNGボタンが押されてしまうとフォーカスが変わったりと、いろいろ
不都合が起こる。純粋にactionを呼び出さねばならない。
0348デフォルトの名無しさん
NGNGactionにはKeyStroke, KeyEvent, Object , int とかいうのは
入ってないんですけど
0349デフォルトの名無しさん
NGNGregisterKeyboardActionとかつかってないし
KeyEventもまだつけてません。
0350デフォルトの名無しさん
NGNGSwingUtilities.notifyAction(任意のAction, null, null, null, 0);
とりあえずこれでやってみてください。エラーが出たらまた来てください。
0351デフォルトの名無しさん
NGNGSwingUtilities.notifyAction(Unknown Source)とかいっぱいでました
0352デフォルトの名無しさん
NGNGじゃあ、これなら上手くいきます。
actionがアナタの設定したActionオブジェクトで、buttonはそのActionを
つけたJButtonです。
KeyEvent ke=new KeyEvent(button, 0, 0, 0, 0, (char)0);
SwingUtilities.notifyAction(action, null, ke, this, 0);
KeyEventだけは設定する必要があるのです。
0353デフォルトの名無しさん
NGNG標準APIを使って、簡単にHTMLページのリンクを抽出する方法ってないでしょうか?
URLの配列を返してくれるメソッドとか。
0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG0356デフォルトの名無しさん
NGNGページソース取得して、正規表現でゲットするしかないと思う
0357354
NGNG0358353
NGNG0359デフォルトの名無しさん
NGNG本日の日付は以下のようにして取得できるんですが、
これ以降がよくわかりません。どなたかよろしくお願いします。
Date today = Calendar.getInstance().getTime();
0360デフォルトの名無しさん
NGNGjava.sql.Date today = new java.sql.Date(new java.util.Date().getTime());
0361359
NGNGすいません、質問の仕方が悪かったですが、
わからないのはjava.util.Date型をjava.sql.Date型に
変更する方法ではなく、「5日前の日付を取得する方法」なんです。
Calendar#add で可能かと思ったんですが、
抽象クラスになっているので、そのままは使用できないのです。
どなたかよろしくお願いします。
0362デフォルトの名無しさん
NGNGDate day = cal.getTime();
0364デフォルトの名無しさん
NGNG良いのですか?
例えばデータベースにselect * from hogeと問い合わせたとき。
Object[][] foo = new Object[?][?]
ご教授ください。
0365デフォルトの名無しさん
NGNGどうやって受け取るつもりなんだお前は?
0366デフォルトの名無しさん
NGNGまずはJDBCの基礎から始めよう。
0367デフォルトの名無しさん
NGNGClass.forName("com.mysql.jdbc.Driver");
(中略)
Object[][] rowData = new Object[][];
int i=0;
while(rs.next()){
rowData[i][0] = rs.getString(1);
rowData[i][1] = rs.getString(2);
rowData[i][2] = rs.getString(3);
i++;
}
return rowData;
0369デフォルトの名無しさん
NGNGなるほど。勉強になりました。
ArrayListとVectorって何処が違うの?
0370デフォルトの名無しさん
NGNGそもそも*で取ってくるのが間違ってる
0371デフォルトの名無しさん
NGNG0372デフォルトの名無しさん
NGNGいちいち列名指定しないといけない?
0373デフォルトの名無しさん
NGNG0374デフォルトの名無しさん
NGNGVector:昔のJavaでも使えるが遅い。
ArrayList:Java2以降に追加。速い。
0375デフォルトの名無しさん
NGNG(中略)
ArrayList list = new ArrayList();
while(rs.next()){
list.add(rs.getString(1));
list.add(rs.getString(2));
list.add(rs.getString(3));
}
return list;
これでおk?
0376デフォルトの名無しさん
NGNGArrayListはスレッドセーフじゃない
0377デフォルトの名無しさん
NGNGもう勘弁してくれ
いいところつまみ食いしようとしないでちゃんと本読んで一から勉強してくれ
>>376
Vectorだってあんなもん同期してるとなんかとても言えないよ
0378デフォルトの名無しさん
NGNGスピードの問題でもない。
0379デフォルトの名無しさん
NGNG> 1.2以降でVector使ってる奴は例外なくJavaもスレッドもわかってない奴。
例外なくってのは全く根拠無いな。
ArrayList 使ってる奴の中にだってJavaもスレッドもわかってない奴はたくさんいるし。
馬鹿には一応 Vector 使わせとけ、というのはありだと思うが。
0380デフォルトの名無しさん
NGNG両方のソースを見比べてみればいいんだから。
0381デフォルトの名無しさん
NGNG無職だめ板のプログラミングスレで、「Javaで何か作らない?」という話が出て
「Vixみたいの作れないかな」とカキコしたら
プゲラされてしまったのでつが
どの辺がプゲラなのかさっぱり分かりません。
どなたかご指摘頂けないでしょうか?
// ちなみに、性能上同等のものを作るとかではなく、
// 単にJavaの勉強するのに何か目標が欲しいよね、という話です。
0382デフォルトの名無しさん
NGNG0383デフォルトの名無しさん
NGNGここ読んどけ。
0384デフォルトの名無しさん
NGNGHashMapやArrayListなどの同期をとらないコレクションAPIは、
マルチスレッド環境化で同時にgetメソッドが呼ばれると
期待した結果が返らない場合がある。
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGJavaで前向きな活動しようとすると現れます。
0387デフォルトの名無しさん
NGNG何度か見たことある
スレッドが違えば同期化しなきゃ保障されないのを知らないやつな
グリーンスレッドのときはたしか動いていた気もする
0388デフォルトの名無しさん
NGNGSoftReferenceでラップした参照値のオブジェクトは、メモリーが
足りなくなると、そのオブジェクトが強可到達であっても
ガーベジコレクタによってクリアされてしまうのでしょうか?
0389デフォルトの名無しさん
NGNGreturn;じゃウィンドウ閉じてしまうのですが
0390デフォルトの名無しさん
NGNG他の WindowListener も全部 windowClosing でウィンドウ閉じないようにしないとダメなんでは?
0391デフォルトの名無しさん
NGNGJFrame#setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
を加えればOK
0392デフォルトの名無しさん
NGNGpublic static final intな変数を、処理に応じた値に初期化したいと考えています。
その処理は例外が発生する可能性があるので、次のようなスタティックイニシャライザを書きました。
(実際はtryブロックで処理をし、tryブロックの最終行で初期化していますが、
初期化部分以外を削除して、下記のコードにしても同様のエラーが出ます)
class Test {
public static final int VALUE;
static {
try {
VALUE = 1;
} catch (Exception e) {
VALUE = -1;
}
}
}
これをコンパイルすると
Test.java:7: variable VALUE might already have been assigned
VALUE = -1;
と怒られます。7行目をコメントアウトすると、予想通り
Test.java:1: variable VALUE might not have been initialized
class Test {
と怒られます。
どのように書けばよいのでしょうか?
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNGあっ、それいただき。有難うございます。
でもこれコンパイラのバグじゃないのかなぁ。
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNGエラーメッセージのまんまだと思うが・・・
何もおかしいところは無い
0397デフォルトの名無しさん
NGNGという意味をよく見直してごらん。
http://msugai.fc2web.com/java/memberVar.html
0398デフォルトの名無しさん
NGNG実行したら、下記の実行時エラーが出てしまいました。
java.lang.VerifyError: (class:〜) Incompatible object argument for function call
どうすればいいんでしょうか? 実行できるような対策法を教えてください。
0399デフォルトの名無しさん
NGNG0400デフォルトの名無しさん
NGNGpublic staticで初期化後に変更されたくない時はfinal使うんじゃないですか?
コンパイル時に決定する定数じゃなくて、起動時にpropertyファイルで(からDB検索して)決定する定数なんですが。
>>396
えぇっ?
7行目でvariable VALUE might already have been assignedって事は
5行目のVALUE = 1;で初期化済みのVALUEに再度初期化する可能性があるとコンパイラは言ってるんですよね。
try節最終行のVALUE=1で割り当て後に例外が発生するはず無いから問題無いと思うのですが。
0401\______________/
NGNG|::| ノ / ̄ ,;;;;;;;;;;;;.、
|::| || | {;;;;;;;;;;;;;:}
|::| ||., \ ':;;;;;;;;;;'
|::| | \ `''"~ ""'ヽ
|::|__.|_.` i i )シュッ
|::|―-- `i 人 :| 'ノ .ニ二二|:::|
|::| | l|i|! !|il!シュッ |:::|
i, `' i i'ニ-'" シュッ//
0402デフォルトの名無しさん
NGNG定数宣言だから変更は不可能
もしやりたいのならゲッターつくれ
0403デフォルトの名無しさん
NGNGスタティックイニシャライザで*初期化*は出来ると思いますが。↓はコンパイルとおりますよ。
class Test {
public static final int VALUE;
static {
int temp;
try {
temp = 1;
} catch (Exception e) {
temp = -1;
}
VALUE = temp;
}
}
0404デフォルトの名無しさん
NGNGint temp=-1;
try{
temp = 1;
} catch(Exception e){
// do nothing
}finally {
VALUE = temp;
}
の方が好きだな。
0405デフォルトの名無しさん
NGNGただの揚げ足取りだな
どのみちstaticだけだし、設計的にgetterのほうがよさそうだ
0406デフォルトの名無しさん
NGNG0407デフォルトの名無しさん
NGNG実行したら、下の様な文字列連結の部分で実行時エラーが出てしまいました。
(java.lang.VerifyError)。codeは、int型変数です。
"コードは" + code + "です"
まさか、java1.5じゃ上記のような文字連結文は使えないのでしょうか?
どうすればいいんでしょうか? 実行できるような対策法を教えてください。
0408デフォルトの名無しさん
NGNG|
∩___∩ | ぷらぷら
| ノ _, ,_ ヽ (( |
/ ● ● | (=)
| ( _●_) ミ _ (⌒) >>407 ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0409デフォルトの名無しさん
NGNGオレは2ch初心者だから釣り氏なんて怖くないぜ。
ってことでマジレス。
1.4でもint型を文字列として扱うことは出来ないよ。型変換しなきゃ。
例えば、"コードは" + Integer.toString(code) + "です" ってやったり、String str = new String(code) (以下略) ってやったり・・・。
0410デフォルトの名無しさん
NGNG|
∩___∩ | ぷらぷら
| ノ _, ,_ ヽ (( |
/ ● ● | (=)
| ( _●_) ミ _ (⌒) >>409 ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0411デフォルトの名無しさん
NGNGC:\>java aaa
C:\>java aaa
と何も表示されずに終わるんです。
これはなんですか?
0412デフォルトの名無しさん
NGNGcatchを書いてExceptionで受けている以上、コンパイラは何かしらの未チェック例外が
tryブロックで発生すると仮定する。チェック例外なら「発生しない例外をcatchしようとして
るけど?」とか言われるが、すべてに合致するExceptionで受けてるから、「なんか知らんが、
ともかくなんか起きるんだろう。だってプログラマがそう言ってるし」と仮定する。
だからtryブロックもcatchブロックも両方とも実行される可能性があると仮定する。
おまえがそう書いたんだからなんか発生するんだよ。コンパイラには想像もつかないが
なんか発生するらしい。
するとVALUEが二回初期化される可能性があるということになって、コンパイルエラーに
なる。
0413デフォルトの名無しさん
NGNGいやべつに1.4でも+で普通に文字列連結できるだろ...
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG例えばint なら 0 boolean なら false
「(フィールド変数のfinalは)宣言時に初期化しなければならない」
javaの認定試験の本に書いてありました。
0416415
NGNG〜finalな変数の初期化〜
staticなフィールドなら静的初期化子で初期化することもできるとあった・・・。
0417デフォルトの名無しさん
NGNG0418デフォルトの名無しさん
NGNGオレ的にはそれが気持ちいい。
非staticなフィールドはインタンス生成さられたときに初期化されると考えるほうが自然じゃないかな?
じゃないと生まれる前から運命が決まってるみたいで( ´Д`)キモッ
0419403
NGNGgetterはクラス内で変更できちゃうからやだ。
>>412
たぶんその理由でしょうね。
でも、例外がどの文で発生する可能性があるという事はコンパイラにはわかっているので、フロー解析は可能。
フロー解析すれば、2回は割り当てないことは明白なので、コンパイラの手抜きだと思います。
>>416
だから最初っから「スタティックイニシャライザ」って書いています。知らない単語が出てきたら
ぐぐってから話題に参加して欲しいです。
0420デフォルトの名無しさん
NGNGCLASSPATHに1.4のライブラリが通ってたりしない?
0421デフォルトの名無しさん
NGNG>でも、例外がどの文で発生する可能性があるという事はコンパイラにはわかっているので、フロー解析は可能。
確かにコンパイラは例外がどの文で発生する可能性があるかわかるけど
class ファイルになるとその情報は消えてしまうので実行時にはわからなくなってしまうのですよ。
つまり実行時のことを考えると、初期化に失敗して投げられた例外をキャッチしたのか
初期化は成功したもののその後投げられた例外をキャッチしたのかが区別できないので
コンパイラはそういうエラーメッセージを出すわけです。
0422デフォルトの名無しさん
NGNG0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNGnew っていうのは演算子なんですか? メンバ関数なんですか?
0425デフォルトの名無しさん
NGNG言語仕様の用語で言えば、new は演算子でもメンバ関数でもない。
オレ用語なら勝手にすればよいのでは?
0426デフォルトの名無しさん
NGNGっつか、言語仕様ではメンバ関数って使ってないような……
0427デフォルトの名無しさん
NGNGsunのページには「new Operator」って書いてますが
operatorって演算子だよな
0428424
NGNGC++だと new と delete は演算子と見なされてます。
で、Java で非静的メンバクラスのインスタンスを生成するときに
TopClass e = new TopClass();
TopClass.NonStaticMember i = e.new NonStaticMember();
って書きますけど、じゃあこの場合2行目の new は e のメンバなのか? って疑問に持ったので。
注) TopClass ∋ NonStaticMember
0429デフォルトの名無しさん
NGNGpublic class TigerTest {
public static void main(String[] args) {
int code = 10;
String s = "コードは" + code + "です。";
System.out.println(s);
}
}
とりあえずこのコードはコンパイルも実行も問題なくできた。
このぐらいのコードで再現するなら環境の問題と思われ。
貴重な情報だから環境晒してくれ
409は馬鹿だから無視すること
0430デフォルトの名無しさん
NGNGhttp://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#41147
> Unqualified class instance creation expressions begin with the keyword new.
> An unqualified class instance creation expression may be used to create an instance of a class,
> regardless of whether the class is a top-level (§7.6), member (§8.5, §9.5), local (§14.3) or anonymous class (§15.9.5).
みたいに JLS では the keyword new とか the new keyword とかって書かれてます。
other operators で演算子なのは .、 ?:、instanceof だけのような…
単にC++の慣習が抜けてない人が書いただけだと思われ。
0431デフォルトの名無しさん
NGNGVerifyErrorが出るって事はコンパイル時のバージョンと実行時のバージョンが違ってるからだろう。
単に javac は 1.5 の、javaは 1.4 のものにパスが通ってると思われ。
0432デフォルトの名無しさん
NGNGそれって単に「予約語」って意味だろ?
0433デフォルトの名無しさん
NGNGそうだよ。Java言語仕様では「new演算子」とは呼ばないって話だから。
0434430
NGNGいや、(オプション無しで)1.5のjavacでコンパイル、1.4.2_04のjava.exeで実行すると、
うちではUnsupportedClassVersionErrorになる。実行すらされない。
>実行したら、下の様な文字列連結の部分で実行時エラーが出てしまいました。
なんてことにはならないのだよ。
Exception in thread "main" java.lang.UnsupportedClassVersionError: TigerTest (Unsupported major.minor version 49.0)
at java.lang.ClassLoader.defineClass0(Native Method)
だから407の情報が欲しい。
0435デフォルトの名無しさん
NGNGC#では「new」を「新しい式」と呼ぶ。
0436デフォルトの名無しさん
NGNG0437デフォルトの名無しさん
NGNGC# では new は演算子だったような。
0438407
NGNGjava.lang.VerifyError: (class:〜) Incompatible object argument for function call
環境はJBuilder7なんです。
+による文字連結の部分で実行時VerifyErrorが出てしまうのです。
0439デフォルトの名無しさん
NGNG>>435 のはコンパイルエラーに出てくる文言ね。
他に訳しようが無かったのかな?
0440407
NGNGして、実行してもそうなってしまうのです。
0441デフォルトの名無しさん
NGNGStringBufferが微妙にかわったらしく、コンパイラとライブラリの対応が食い違うとそうなるみたい。
0442デフォルトの名無しさん
NGNG>>421
> 初期化は成功したもののその後別の処理をして投げられた例外
VALUE=1の後に別の処理は無いのだから、コンパイラは初期化が成功した後には
例外が発生する可能性が無いということは追跡可能なはずです。
try節の中も文単位でフロー解析しろよコンパイラ。
という主張です。
0443デフォルトの名無しさん
NGNGそだね。
1.5 では StringBuffer から StringBuilder との共通部分を AbstractStringBuilder に追い出した。
で、AbstractStringBuilder#append() は AbstractStringBuilder を返し、
StringBuffer#append() は StringBuffer を返すというように covariant return type 使ってる。
それで verify error 出てるのかも。
0444デフォルトの名無しさん
NGNG責めるならコンパイラじゃなく、
「例外が発生したとき」の処理は明示的に書けるのに
「例外が発生しなかったとき」の処理を明示的に書けない言語仕様を責めるべきだ。
0445デフォルトの名無しさん
NGNG・クラスファイルになってしまえば追跡は不可能 (追跡する仕組みがないから)
・クラスファイルはコンパイラ以外からも生成可能
クラスファイルの仕様の問題であってコンパイラでは対応不可能。
0446デフォルトの名無しさん
NGNGというわけでBorlandのサポートか、JBuilderのMLなりなんなりで相談した方がよさげ
0447デフォルトの名無しさん
NGNGそれならばクラスファイルになってしまえば二重初期化は検出できないので、
コンパイラがこれをエラーにするのは、余計なお世話という事になりませんか?
「スタティックイニシャライザの中なら何度でも割り当てていいぜ、最後の割り当てが有効」ならすっきりしますが。
>>444は結構説得力あります。
0448デフォルトの名無しさん
NGNGそりゃフロー解析はできるだろうけど、そんなことしたら
"コンパイラの実装によって通ったり通らなかったりする"
ようなコードが世の中に流通することになる。困るよ.
言語仕様からはずれたソースを弾くのも
コンパイラの大事な仕事のひとつだよ。
言語仕様はなるべくシンプルにしておいて欲しいし
あのソースは弾くのが正しい挙動かと思われ。
0449デフォルトの名無しさん
NGNGint x = 1 / 0;
0450デフォルトの名無しさん
NGNGそれは代入前に右辺の演算だけでエラーが発生するのと違う?
0451デフォルトの名無しさん
NGNGそうですね。
回避方法もあるのでこれで納得します。お付き合い有難うございました。
0452デフォルトの名無しさん
NGNG0453デフォルトの名無しさん
NGNG0454デフォルトの名無しさん
NGNG例えば1Gバイトの超巨大ファイルをバイナリーデータとして
バッファに読み込み、全てバイト配列にコピーしてreturnするような
メソッドを作ったとします。
すると、呼び出し側で用意する受け用のバイト配列と合わせ、
実に3GBのメモリが必要になると思うのですが、マジな話なのでしょうか。
0455デフォルトの名無しさん
NGNG0456デフォルトの名無しさん
NGNGObjectクラスを継承する
0457デフォルトの名無しさん
NGNGウィンドウを関数に渡したらウィンドウが二つ作成されるとでも?
0458デフォルトの名無しさん
NGNGダウト
>>454
配列は参照値の値渡しになる。
0459デフォルトの名無しさん
NGNGArrayList a = o;
0460デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG配列もオブジェクトだし。
0463デフォルトの名無しさん
NGNG確かに渡す時に参照を勝手に作ったりはしないんだけど、参照を値渡ししてるって
説明が抜けてるんだよなあ。
0464デフォルトの名無しさん
NGNG「変数」にたまたま「オブジェクトインスタンスへの参照」が入っていたら、
「オブジェクトインスタンスへの参照」を値渡しするだけ。
呼び出し先メソッドで何があっても、呼び出し元の実引数の「変数」はなんら影響を受けない。
言ってるの同じことだけどね。
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468& ◆LMRaV4nJQQ
NGNGむしろ参照を値渡しするなんて表現のほうがよっぽど意味不明じゃないのか?
俺はそういう風に解説してる本やサイトのほうが問題だと思うが。
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG変数の参照の場合、オブジェクトの参照を指しているという意味。
Object a = b;
a = new Object(); // b は影響を受けない。
一方、参照渡しの場合変数への参照を渡すと言う意味。
myMethod( Object a )
{
a = new Object(); // 仮に参照渡しなら、b が影響を受ける。
}
myMethod( b );
まったく別のものに同じ言葉を用いているから455や462のような馬鹿が混乱する。
参照の値渡しとか、参照の参照渡しとか、値の参照渡しとか、そういう表現することが問題を生む。
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNGこれが間違い。
「参照渡し」は「参照を渡す」でなく「参照で渡す」だろ。
0475デフォルトの名無しさん
NGNG日本語不自由な人?
0476デフォルトの名無しさん
NGNG「参照を渡す」と解釈するのは相当アレだろ。
0477デフォルトの名無しさん
NGNG「参照で渡す」ことと「参照を渡す」ことに本質的な違いがあるようには思えないが?
「メールで送る」などと言う場合、それは「メールを送る」ことに他ならない。
第一主題はそこじゃない。
0478デフォルトの名無しさん
NGNG全然違うね。
「値渡し」と「参照渡し」が区別されてるのは、
渡されるのが参照なのか値なのかが違うのかを区別したいのではなく
渡すときに、参照で渡すのか値で渡すのかを区別したいんだよ。
0479デフォルトの名無しさん
NGNG「参照を渡す」と言っている「参照」は、Javaの「参照」とはまったく別物なんだが。
478の一番最後の行で「参照で渡す」と言っているときに渡されている何物かを称して「参照」と呼んでいる。
0480デフォルトの名無しさん
NGNG違う。
渡されている何物かが「参照」だから「参照渡し」なのではなくて
渡している方法そのものが「参照渡し」なんだよ。
0481デフォルトの名無しさん
NGNG視点が違うだけ。
俺は「参照を渡す」ことを「参照で渡す」ことと同じ事象を別の表現で書いたに過ぎない。
もし480が、この2つは違う事象だ、と言うならそれは俺の表現がつたなくて誤解を与えてしまったと言うことだから謝る。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNG視点が違う、ねぇ。
では、>>479 の定義で例えば C/C++ でポインタ渡したら何故「参照渡し」で悪いのか?
それとも渡されたのがポインタだから「ポインタ渡し」になるのか?
0484デフォルトの名無しさん
NGNGポインタ渡したらポインタ渡しでそ。
0485デフォルトの名無しさん
NGNGポインタの値渡し、ね。
0486デフォルトの名無しさん
NGNG「参照渡し」で何故悪いのか? にも答えてね。
0487デフォルトの名無しさん
NGNG参照などと呼ばずにObject IDとでも呼べば混乱しない。
0488デフォルトの名無しさん
NGNGint i;
func( &i );
なら参照渡しと同じようにも見えるけど。
int *pi = &i;
func( i );
は明らかにポインタの値渡しでそ。
0489デフォルトの名無しさん
NGNG答えになってないよ。
「参照渡し」で何故悪いのか? に答えてね。
0490デフォルトの名無しさん
NGNG「参照を渡し」ても「参照で渡し」てもいない。
参照渡しと呼ぶ理由が無いでしょ。
0491デフォルトの名無しさん
NGNGオブジェクトIDと呼んでれば、かなりすっきり。
0492デフォルトの名無しさん
NGNGでは、ポインタと「参照」の違いは何?
0493デフォルトの名無しさん
NGNGobject ID って名前は VM の実装で使われているから無理っぽ
0494デフォルトの名無しさん
NGNG無関係な質問やめてくれ。
値渡しの「値」と、参照渡しの「参照」の違いなら意味があるだろうけど、
ポインタと参照の違いはこの際関係ない。
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG関係あるね。「『参照』を渡す」なら「参照」の定義は非常に重要。
0497デフォルトの名無しさん
NGNG> 値渡しの「値」と、参照渡しの「参照」の違いなら意味があるだろうけど、
ポインタが「値」であって「参照」でない理由は? でも良いよ。
0498デフォルトの名無しさん
NGNG#よっぽど建設的だと思うけど
0499デフォルトの名無しさん
NGNG無理無理。
「参照」も「参照渡し」も一人一人ちょっとずつ違う意味で使ってるんだから。
一人一人に別の解説が必要になるのでベストな解説なんて作れない。
0500デフォルトの名無しさん
NGNGJava の場合参照値だろうがそうでなかろうが参照渡しではありえない。
0501デフォルトの名無しさん
NGNGpass by name は「名前を渡す」で、渡されるのは「名前」なのかな?
0502デフォルトの名無しさん
NGNG0503デフォルトの名無しさん
NGNG0504デフォルトの名無しさん
NGNGそのとおり名前だよ。遅延評価を実装してる処理系 (関数型言語に多い) ではたまにある。
0505デフォルトの名無しさん
NGNG質問が的外れと言うか頓珍漢と言うか、レベルが下がってる。
>>497
ポインタは値じゃない。ポインタの値はあるが。
ポインタは参照じゃない、とは言い切れない。
ぬるぽはnull参照に対して出る。一方C++の参照とポインタは明確に別物。
そんなのは単語のローカル定義に依存する。
0506デフォルトの名無しさん
NGNG答えになってないね。
単語のローカル定義なら C/C++ のポインタと「参照渡し」の「参照」で。
0507デフォルトの名無しさん
NGNG違うね。名前に関連付けられた変数を渡すんだよ。
名前だけ渡したって意味ないだろ。
0508デフォルトの名無しさん
NGNGじゃあ、いっその事「おぶぽ」と呼ぼう。
「おぶぽ」はオブジェクトを識別するものの名称であって特に何かの短縮系ではない。
0509デフォルトの名無しさん
NGNG自分で勝手に呼べば良いのでは?
それで他人と話が通じなくなっても知った事ではないが。
0510デフォルトの名無しさん
NGNGみんなわかってる話のはずなのに、
なんでこんなにかみあわないのかと。
0511デフォルトの名無しさん
NGNG細かいけど、変数じゃなくて引数じゃない?
0512デフォルトの名無しさん
NGNGみんなわかってる、ってのが幻想だから。
基礎に近いところほど(正しくないかもしれない知識でも)暗記して
応用に突っ走る方が効率が(っつーより給料が)良いからさ。
例えば他人に読めるなら漢字の書き順違ってても良い、みたいな。
0513デフォルトの名無しさん
NGNGC/C++の「ポインタ」と「参照渡し」の「参照」じゃ名前も機能も何の関連も無いよ・・・。
せめてC++の「参照」と、「参照渡し」の「参照」の違い、とかならまだしも。
C++の場合:
「ポインタ」は別の変数のアドレスを保持している変数で、
逆参照やインクリメントなどのいわゆるポインタ演算が出来る。
「参照」は別の変数の別名として使用できる変数。
式の結果参照できたり、const参照とか扱いが変わるので厳密には違うが・・・。
変数の一種としての「参照」と、「参照渡し」の「参照」は同じ代物。
つーか、だから何?
もしかして質問攻めにして揚げ足取るタイミング見計らってる?
こういう厨は放置したほうがいいのか・・・?
>>507
別に名前だけ渡しといて、受け手がその名前をキーにして値をとってくることも出来るんじゃないか?
# 結果的に値も渡してるのでどうでもいいが・・・。
0514デフォルトの名無しさん
NGNG不立文字[ふりゅうもんじ]なのだ。言葉で完全に明確に表すことは不可能。
この一点における限りJavaは禅に通じる。……あれ?
0515デフォルトの名無しさん
NGNGちっとは自分で考えろ。馬鹿に考えさせるように質問出してるんだから。
0516デフォルトの名無しさん
NGNGたとえ話の下手くそな奴だ。
0517デフォルトの名無しさん
NGNG作りたいのですが、どうやればいいのでしょうか?
自分では、単純にメインスレッドの優先度を下げればいいように思いますが、
それでは、VMの中に存在するプログラムの中で優先度が低いという事になるような
気がします(ここらへん理解があいまいなんでご教授いただけたらと思います)。
よろしくおねがいします。
0518デフォルトの名無しさん
NGNGすまん。馬鹿でした。
次からは放置するようにします。
0519462=463
NGNG0520デフォルトの名無しさん
NGNG0521222
NGNGクラスAからクラスBのmainメソッドを呼び出す処理を
したいのですが、エラーになってしまいます。
別クラスのmainメソッドを呼ぶことは出来ないのでしょうか?
0522デフォルトの名無しさん
NGNGできます。
0523デフォルトの名無しさん
NGNGそれはJavaの外側の話になるね
そのOSでのプロセス優先度の変更方法を調べてくれ
0524デフォルトの名無しさん
NGNGString[] args = new String[0];
ClassB.main(args);
0525デフォルトの名無しさん
NGNG>別に名前だけ渡しといて、受け手がその名前をキーにして値をとってくることも出来るんじゃないか?
># 結果的に値も渡してるのでどうでもいいが・・・。
call by name では関数内部で使われてない引数は値を渡さない
(というか評価において必要になるまで値をとってこない)。
例えば int zero(int x) { return 0; } なんて関数を zero(1/0) なんて呼び出そうとすると
call by value では 1/0 が先に計算されるのでエラーになるが
call by name では (内部で x が使われてないから 1/0 が計算されないので) 普通に 0 が帰ってくる。
0526517
NGNG解決方法としてはVMの優先度を下げるという事でしょうか?。それとも
ネイティブのソースを書いてどうにかしてVM内のそのプログラムの優先度
を下げるという事をしなくてはならないのでしょうか?
後者の場合は、私のスキルではちと大変そうです。
0527222
NGNG>String[] args = new String[0];
>ClassB.main(args);
この方法でコンパイル通りました。
有難うございます。
0528デフォルトの名無しさん
NGNGjava.lang.Thread#setPriority(int) とか
java.lang.ThreadGroup#setMaxPriority(int) とかじゃダメなん?
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Thread.html#setPriority(int)
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/ThreadGroup.html#setMaxPriority(int)
0529デフォルトの名無しさん
NGNGunixだったらnice java ClassNameで下げられるだろ。ウイソは知らぬ。
0530デフォルトの名無しさん
NGNGある状態にしたいんですけどこれはどこのクラスでしょう?
0531デフォルトの名無しさん
NGNGそれはJava仮想マシンの中でスレッドの優先順位が下がるだけ。
>>526がいってるのはJavaプログラム自体の優先度を他の(ネイティブの)プログラムより
下げたいという話。
0532デフォルトの名無しさん
NGNGjava.lang.Thread#setPriority(int)
でJava仮想マシンのメインのプロセス(スレッド)の優先順位下げればいけるよ。
俺も昔重いソフト作って、他のネイティブアプリが動作不能になったからメインスレッドの優先順位下げたらいけたよ。
俺の手持ちの資料では、javaのスレッドはwindows環境ではネイティブwin32スレッドに変換されて実行されるので、優先度がOSの動作に影響されるよ。
以下、資料からのコピペ。
javaの優先順位 : win32の優先順位
1,2 :THREAD_PRIORITY_LOWEST
3 :THREAD_PRIORITY_BELOW_NOMAL
4,5,6 :THREAD_PRIORITY_NOMAL
7, :THREAD_PRIORITY_ABOVE_NORMAL
8,9 :THREAD_PRIORITY_HIGHEST
10 :THREAD_PRIORITY_TIME_CRITICAL
優先度下げすぎると、環境によっては、windowsのセキュリティー関連サービスよりも優先されなくなって、かなりパフォーマンスが落ちるケースがあるようです。
0533デフォルトの名無しさん
NGNGpublic static void main(String args[]){
Thread.setPriority(3);
}
みたいな感じでコード書けばOK
0534デフォルトの名無しさん
NGNG0535デフォルトの名無しさん
NGNGFuga[] fuga;
int size;
public Hoge(int size) {
this.size = size;
this.fuga = new Fuga[size];
}
public void print() {
for (int i = 0; i < size; i++) { System.out.print((fuga[i]).isSize()); }
}
public static void main(String[] args) {
Hoge hoge = new Hoge(3);
hoge.print();
}
}
class Fuga {
int i;
public Fuga() { this.i = 3; }
public int isSize() { return this.i; }
}
が だめな理由を教えてください.
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNG特定のウィンドウを指定してその中のピクセルを取得する場合と、
複数のウィンドウが重なっている時、最前面のウィンドウの特定のピクセル(画面上の指定ピクセル)を取得とでは
0540デフォルトの名無しさん
NGNGそのものをシリアライズする事はできるのでしょうか?
(書き込むクラスに含まれているstaticなクラスではなく、staticなクラスそのものを
書き込もうとした場合という事です)
どこぞの神おしえて!!
0541デフォルトの名無しさん
NGNG0542デフォルトの名無しさん
NGNGclass A がstatic class Bを含んでるとして、Aのインスタンスを
シリアライズしても、当然、Bのインスタンスまではされないが、
static class Bのインスタンスのシリアライズは、これもまた当然
できます。
0543デフォルトの名無しさん
NGNG>>542
ありがとうございます。書き込んだ後、自分で調べてから書き込め!!って
言われそうだったので、実際にやってみたところ、普通にできました。
親切にどうも。
0544デフォルトの名無しさん
NGNG0545デフォルトの名無しさん
NGNGtransient
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNG片方は問題なし、片方はHTTP method POST is not supported by this URL。
なんで?
0548デフォルトの名無しさん
NGNGtomcatのログとか、他のWWW鯖と連携させてるならその鯖のログとか読んだ?
0549デフォルトの名無しさん
NGNGfinalをつけるとコンパイルはうまくいくのですが、そのままだとその引数の値を変更できないため困っています。
どうしたらよいのでしょうか?
0550デフォルトの名無しさん
NGNGJavaの文法を勉強したらいいと思います。
0551デフォルトの名無しさん
NGNG0552デフォルトの名無しさん
NGNG読んだけど、エラーない。
ヒントない?
0553デフォルトの名無しさん
NGNGああ、そりゃその引数を、そのメソッドorコンストラクタ内にある
内部クラスで使ってるからでしょう。
その引数を、初めにfinal変数にコピーして、そのfinal変数を
内部クラスが使うようにすればOK
0554538
NGNG0555デフォルトの名無しさん
NGNG全体のスクリーンショットなら
java.awt.Robot#createScreenCapture(java.awt.Rectangle)
でとれる。
0556デフォルトの名無しさん
NGNGなるほどこれ使えばいいんですね。
ところで
陰に隠れて見えないウィンドウの特定のピクセルを取得するなんてことは
可能なのでしょうか?
0557デフォルトの名無しさん
NGNG普通の方法ではできない、と思うけどわからんちん
もしかしたら
BufferedImage作ってcreateGraphics()して
そのウィンドウのpaint()に渡す、とかでできるかも
0558U ◆CZtFsGiu0c
NGNGえーと、整理すると同じコンテキスト以下に2つのサーブレットがあって、そのサーブレット
に対するPOSTリクエストを投げると片方は成功、片方はエラー、というlことでいい?
エラーの出るサーブレットはdoPostをオーバライドしてますか?
0559デフォルトの名無しさん
NGNGフォーカスが変わってもすぐにテキストフィールドに戻したいのですが。
0560デフォルトの名無しさん
NGNGjava.awt.Componentやjavax.swing.JComponentのrequestFocusやrequestFocusInWindowでどう?
0561デフォルトの名無しさん
NGNGアプレットビューアで起動させたところ
「Start:アプレットは初期化されていません」
と出てきます。
どうしたらいいんでしょうか?おねがいします・・・
0562デフォルトの名無しさん
NGNG勝手にこまってろとしかいいようがないけどね。
0563デフォルトの名無しさん
NGNG自分のアプレットから使うときって
その JAR ファイルも一緒にパッキングしなくちゃならないんですよね?
その場合 {自作のクラスファイル、Beans が入った JAR ファイル} を纏めるんですか?
じゃあ、JAR ファイルをそのままもういちど JAR にしてしまっても大丈夫なんですか?
0564デフォルトの名無しさん
NGNG基本的に組み込んじゃだめというライブラリがあるとは思えないから
Jarの中に組み込んでいいと思うけどね
LGPLでもライブラリ部分の差し替え方法を明記すればいいだけなので
Jarコマンド使ってくださいと書けばいいだけ
0565デフォルトの名無しさん
NGNGJAR ファイルの中に2重構造で JAR ファイルがあっても問題ないんですよね…?
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNGねたじゃなくて本当にわからないようだから教えると
org.〜とかcom.〜以下をコピーする
たしかJBuilderとかだとこのへん自動でやってくれたな
ただしJavaSoundのSPIとかそういうのはclassファイルだけではだめで
META-INFの中もこぴーとかある
0568デフォルトの名無しさん
NGNGせめて「Java アプレット 初期化」くらいはググれよ。
上の方に出てきたやつ:
ttp://msugai.fc2web.com/java/applet/
0569デフォルトの名無しさん
NGNGbeansが入ったjarファイルをjar -xf で展開して、自作のクラスをjar化するときに一緒に
まとめたら、クラスパスとか分かりやすい。
0570デフォルトの名無しさん
NGNG素直に別jarにして、アーカイブ指定を両jarしてやればよいのでは?
まとめる必要はないよ。
jarファイルは複数指定できるよ。
0571デフォルトの名無しさん
NGNG外国為替証拠金取引とかなんとかいう相場表のJavaアプレットをホームページ
にくっつけたいと試みているのですがうまくいきません。
ttp://www.saxobank.com/?id=485&Lan=JA&Au=2&Grp=6-12
上のサイトから会員登録してソースを入手したんですが動かない!
色々ためしたんだけど動かない!
ちなみに<head>内に下記のソースを入れてます。
<script language="JavaScript" src="http://cs.iitech.dk/Site/PartnerProgramme/Scripts/DCQuoteList.asp?ID=与えられたIDが入ります"></script>
そして<body>タグ内に
<script language="javascript">
QuoteListFull('EURUSD|USDJPY','Bid|Ask|Time','Symbol,bid,ask,GMT','210','','FFFFFF','FFFFFF','000000','','','','406449');
</script>
を入れます。
画面は表示されますが、肝心の相場などが表示されません!
長々とスイマセン。知ってる方いらっしゃいますか?
0572デフォルトの名無しさん
NGNG|
∩___∩ | ぷらぷら
| ノ _, ,_ ヽ (( |
/ ● ● | (=)>571
| ( _●_) ミ _ (⌒) J ))
彡、 |∪| ノ
⊂⌒ヽ / ヽノ ヽ /⌒つ
\ ヽ / ヽ /
\_,,ノ |、_ノ
0573デフォルトの名無しさん
NGNG既に存在するParentクラスのprintTeisu()のロジックを
継承して使いたいとします。
しかし、下のようなChildクラスを作っても、出力されるのは
"parent"になります。
"parent"をなんとか表示させる(=printTeisu()の中で、Childクラスの
定数を参照させる)方法は無いのでしょうか。
public class Parent{
private static final String TEISU = "parent";
protected void printTeisu(){
System.out.println(TEISU);
}
}
public class Child extends Parent{
private static final String TEISU = "child";
}
public class Test{
public static void main(String[] args){
Child c = new Child();
c.printTeisu();
}
}
0574573
NGNG>"parent"をなんとか表示させる
は
"child"をなんとか表示させる
でした・・。
0575デフォルトの名無しさん
NGNGリフレクションを使ってみる。
0576デフォルトの名無しさん
NGNGpublic class Child extends Parent{
private static final String TEISU = "child";
protected void printTeisu(){
System.out.println(TEISU);
}
}
childクラスをこうすればOK
0577デフォルトの名無しさん
NGNG親のPrivate フィールドを、子でも使うな。
というのを、書いてあるのを読んだことあります。
メンテナンスって言うのも大事ですので、オブジェクトだし。
0578デフォルトの名無しさん
NGNG親のprivateフィールドをどうやって子が使うんだよバーヤ。
0579デフォルトの名無しさん
NGNG0580573
NGNGそれはちょっと・・・
>>576
それもちょっと・・・printTeisu()は本当はちょっと長いメソッドなのです。
でも生TEISUに代えてprotectedのゲッターを使えばいけますね。
ちょっと納得いきませんけど。
>>577
ええ、ですから使いたくないのですが、使ってしまうので困ってます。
0581デフォルトの名無しさん
NGNGどういう用途?
ロジックを使いまわしたいってことは、ライブラリ的な性質なんだろうけど
そのロジックのパラメータであるはずのフィールドが親がprivateでがっちり持ってるってこと?
ライブラリクラスなんだったら継承なんて考えずに、コピペ&別クラス作成でいいのでは?
親クラスを使う意味はないと思うんだが・・・
0582573
NGNGだいたいおっしゃる通りです。
ちなみに、大元はフィールドでなく文字定数べた書きだったらしいですが、
いつからかstatic finalに書き換えられたらしいです。
こういう場合はコピペの方がいいんでしょうか?
0584デフォルトの名無しさん
NGNG親クラスをコンストラクタで制御変わるように変更
これが無難だろうな。
親クラス変更できないならコピペ
0585デフォルトの名無しさん
NGNGprivateな変数はもともと外部からのアクセスを想定していない。
それを使うこと自体が間違い。
親のロジックが使いたいなら、superを使って呼び出せばいい。
親には親のプライバシーがあるってことだ。
それがオブジェクト指向の考え方。
0586デフォルトの名無しさん
NGNGこの場合はsuper使っても同じことだと思われ・・
0587デフォルトの名無しさん
NGNGabstract class A{
private int i;
}
class B extends A{
public static void main(String[] args){
i = 30; // エラーではない
}
}
……みたいな
0588デフォルトの名無しさん
NGNGどうすれば上手になれますか?
0589デフォルトの名無しさん
NGNG何か作りたいものを決めて、途中で出てくる疑問をひとつずつ潰す。
あるとき突然すべてが頭の中でつながるときがくるんだよ。
0590デフォルトの名無しさん
NGNGttp://java.sun.com/j2se/1.4.2/docs/api/
ttp://www.google.co.jp/
ttp://dictionary.goo.ne.jp/index.html?kind=ej&mode=0
ttp://www.excite.co.jp/dictionary/
この辺のサイト参考にしてみ
0591デフォルトの名無しさん
NGNGレスありがとう。
諦めずに頑張ります。
0592デフォルトの名無しさん
NGNGぶっちゃけ訳さなくても日本語ドキュメントがあるぞ
http://java.sun.com/j2se/1.4/ja/docs/ja/api/overview-summary.html
0593デフォルトの名無しさん
NGNG>>334、>>339でコンボボックスについての書き込みがありましたが。
これ(複数列の表示)ってJDBCの場合でも行くんでしょうか?
例えばgetListCellRendererComponentとか・・・
0594デフォルトの名無しさん
NGNGなんか2つの問題が切り離されてないぞ。
0595デフォルトの名無しさん
NGNG0596デフォルトの名無しさん
NGNGって出てくるんですが何でしょう?
指摘されるのが全て『(』ばかりなんです。
0597デフォルトの名無しさん
NGNGjavax.swing.text.html
javax.swing.text.html.parser
がそれっぽいんですけど、使い方が判らなくて。
どういう風に使うんでしょうか?
0598デフォルトの名無しさん
NGNG単に括弧の数があってないだけじゃないの。ちゃんとインデント入れてコーディングしてる?
0599デフォルトの名無しさん
NGNG授業についていけない・・・
0600デフォルトの名無しさん
NGNGそれについていけないなんて気の毒だな・・・。
0601デフォルトの名無しさん
NGNGそれを言わないで・・・
予習・復習した方がいいですかね?
0602デフォルトの名無しさん
NGNGごく単純な制御文の練習問題をいくつか解いてみること。
0603デフォルトの名無しさん
NGNGたくさんある。
ttp://java-source.net/open-source/html-parsers
NekoHTMLはけっこう有名。
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGアドバイスありがとう。
頑張ります!
0606デフォルトの名無しさん
NGNG講師といってもHITA○HIとかから来た雇いさんだから
全員100点でも構わないみたいで
みんな100点取ってるしw
試験問題が楽すぎて、後で教授から文句出たかもしれんが・・・w
授業とかいって、結局みんな好き勝手してたけどね
0607デフォルトの名無しさん
NGNG0608デフォルトの名無しさん
NGNG商用じゃなければ無料で使えるやつがgnome系のプロジェクトであった気が。
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGプリント写すだけらしい
0611デフォルトの名無しさん
NGNGC++で「仮想継承による動的バインディング」を勉強したのですが、
Javaではどういう手法があるのかわかりません。
0612デフォルトの名無しさん
NGNG0614611
NGNG言葉が足りなかったのと、私の知識が足りないためこういう返事を頂けたのだと思います。
申し訳ありません。
そのですね、
parent クラスにvoid func()関数があったとして、
parent クラスを継承したchild クラスがvoid func()関数を
オーバーライドしていたとします。
で、parent p = new child(); と言う形でnewしてやった場合、
p.func()で実行されるのはparent クラスのvoid func()関数ですよね?
(child)p.func()としてやればchild クラスのvoid func()関数を
実行する事が出来ますが、(child)と書きたくないのです。
0615デフォルトの名無しさん
NGNG違うよ。
オーバーライドしてるなら p.func() で child#func() が呼ばれる。
逆に言うとオーバーライドされてるなら
p.func() で parent#func() を呼ぶには p = new parent(); しないといけない。
0616デフォルトの名無しさん
NGNG少なくとも俺の通ってた、専門学校のとある科ではかなりの数の課題だったぞ……。
Javaだけで500はやる
0617デフォルトの名無しさん
NGNG>で、parent p = new child(); と言う形でnewしてやった場合、
>p.func()で実行されるのはparent クラスのvoid func()関数ですよね?
Javaならそれでちゃんとchildのfuncメソッドを呼ぶぞ、確かめてみろって・・・
0618611
NGNG>>617
確認してきました。
ちゃんとchildのfuncメソッドを呼んでました。
>>612
>>615
>>617
ありがとうございました。
小生の勉強不足を実感致しました。
0619デフォルトの名無しさん
NGNGSunのJDK5.0でコンパイル・実行するとします。
final String name = false ? "はろ" : "わるど";
System.out.println(name);
とすると「わるど」が表示されます。
それでは、次のコードでは何が表示されるでしょうか?
final String name = false ? "はろ" : null;
System.out.println(name);
0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNGhttp://up.nm78.com/data/up007499.jpg
0623デフォルトの名無しさん
NGNGおかしいね
0624デフォルトの名無しさん
NGNGぬるぽ?
0625デフォルトの名無しさん
NGNGURL url = new URL(getCodeBase(), "http://www.yahoo.co.jp/");
str = url.toString(); //ここを何にすればいいか教えてください
System.out.println(str);
0626デフォルトの名無しさん
NGNGそれで問題ないです
0627デフォルトの名無しさん
NGNG何をしたいのか書いてないのに、何にすればいいかなんて分かるわけないだろ
0628デフォルトの名無しさん
NGNGガッ
0629デフォルトの名無しさん
NGNG権を制限する方法はありますか?
0631デフォルトの名無しさん
NGNGすいません。アドミニストレーターは全ファイルにアクセス出来る権限のあるUSERで、
アクセス権は、java.io.*でお願いします
0633デフォルトの名無しさん
NGNGそうなるはずだけど、JDK5.0ではそうならない。
0634629
NGNG全ファイルにアクセス出来るユーザーがアプリを実行するとして、
そのアプリ内で、特定のディレクトリにのみファイル出力を許可する
ように出来るでしょうか?
具体的に書くと、ネット上の文字列から新たに作成するディレクトリ名を
取得した場合、文字列に"../../"が含まれるとシステムのディレクトリが
壊れたりしないでしょうか?
0635デフォルトの名無しさん
NGNG少なくとも JDK 1.1 以降は "null" (と改行)が出力されるよ。
http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/io/PrintStream.html#print(java.lang.String)
> 文字列を出力します。引数が null の場合は、"null" が出力されます。
0636U ◆CZtFsGiu0c
NGNGつまりアドミニストレーターとは、アプリケーション固有のユーザということ
ですね。java.io.*ということは、クラスファイルに対するアクセス制限という
ことですか?
ポリシーファイルを使用して、特定のプリンシパルに対してアクセス制限をする
エントリを追加すればできるんじゃじゃないですかね。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/PolicyFiles.html
0637デフォルトの名無しさん
NGNGJDK5.0で試してみ。
ちなみに-source1.4以下を指定するとそのとおりに動く。
0638デフォルトの名無しさん
NGNG外部から入力された文字列を、そのまんまディレクトリ作成等に使ったりしない
のがセキュリティの常識。
普通はサニタイズといって問題を起こしそうな文字(/とか\とか:とかとかとか)を
取り除いてから使う。
何をするか(ここではディレクトリ作成)によって危険な文字の集合が変わって
くるので、ちゃんと調べて万全を期すべし。
0639デフォルトの名無しさん
NGNGだけだとあんまりなのでヒントを。
File#getCanonicalPath()を使うと、「.」や「..」を除いて正規化された絶対パス名が得られるので、
そのパス名が指定したディレクトリ名を含むかどうか判断すればどうでしょう。
0640デフォルトの名無しさん
NGNGあ、コンパイラのバグみたいね。
BugParade に報告されてるから次のリリースでは直ると思われ。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5105890
ちなみに、final String name = false ? "a" : (String)null; みたいにすると回避できるみたい?
0641デフォルトの名無しさん
NGNGあと、-source 1.4 は関係無いような?
0642デフォルトの名無しさん
NGNG元ネタのTheServerSide.COMの記事を読み違えてた・・・。
0643デフォルトの名無しさん
NGNGjavaアプリけーしょんの中で
UNIXで利用されている環境変数を使いたいのですが
そもそも環境変数をjavaアプリケーションで使うことは可能でしょうか?
#セキュリティの関係上アプリケーションとはいえ
#環境変数を取得することは可能かなぁと思いまして。
調べたところ、getPropertyがもっとも近いようでしたが
こちらが意図した環境変数を取ることができないようでした。
(意図する=自分が設定した、という意味)
ググってみましたが、java内で設定したプロパティを使うってあたりの
情報しか探せず書込しました。
もしそのような情報のあるサイトがあれば教えて頂きたいのですが…
0644デフォルトの名無しさん
NGNG5.0では java.lang.System#getenv が使える。
http://www5.airnet.ne.jp/sakuraba/java/laboratory/J2SE1.5/TinyTips/EnvVariables/EnvVariables.html
0645デフォルトの名無しさん
NGNG環境変数をすべてjava コマンドの-Dオプションに指定してから実行するスクリプトがかけそうな気がする。
0646デフォルトの名無しさん
NGNGantってそういう風にフィルタコマンドかまして環境変数を手渡してたような気がする・・・
0647>>629=>>634
NGNGサニタイズを加えてみます。ありがとうございました
0648デフォルトの名無しさん
NGNGJToolBar のメソッド add(Action a)で、JButton を追加したいのですが、
引数が、Actionであるのに、
いろいろ検索していると、
Action ac = new AbstractAction(){
処理
}
JButton bu = new JButton(Action);
JToolBar.add(bu)
このようになっている文を見つけました。
どうして、JButtonを引数に入れられるのでしょうか。
0649648
NGNGJButton bu = new JButton(Action);
上記の部分
JButton bu = new JButton(ac);
です。すみません。
0650デフォルトの名無しさん
NGNGAPIリファレンスをよく読んでください。
add(Action a)は、今では推奨されないメソッドになってます。
よってボタンをaddする方が正しいのです。
0651648
NGNGほんとに申し訳ありません。
下記のところを参照しました。
ttp://www.sist.jp/~suganuma/cpp/man/Java/example/JToolBar1.txt
0652648
NGNGそうなのですか。もっと上のAPI見ないといけないのかも。
ありがとうございました。
0653デフォルトの名無しさん
NGNGいえ、上級じゃなくて普通のAPIリファレンス、java.docに
載ってるんですが。。。
java1.3以降は、推奨されませんと。。。
0654デフォルトの名無しさん
NGNGJButton は Component のサブクラスだから,このメソッドに渡すことができる.
0656デフォルトの名無しさん
NGNGurl.openStream()
すると
access denied
って言われるんですけど、そういうものですか?
url は httpでyahooのサイトを指定してます
0657デフォルトの名無しさん
NGNGそーゆーもん。
yahoo のサイトにアクセスできるのは yahoo にあるアプレットだけ。
0658デフォルトの名無しさん
NGNG空のディレクトリはどう表現すべきなのでしょうか?
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNG0662デフォルトの名無しさん
NGNG0663658
NGNG枝と葉の違いは子を持っているかどうかだけみたいなので、
子を持たない枝とか、あるいは見えない・選択できない子を持った枝とか
作れないかなぁ、と思いまして。
0664デフォルトの名無しさん
NGNG>>枝と葉の違いは子を持っているかどうかだけみたいなので、
違います。
0665デフォルトの名無しさん
NGNG0666658
NGNGガ━━━(゚Д゚;)━━━ン!!!!!
・・・ということは何か根本的な解決方法が見つかりそうですね
皆さんありがとうございます
0667658
NGNG>このノードに子がない場合は true を返します。
>子のないノードと、子を持てないノードを見分けるには
>(たとえば、ファイルを空のディレクトリと区別するには)、
>このメソッドを getAllowsChildren と組み合わせて使います。
うわぁ、公式APIに・・・出直してきます
ありがとうございました
0668デフォルトの名無しさん
NGNGJTreeのコンストラクタには複数の種類があり、その中に
asksAllowChidrenのパラメータを持つコンストラクタがあります。
それをtureにすると、各TreeNodeのコンストラクタ時にallowChildrenフラグを
tureにしたノードだけを枝とし、falseにしたノードを葉とします。
子の有無は関係なくなります。
0669デフォルトの名無しさん
NGNGJTree は葉か節かの判断に TreeModel#isLeaf(Object) を使用する。
で、特に指定しなければ JTree は DefaultTreeModel を使用し、
コンストラクタで asksAllowChildren に true を渡さなければ
DefaultTreeModel は TreeNode#isLeaf() を見る、と思ったが。
もっとも、DefaultMutableTreeNode#isLeaf() だと子の有無を返しちゃうんだけど。
だから asksAllowChildren を false もしくは無指定で
isLeaf() のオーバーライドでもいけるはず。
0670デフォルトの名無しさん
NGNGマジレスです
0671デフォルトの名無しさん
NGNG手始めに情報処理試験の勉強からはじめたほうがいいでしょう。
0672デフォルトの名無しさん
NGNGAppletとServletの通信でデータのやり取りする
Webアプリを作ってるんですが、
Appletから送信するデータ量が多くなると
その後の処理の画面で「400」や「403」などのバットリクエスト
エラーが出てしまいます。
データ量が少なかったら問題ないのですが・・・・・
どなたか思い当たる原因とか知らないですか?
0673デフォルトの名無しさん
NGNG0674デフォルトの名無しさん
NGNGjava.sql.Dateは時以下の単位の部分はゼロに正規化されている。
0675デフォルトの名無しさん
NGNGサンクスコ
0676670
NGNG大学で何を専攻しようか迷っているんです。CSときくと格好いい感じがありますね。
どういったことができるようになるのか教えてもらえればありがたいです
0677デフォルトの名無しさん
NGNGカコイイとかだけで選ぶとデジドカになるだけだからやめた方がいいぞ
0678670
NGNGええ、今悩んでるんですよ。やりたいことが山ほどあるんです。そこでCS勉強すればどういったことができるようになるのか
と思ったんです。
0679デフォルトの名無しさん
NGNGやりたいことがあるんならそっちに進めばいいじゃない
0680デフォルトの名無しさん
NGNG>>679に賛成だ。
やりたいことが山ほどあるなら、なにができるかわからないことやらずに、やりたいことやれ。
0681オブジェクトの複製
NGNGClassA a = new ClassA();
a.x = "xxxx";
a.y = "yyyy";
a.z = "zzzz";
ClassA b = a;
b.x = "XXXX";
とすると a.x も "XXXX"になってしまいますよね。
同メモリを参照しているからだと思うのですが、
これを別メモリにする方法を教えて下さい。
以上お願いします。
0682デフォルトの名無しさん
NGNGClassA b = new ClassA();
b.x = a.x;
b.y = a.y;
b.z = a.z;
b.x = "XXXX";
0683681
NGNG申し訳ないです。
それをしたくなかったので質問しました。
他に方法はないでしょうか?
0684デフォルトの名無しさん
NGNG意図がわからない。
0685デフォルトの名無しさん
NGNGCloneableインタフェースを実装
0686デフォルトの名無しさん
NGNGなんでそれをやりたくないん?
めんどくさいってだけなら、プログラマやめるかCommons BeanUtils使え。
0687デフォルトの名無しさん
NGNGコピーコンストラクタ定義すれば?
public ClassA(ClassA original){
x = original.x;
y = original.y;
z = original.z;
}
0688デフォルトの名無しさん
NGNGめんどくさいというのもありますが、
自分の作成したところではないのであまり触りたくなかったのです。
Cloneableでできたようです。
皆さんありがとうございました。
0689デフォルトの名無しさん
NGNGCloneableにしてcloneを自作したり、コピーコンストラクタを自作
しなくても、もっと簡単にメモリごと複製する方法はあります。
0690デフォルトの名無しさん
NGNGsetDefaultCloseOperation(2);
ではできません。
フレームA上のボタンを押すと、フレームBが現れるイベントで実現したい
のです。
0691デフォルトの名無しさん
NGNGでOK
0692デフォルトの名無しさん
NGNGフリーでも商業でもOK。
0693643
NGNGいろいろと検討したのですが、
SDKのバージョンが変更できないのと、引数が増やせないという話が
出たので、また別の方法でやろうということになりそうです。
ありがとうございました。
0694デフォルトの名無しさん
NGNGprivate B b;
public Test() {
A a = new A(b);
b = new B();
}
}
こういう形のプログラムを書いてます。Aクラスの中でbのメソッドにアクセスしようとするとぬるぽになってしまいます。確かにaを作るときはbがnullなわけですが、そのすぐ後でbにインスタンスを代入してます。なぜぬるぽになってしまうんでしょうか?
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGでは、AがBへの参照ほしくてBがAへの参照ほしい場合はどう書けばいいんでしょう?
class Test {
private A a;
private B b;
public Test() {
a = new A(b);
b = new B(a);
}
}
だとだめですよね・・・こういう場合何か定石があるのでしょうか?
0697デフォルトの名無しさん
NGNG設計が悪いので設計を見直す
0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNGclass Test {
private B[] b;
public Test() {
A a = new A(b);
b = new B[]{new B()};
}
}
として、Aクラスの中では、b[0]に対してアクセスするようにすればOK
0700デフォルトの名無しさん
NGNG同じ参照でもえらい違いでずっこんばっこんじゃ
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGSunのサイトかな
0703デフォルトの名無しさん
NGNG0704デフォルトの名無しさん
NGNGアドバイスありがとうございます。
>>697
設計やっぱ悪いですか・・・
>>698
なるほど!さっそく使ってみます。
>>699
ト、トリッキーな方法ですね。んー、なんでこれでOKなのかすぐにはわかりませんが・・・試してみます。
0705デフォルトの名無しさん
NGNG全然ダメだろ
0706デフォルトの名無しさん
NGNG0707デフォルトの名無しさん
NGNG>>695
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG「自称」中級者ってとこだな。
>>704の返レスで分かるよ。
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNGここまできたら要素数1の配列マンセー
これでswapできるぞバンザイ
0713デフォルトの名無しさん
NGNG以前、宿題スレにいた人か。
0714デフォルトの名無しさん
NGNGその時も同じやり方を書いたよ。
0715デフォルトの名無しさん
NGNGそれじゃ同じヌルポだよ。正しくはこうだろが。
class Test {
private B[] b = new B[1];
public Test() {
A a = new A(b);
b[0] = new B();
}
}
として、Aクラスの中では、b[0]に対してアクセスするようにすればOK
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG君は一から勉強し直しなさい。
0718初期不良
NGNGprivate B b;
public A(B[] b){
this.b = b[0];
}
}
とかやりそう
0719デフォルトの名無しさん
NGNG下がるが、ああいう人は極少数なので、これからも呆れずに
どんどん質問してください。>>694
0720デフォルトの名無しさん
NGNG氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね
0722デフォルトの名無しさん
NGNG値を持ったクラスに適切な名前をつけて作るのが常套手段だろうが。
0723デフォルトの名無しさん
NGNGあとから配列の中身は設定できる。
でもあまりきれいな方法じゃないね。
>>698が一番いいと思う。
0724デフォルトの名無しさん
NGNG私はCプログラマでC++も少しは出来るんですけど、Javaをはじめるのにはなにを用意すればいいんでしょう?
Sun MicrosystemsのJavaのページにJ2SE v 1.4.2 JRE とかJ2SE v 1.4.2 SDK よく分からないんです…
0725デフォルトの名無しさん
NGNGJ2SE 5.0
0726デフォルトの名無しさん
NGNGクラス作るよりは、サイズ1の配列を使う方が簡単だからだろうが。。。
いずれにせよヌルポインタを見抜けない>>699は、このスレ立ち入り禁止。
0727デフォルトの名無しさん
NGNGJREとは、JAVAアプリケーションを動かす為だけの実行環境であり
SDKとは、JAVAアプリケーションの開発環境+実行環境で、JREも含んでます。
よってSDKだけをダウンロードしてください。
現在の開発キットの最新バージョンは、1.4ではなく、「JDK1.5.0」なので
それをダウンロードしてください。
0728デフォルトの名無しさん
NGNGJDK
0729デフォルトの名無しさん
NGNGあと、jAVAの最新バージョンには、「1.5」と「5.0」の二つの
呼び方がありますが。どちらも全く同じなのです。
全く同じものに、二通りのバージョン名をつけてるのです。
気にせずに「JDK1.5.0」をダウンロードしてください。
JREはしなくていいのです。「JDK1.5.0」に含まれてますから。
迷わずに「JDK1.5.0」だけをダウンロードしてください。
0730デフォルトの名無しさん
NGNGいけないはずなんだがな。そうじゃないと回答をカキコしても
アップされないんだよ。
0731デフォルトの名無しさん
NGNG0732デフォルトの名無しさん
NGNGわかりにくいから、3個目のバージョン付けを開発するのだろうか?
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNGJ2SE5.0 が出た後で J2SE2.0 出したら単なるバージョンダウンだな。
0735デフォルトの名無しさん
NGNG0736デフォルトの名無しさん
NGNGJ2SE 9.0(1.9.0) -> J3SE 10.0(1.10.0) とか。
0737デフォルトの名無しさん
NGNG0738デフォルトの名無しさん
NGNGJDK2.0ってすれば良かったのに。
何故、JAVA2なんて混乱を生むような名前にしたんだ?
SUNってデザインにしろネーミングにしろ本当にセンスないね。
0739デフォルトの名無しさん
NGNGそのアンバランスさが玄人が玄人たる所以なのだよ。
0740デフォルトの名無しさん
NGNGここにあるけど、1.5は大分変わったよ
http://java.sun.com/j2se/1.5.0/ja/download.html
1.4.2のほうが枯れてて良いかも
0741デフォルトの名無しさん
NGNG0742デフォルトの名無しさん
NGNG0743724
NGNGところがインストール中に
ソースインストールデータベース
C:\WINDOWS\Installer5c1d447.msiからの読み込みに失敗しました
というメッセージが出てインストールできません。
どうすればいいんですか?
0744デフォルトの名無しさん
NGNGどうしてくれる
0745デフォルトの名無しさん
NGNG0746デフォルトの名無しさん
NGNG同時に二人にレスしたんですね?
0747デフォルトの名無しさん
NGNGsunに1.4.xのコンパイラにGenerics機能をつけるやつあるから探してみ
0748デフォルトの名無しさん
NGNGadding_generics early access 使うんだったら素直に JDK1.5.0 使ったほうがよさげ。
0749デフォルトの名無しさん
NGNGそりゃそうだが、>>744が1.4も嫌になったとか言うからつい・・・
0750デフォルトの回答者
NGNGダウンロード失敗の恐れ。再ダウンロードを。
俺のお勧めは J2SE5.0。一応、1.4までのソースもコンパイルできるしな。
何より、バージョンが上なのはJVMが改良されているということだし。
>>744 >>747
それは、EarlyAccessのヤツでは?機能不十分でお勧めできない。
>>694
class Test {
private B b;
public Test() {
b = new B();
A a = new A(b);
}
}
素直にこうするべし。
引数は、「変数そのもの」を渡すのではなく「変数の差すオブジェクト」を渡している。
なので、>>694 のやり方ではうまくいかない。呼び出しもとの b が変わろうがしったこっちゃないからだ。
>>694の要求は、「b の 差すオブジェクトが変わったときに、a に教えたい」ということなので
b をプロパティ(getter,setter)で実装してやり、そのsetterの中でaにbの変更を教えてやる、などとするべきだろう。
(個々の代入文の後にaの変更をする場合はロジックが分散して好ましくない)
さらにJava流なら、BChangeListener とか作って、Listenerにaを登録するとかか?
何故、bの差すオブジェクトが変わったときaにわたったオブジェクトもすり返られないのかというと
理由は明確。そんなことが許されれば クラスAで、bがいつすりかわってもよいように作らなくてはいけない。
というか、コアクラスから返ってきたオブジェクトが知らないうちに別のになっていたら?
そんな面倒くさいことにならないように、今の引数の仕組みが出来ているのです。
0751デフォルトの名無しさん
NGNGのですが、不可能でしょうか?
0752デフォルトの名無しさん
NGNG0753デフォルトの名無しさん
NGNG何か方法な無いですか?
方法がなかなか見つからなくて。
0754751
NGNGその結果をmainメソッドで扱う
ってプログラムを組みたいです
0755デフォルトの名無しさん
NGNG制御の反転
0756751
NGNGデザパタを学ばなくては駄目ですかorz
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG実際、755は10行ぐらい懇切丁寧に説明した後に延々と質問・回答のやりとりが
続くであろう事柄をたった2行で表している。
0759751
NGNGごめんなさい。
mainに拘らなくても動くので、がんばってみます。
0760デフォルトの名無しさん
NGNGもう一度 new するのはコストがかさむと思うのですが。
0761デフォルトの名無しさん
NGNGImmutable イミュータブル 不変クラス あたりでぐぐってみな
0762デフォルトの名無しさん
NGNGなるほど。ありがとうございます。勉強します。
0763デフォルトの名無しさん
NGNGぜひ教えてください。
0764デフォルトの名無しさん
NGNGポインタ値
0765デフォルトの名無しさん
NGNGどうやるんですか?
0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768デフォルトの名無しさん
NGNG受け取ったバイトデータ(byte[])を、int[]、short[]で扱い。
「シフトしてorして」だとパフォーマンスが落ちるのでできれば、
int[] intArray = (int[])binData ;
こんな風に出来ればベストなんだけど。
何か方法ないでしょうか?
0769デフォルトの名無しさん
NGNG0770デフォルトの名無しさん
NGNG何言ってるのか分からん
0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNGパンツ脱ぎかけのままトイレから出てきたような文章で質問して
恥ずかしくないのか?
0773デフォルトの名無しさん
NGNGByteBuffer
0774デフォルトの名無しさん
NGNGあの質問を読んで、DataInputStream#readInt()による逐次処理とか
ByteBuffer#getInt()を使う事などを、パッと連想もできないような
自称中級者達は黙っててください。
スレ汚しですので。
0775デフォルトの名無しさん
NGNG先生の話聞いてノートとってテキスト読んでるだけじゃ
さっぱり意味不明な状態です。どうしたらいいでしょう。
なんか本とか買ったほうがいいんでしょうか。
0776デフォルトの名無しさん
NGNG学校の勉強程度なら『やさしいJava』を買うといい。
ていうかノートって・・・
0777デフォルトの名無しさん
NGNG一番やさしいJavaの本を買って
初期設定をきっちりして
少しずつ課題をクリアしていくしかない
0778デフォルトの名無しさん
NGNG『やさしいJava』ですか。んじゃちょっくら探してみます。
っていうかノートとる以外すること無いんすよ授業中。
0779デフォルトの名無しさん
NGNG自分のコンピュータにJAVAをインストールして、実際に動くか試してご覧
0780デフォルトの名無しさん
NGNGelse ; を忘れて3日くらい悩むのもまた楽し
0781デフォルトの名無しさん
NGNGいまはリストに載せる数よりも表示数を少なくして勝手にスクロールバーがついてるだけの状態なんですけど
0782デフォルトの名無しさん
NGNG「やさしいJava」は良い本でも役に立つ本でもないけど、簡単なことしか書いてないからやさしいことは確か。
学校で義務として「やらされる」のなら、その本がピッタリ。
先生がJavaわかってない、プログラムわかってない可能性が高いな。
0783デフォルトの名無しさん
NGNGJList#getCellBounds(int,int) で得られた矩形を表示するように
JScrollPane の JViewport#scrollRectToVisible(Rectangle) を呼ぶ、とか。
0784デフォルトの名無しさん
NGNGあれの Java 版みたいなやつって無い? 無いよね?
今 AWT/Swing コンポーネントクラス階層図っていうの作ってるんだけど
無駄な努力にならないよね?
0785デフォルトの名無しさん
NGNGほとんどの場合JavaDocの階層ツリーたどれば用が足りるし。
0786デフォルトの名無しさん
NGNGUML Doclet
http://www.objectclub.jp/download/uml_doc
サンプル
http://www.objectclub.jp/download/uml_doclet/javax/swing/uml_JButton
0787デフォルトの名無しさん
NGNG0788デフォルトの名無しさん
NGNG0789デフォルトの名無しさん
NGNG0790デフォルトの名無しさん
NGNGおいらのイメージではsleepしながらイベントを見張ってるのかなと思ってたんだが
内部的にはどうなってんの?
0791デフォルトの名無しさん
NGNG内部的にはAWTのイベントループがあって、イベントを監視してる。
キューに入ってきたイベントを引数に、
Component.dispatchEventy(AWTEvent e)
を呼び出す。各コンポーネントは、その中で登録されている
リスナーを自前で呼び出すだけ。
0792デフォルトの名無しさん
NGNGそれはリスナーとは別のはなし。
0793デフォルトの名無しさん
NGNGコンポーネントのイベント伝搬はChainOfResposibilityパターン。
0794デフォルトの名無しさん
NGNG0795デフォルトの名無しさん
NGNGリスナを登録する先のオブジェクトが、それっぽいタイミングがきたら
登録されてるリスナの特定のメソッドを呼び出すだけ。
MouseListnerだと、イベント見張ってるのはリスナじゃなくてイベント
ディスパッチャのほうで、イベントが起こったら、登録されてるリスナ
のメソッドを呼び出す。
0796デフォルトの名無しさん
NGNGA のオブジェクトを生成して用いているとします。
A のサブクラスで、それらのメソッドをオーバーライドしなければ、
そのメソッド中では A のオブジェクトが作成されます。
A のサブクラスで、それらのメソッドをオーバーライドすることなく、
サブクラスのオブジェクトを生成するようにする良い方法はないでしょうか。
Class クラスを使えばうまくいくような気もしますが、良く分かりません。
よろしくお願いします。
0797デフォルトの名無しさん
NGNGpublic static void main(String[] args) {
new A().doSomething();
new ASub().doSomething();
}
public void doSomething() {
A a1 = createInstance();
System.out.println(a1);
}
protected A createInstance() { return new A(); }
}
class ASub extends A {
@Override
protected A createInstance() { return new ASub(); }
}
0798デフォルトの名無しさん
NGNG1.4だとpublic class Aでないとあかんかも。
Aのオブジェクトを生成して用いてるいくつかのメソッド: doSomething()な。
ついでに private A(){}も追加しとけ。
0799デフォルトの名無しさん
NGNGthisを使えば?
private A getA() throws InstantiationException, IllegalAccessException {
return (A) this.getClass().newInstance();
}
0800デフォルトの名無しさん
NGNG0801デフォルトの名無しさん
NGNG0802デフォルトの名無しさん
NGNGっつか、素直にオーバーライドした方がよさげ。
0803デフォルトの名無しさん
NGNGサーバーコードでならrefrection使ってもいいという理由もナゾだな。
0804デフォルトの名無しさん
NGNGサーバー?そういう意味じゃなくて、
ライブラリとかフレームワークの中の人が使うのはまぁ良い、という意味。
0805デフォルトの名無しさん
NGNGpublic static void main(String[] args){
int i;
int tmp = Integer.parseInt(args[0]);
for(i=0; i<tmp; i++){
System.out.println(i);
}
}
}
これってふつうにコンパイルできるよね?
でもこれと同じ内容をあるプログラム中に書き込むと、コンパイルできない。
tmpのシンボルを解決できませんって出るんだが…
tmpを別の名前にしても、別にint型の変数を作ってtmpの代わりに入れても無理。
tmpじゃなくて「9」とかの整数値にすればコンパイルできる…
なぜ?
0806デフォルトの名無しさん
NGNG0808デフォルトの名無しさん
NGNGあぁ、そういうことね。
下々のものはリフレクション使うな、と。
0809デフォルトの回答者
NGNG無用に利用しなければいいだけだと思うぞ。
リフレクションを多用するとJavaのコンパイル時の型チェックの機能を活用できないし。
・・・ということが分からず、関数ポインタの代わりみたいに使うというのが好ましくないのだと思う。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNGそゆこと。自分で書くときだって使い分ける。
>>809
アホなこというなよ。型安全性が無くなったらそれはもうJavaじゃない。PerlやRubyと同じ。
0812811
NGNG>>808
そゆこと。自分で書くときだって使い分ける。
>>810
アホなこというなよ。型安全性が無くなったらそれはもうJavaじゃない。PerlやRubyと同じ。
0813デフォルトの名無しさん
NGNGgetClass().getResourceAsStream("path")がnullを返します。
ファイルはフォルダ下にあって、"path"は"dir/file.txt"といった感じです。
何が問題なのでしょうか?
また、他には、jarファイル中のリソースにアクセスする方法はどういったものがあるんでしょうか?
0814デフォルトの名無しさん
NGNGRobotクラスを使って(別のアプリケーションを操作するため)マウスボタンを押すプログラムを組んだんですが
ちゃんとクリックが受け付けられて期待通り動作できる場合と、クリックしたけどクリックできないという場合があります。
mousePressの後mouseReleaseやってないとかいうことではないと思います。
こういうプログラムからの操作がブロックされてるような場合には
Robotクラスではもう不可能でしょうか?
というか、このセキュリティ?を破ることは通常の方法では無理でしょうか?」
0815デフォルトの名無しさん
NGNGというのをここで何度言った&見たことか
0816U ◆CZtFsGiu0c
NGNG「pathはdir/file.txtといった感じです」ってpathとはいったい何者?
「path」から「dir/file.txt」に読み替えられることを期待しているようだけど、
どういう理屈でそうなるのかさっぱりわからん。
あーもしかして、pathって書いてあるところに実際はdir/file.txtって指定して
あるってことかな? であれば、クラスのパッケージ+dir/file.txtを探しにいく
はずだけど、そうなっているかな? まずは、JavaDocをしっかり読んだほうがいい
と思うよ。
0817813
NGNG>あーもしかして、pathって書いてあるところに実際はdir/file.txtって指定して
>あるってことかな?
その通りです。pathはjarファイル内のエントリー名を意図しています。
でもファイルが読めません。
0820デフォルトの名無しさん
NGNGクラスパスの勉強は言語やライブラリのあとでいいと思うが。
0821デフォルトの名無しさん
NGNG別に、型安全性がJavaのアイデンティティじゃないし。
重要な特徴ではあるけど。
ま、Javaに型安全性がなくなると、Groovyと呼ばれるわけだが。
0822デフォルトの名無しさん
NGNGJavaのアイデンテティっつーか、静的型言語のアイデンテティではあるわな。
それに >>796 のような用途でreflection使って型安全性を崩すのは良くない。
0823デフォルトの名無しさん
NGNG例えば、「利用者はCustomer(DB)から従業員情報を得る」という仕様の場合、
J2EEパターンによくある例のクラス図は次のようになります。
業務ロジック--->CustomerDAO
| |
∨ |
Customer<−−−−−−
業務ロジックでDAOを扱う
これよりも
業務ロジック-->Customer-->CustomerDAO
CustomerでDAOを扱う(業務ロジックはDAOの存在を知らない)
の方が仕様に沿っていて良いと思うんですがどうなんでしょうか?
0824デフォルトの名無しさん
NGNGこれがそもそも違う気が。
「利用者はDBから従業員情報(Customer)を得る」
じゃないの?
Customerって従業員情報だよね?
0825デフォルトの名無しさん
NGNGCustomer(DB)というTable名
どうでもいいがw
0826デフォルトの名無しさん
NGNG・エディタで文字を入力しなくても補完が働いて勝手にコードが完成した。
0827デフォルトの名無しさん
NGNGlong型を示すLをつけた場合、add_msecの値は8640000000に
なるのですが、つけないと50065408になります。
long型なのでLをつける必要があるのはわかったのですが、
つけない場合は何を計算して50065408という値が出てくるのでしょうか。
ちなみに現在の日付、時刻に100日足した日付、時刻を出すプログラムです。
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
mport java.util.*;
public class Lesson_10_2_2 {
public static void main(String args[]){
long add_msec = 100*24*60*60*1000L; (★)
long add_all = 0;
Date msec_obj = new Date();
add_all = add_msec + msec_obj.getTime();
System.out.println("経過時間(単位ミリ秒) " +add_all);
msec_obj.setTime(add_all);
System.out.println("現在日付+100日の時間は " + msec_obj);
}
}
/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_
0828デフォルトの名無しさん
NGNG> 100*24*60*60*1000L;
L を付けないと、整数リテラル「1000」の型は int型になる。
int型 * int型の計算結果は int型になる。
http://www.y-adagio.com/public/standards/tr_javalang2/expressions.doc.html#5036
> もし整数乗算がオーバフローしたならば,その結果は数学的な積を
> 十分大きな2の補数形式で表現したときの低位ビットとする。
> その結果として,もしオーバフローが発生したならば,その結果の符号は
> 二つのオぺランド値の数学的積の符号と同じでないかもしれない。
で、8640000000(0x202FBF000) の下位32ビットが 50065408(0x02FBF000) だから。
0829デフォルトの名無しさん
NGNG早速の回答ありがとうございます。オーバーフローすると
下位ビットが使用されるとはしりませんでした。
仕事中にJAVAを勉強し始めたんですが、
今日ここの部分で「何で!?」になったところだったので
回答をいただけてすっきりしました。
でもオーバーフローでプログラムが落ちたりはしないんですね。
私はプログラムでオーバーフローになると落ちるのかと思ってました。
0830デフォルトの名無しさん
NGNG計算は、int型同士で行われます。
(100*24*60*60)*1000 = 8640000 * 1000 = 8640000000
これは、int型の表現(2147483647以下)を越えているので演算結果がint型で丸められます。
8640000000 % 2147483648 = 50065408
です。
0831デフォルトの名無しさん
NGNG普通のプログラミング言語は足し算でラップアラウンドが発生、
とか乗算でオーバーフロー発生、とかの場合は落ちないと思う。
0832デフォルトの名無しさん
NGNG皆さん回答ありがとうございます。
非常に勉強になります。
また悩むことがあるかもしれませんが、
地道にがんばっていきたいと思います。
また何かありましたらよろしくお願い致します。
0833デフォルトの名無しさん
NGNGってやって、別のクラスで
Test t[] = new Test[10];
とかってやると、t[0].a 等でアクセスできますか?
最低ランクの質問スマン orz
0834デフォルトの名無しさん
NGNGどうやれば見やすい&綺麗になりますか?
答えとかはないとおもうけど参考になるHPとかあったら教えて下さい
0835デフォルトの名無しさん
NGNGt[0]に、ちゃんとインスタンスを突っ込んだ後ならそれでOK。
0836デフォルトの名無しさん
NGNGなんで試してみないんだこの阿呆
それからTest t[] はやめれ Test[] tだ
0838デフォルトの名無しさん
NGNGコーディングスタイルは人や周囲の環境による
0839_
NGNG今からでも間に合いますか?
もう泣きそうです・・・
0840デフォルトの名無しさん
NGNG0841_
NGNGがんばります・・・
0842デフォルトの名無しさん
NGNGけども、自由にやるならTest[]の方が推奨されるよ。
Javaの場合は、Javaとしてのおすすめコーディングスタイルがあるわけだし。
0843デフォルトの名無しさん
NGNG0844842
NGNG0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNGjavaで特定のファイルのパーミッションを
変えることはできるでしょうか。
0847デフォルトの名無しさん
NGNG「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
のエラーがでます。
1にあったwikiroomのリンクにも行ってみました。
コマンドプロンプトで「java -version」と入力すれば、javaのバージョンは
表示されます。
どの設定を直せばいいのかを教えて下さい。
宜しくお願いします。
0848デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&q=PATH+%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0+javac
0849デフォルトの名無しさん
NGNG0850589
NGNGまたはComポート(RS-232)を使うには、どうすればよいでしょうか?
0851デフォルトの名無しさん
NGNGRS-232Cはこれで
ttp://java.sun.com/products/javacomm/reference/api/index.html
USBはなにをしたいかわからんがこんなのがある
http://jusb.sourceforge.net/
0852589
NGNGレス、ありがとうございます。
なにをしたいかと言うと、レゴのマインドストームと
通信できるプログラムを作りたいんです。
それで、通信用の赤外線タワーを使いたいんですが、
それがRS-232C用とUSB用があって、どうしようかなと。
どっちのほうが使いやすいでしょうか?
0853デフォルトの名無しさん
NGNGせめて >>1 くらい読んでから書け。
0854デフォルトの名無しさん
NGNGRS-232Cだろうな
0856589
NGNGありがとうございます。
ひとまず、RS-232で組んでみます。
0857デフォルトの名無しさん
NGNGa という変数ががなんらかのクラスの参照を持っています。
例えば Object a = new Object();とかでもいいです。
んで
Object b = a; と参照を代入したとします。
aもbも同じ参照を持っているわけですから、
b.xxx (何かの値を設定したりとか) というような事をすればaの中の値も
変わるのは理解できます。
では
b = null;とした場合、aが保持している参照も消えてしまうのでしょうか?それとも
bがただ何も参照しなくなるというだけでしょうか?
ここでbが何も参照しなくなるだけだとしたら、2つのクラスが参照している実態を
イレースするにはどうすればよいのでしょうか(やはりガーベジコレクションだけですかね?)
ふと気になったので質問してみました。
どなたかご教授ください。おねがいします。
0858デフォルトの名無しさん
NGNGJava Lego MindStorm あたりでググるといろいろヒットするようだが、これ使えないの?
ttp://www.slewis.com/rcxport/
ttp://www.linux.or.jp/JF/JFdocs/Lego/javalibs.html
Javaから動かすAPIが既にあるようだが・・・MindStormは使ったこと無いから知らないけど。
0859デフォルトの名無しさん
NGNG参照をポインタかなんかに置き換えて読めば、すぐ理解できるのでは?
> a という変数ががなんらかのクラスの参照を持っています。
なんらかのクラスのインスタンスの参照ね。
> bがただ何も参照しなくなるというだけでしょうか?
yes
> ここでbが何も参照しなくなるだけだとしたら、2つのクラスが参照している実態を
> イレースするにはどうすればよいのでしょうか(やはりガーベジコレクションだけですかね?)
a, b 以外に同じインスタンスの参照を誰も持っていない場合は
a = null; b = null;
すればよいだけ。
0860デフォルトの名無しさん
NGNGその場合、bが何も参照しなくなるだけ。
実体は誰からも参照されなくなったら、ガベージコレクションで削除される。
0861デフォルトの名無しさん
NGNG>>860
なるほど、やはりそうなんですね。
プログラム組んでてnullを代入するというコードを書いてた時に、実態が消えたら
大混乱だなと思って心配になってしまったんです。
すっきりしました。
ついでに質問なんですが、javaで関数にクラスを値渡しってできないんでしょうか?
(参照渡しではないという意味です)
0863デフォルトの名無しさん
NGNGクラスを渡すって何? java.lang.Class のインスタンスを渡すって事か?
あと、Java には参照渡しは無いぞ。
0864デフォルトの名無しさん
NGNG呼び出した関数の中で、渡したインスタンスのフィールドを変えられたくない場合は、
そのインスタンスのクラスをimmutableで設計するか、コピーを作って渡すようにする。
0865デフォルトの名無しさん
NGNGJavaでは全て値渡しですよ・・・っていかん、この話をすると、また無駄に半スレ消費する。
オブジェクトをコピーして渡せば、お望みのことができるかと。
StringBufferなら、
StringBuffer original = new StringBuffer("hoge");
とあったときに、
StringBuffer arg = new StringBuffer(original.toString());
someMethod(arg);
とする、とかかな。
ただ、コピーの方法は、セマンティクスも含めてケースバイケースなので
これで決まり、というものはありません。
0866デフォルトの名無しさん
NGNGっつか、>>859が参照をポインタに置き換えろとか書かれてるじゃん。
C/C++しか出来ない人むけにいうと、
Javaの参照型の渡し方はC/C++でポインタを値渡ししてるのと似てる。
0867デフォルトの名無しさん
NGNG>>865
>>866
なるほど、VBみたいに値渡しか参照渡しを選ぶというような方法はないんですね。
つまりいつも参照を意識していないといけないわけですね。なんか、知らないとこで
変なバグがでそうで怖い。自分忘れっぽいもので。
とりあえず、皆さんご返答ありがとうございました。
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNGもう、全然分かんないよ〜
0870デフォルトの名無しさん
NGNG> 論理輪である縦線2つはどうやって出すんですか?
使ってるキーボードによる。
とりあえずコピペ用に貼っておくか 「||」
0871デフォルトの名無しさん
NGNGあとは OS のキーボードレイアウトの設定とか。
0872847
NGNG早速、いろいろググってみます。
>853さん、とんでもないです。分かりづらい
文章で申し訳ありませんでした。
また、不明な点があればご助言を聞き来ます。
ありがとうございました。
0873デフォルトの名無しさん
NGNGまじでJREだけ入れて、SDKを入れてないんじゃない?
0874デフォルトの名無しさん
NGNG仕事だからね。誰でもできる。
そこら辺の勉強はなるべく短くすませて先に進みたい罠
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG下流の仕事分からずして上流になるなかれ。
まさに「罠」
0877デフォルトの名無しさん
NGNGコーディングをわかってないヤツに設計させたくない。
使えないSEの典型にならないようにせいぜいがんばってくれや。
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNGソフトウェア開発では個々の部分はブラックボックスにして構わない。
ブラックボックスの開発は、そこいらから下流プログラマーを
持ってきて割り当てるだけでよい。
一番難しい、そして重要なのは、その区分けと、それらを無難に
まとめあげる設計技法だ。コーティングは所詮、単純労働だし
肉体労働だからね。誰でもできる。
0880デフォルトの名無しさん
NGNG0881デフォルトの名無しさん
NGNGこういうヤツが仕切るからあべしみたいな会社がのさばる。
人海戦術と残業で乗り切れ!みたいな。
FもNもHも似たような物か。
0882デフォルトの名無しさん
NGNGむしろ単純労働や肉体労働しかできなかったりする罠。
0883デフォルトの名無しさん
NGNG同じだよ。
コーダーの装飾名がプログラマだ。
プログラマのやる事は、所詮「コーディング」だけだ。上流工程担当者の
指示&割り当て通りにコーディングするだけのロボットであり、流れ作業の一部だ。
「プログラマ」なる名将は、何時か自分のアイディアで開発が出来る日が
来るって望みをつなぐだけの、願望にすぎない。
0884デフォルトの名無しさん
NGNG0885デフォルトの名無しさん
NGNGオマエのところでは「コーダーの装飾名がプログラマ」なだけ。
「コード書かせると危険な奴の装飾名が設計」なところもあったり。
0886デフォルトの名無しさん
NGNG釣り師(>>883)はカエレ
0887デフォルトの名無しさん
NGNG・設計とコーディングは相互に補いあう創造的なプロセスである。
-- by Kent Beck.
0888デフォルトの名無しさん
NGNG指示&割り当て通りにコーディングするだけのロボットができる作業は
人海戦術に頼らないで自動生成するんだよ。
技術を知らないからそいういう手法もXPのような開発手法も知らないで
ひたすら残業になるんだろうねw
>>885
ワロタ。その通りだ。
0889デフォルトの名無しさん
NGNG自動生成できる程のものじゃないコードが多いのが現実だ。
自動生成できないコード=高度なテクニックを要されるコード
と勘違いしてないか? 自分達のやってる作業(コーディング)が
価値あるものだとでも思いたいのだろうが、上流工程担当者から見れば
全くのお笑い草なのだよ。
0890デフォルトの名無しさん
NGNG0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG設計する人間は当然自分の設計したものを(時間と金さえ許せば)コーディング
できる能力が無いといけないと思うけどね。役割が違うからやってないだけで。
ほとんどの「上流工程担当者」さんは自分が設計したものが実現できるものなのか、
あるいは実現に工数がかかるものなのかも把握しとらんよ。だって、そんな
下級な仕事はとっとと卒業しちゃったのでさっぱりわからんそうな。
0893デフォルトの名無しさん
NGNG> 自動生成できる程のものじゃないコードが多いのが現実だ。
設計が悪い
0894デフォルトの名無しさん
NGNGんなこたーない
0895デフォルトの名無しさん
NGNG>>自分が設計したものが実現できるものなのか、
>>あるいは実現に工数がかかるものなのかも把握しとらんよ
設計者にとって個々の部分が実現できるかどうかは、もはやコーディングを
理解してるかどうかの問題でなく、レベルの高いコーダーを連れてくるか
誰かがダメで時間がかかるのなら、また別の人間を連れてくるって
人事管理的な問題になるからね。
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGあー、違う違う。レベルの高いコーダは、設計者を通り越して
顧客の意図を汲み取って、変な設計(と呼ばれるジャンク)からコードを起こす人のことです。
つまり、「オレの設計どおりにコード書けば問題ねーんだ、コラ」とか言ってる人には
全員必要です。そんな人が、顧客の意図を正しく設計できてるかはかなり疑わしいですから。
って、初心者質問スレの話題じゃないって。
誘導
スレッドを立てるまでもない質問雑談スレ17
http://pc5.2ch.net/test/read.cgi/prog/1096623147/
0898デフォルトの名無しさん
NGNG今 SDK の rt.jar なんかを調べてコードも見てみたんだけど、
それらしき記述が無いの。なのに使ってるエディタは
普通にさりげなくアイコンとか取得できちゃってるし。
0899デフォルトの名無しさん
NGNG0900デフォルトの名無しさん
NGNGキーを長押しされると処理が追いつきません。
一時、キーイベント(?)をとめるにはどうすればいいですか?
0901デフォルトの名無しさん
NGNG「Java Beans のインポート」を選択、わざと
SDK に入ってる rt.jar を選択してみる。
そうすると「ユーザーが追加した beans」みたいなところに
JButton や JFrame が表示されるわけだが、ちゃんとアイコンも表示されている。
これってコンポーネントがアイコンを持っているって考えられない?
※ ちなみに使ってるエディタは Netbeans 3.6 と Bean Builder 1.1β
0902デフォルトの名無しさん
NGNGKeyListenerでは入力をためる処理だけやって
実際の処理は別のスレッドでやりつつ
溢れた入力は適宜捨てる、とか
0903_
NGNGどうもありがとうございます!
この恩は忘れません。
0904デフォルトの名無しさん
NGNG考えられない。
アイコンもなにも元は*.javaというテキストファイルだぞ
0905デフォルトの名無しさん
NGNG「アイコンもなにも元は*.javaというテキストファイルだぞ」
クラスファイルもなにも元は*.javaというテキストファイルだぞ
サーブレットもなにも元は*.javaというテキストファイルだぞ
JDKもなにも元はjdk-1_5_0-windows-i586.exeというネイティブバイナリだぞ
いろいろな使い方が思い浮かぶ、夢のある言い回しですね。
0906_
NGNGどうしよう・・・
0907デフォルトの名無しさん
NGNGString型の文字列でprintlnでは画面上に表示されないエスケープシーケンス?
なども表示させたく文字列のヘキサダンプを行いたいのですが、どのように
行うのでしょうか。
0908デフォルトの名無しさん
NGNG2次元配列などない。
と思えばいい。
0909デフォルトの名無しさん
NGNGcharAt
0911222
NGNGSwingのJButtonコンポーネントに設定されているBackgroundを取得し、
JPanelのBackgroundに設定したいのですがうまくいきません。
Color c = new Color(button.getColor());
こんな感じで変数cにbuttonの設定色をいれたいのですが
わかるかた教えて下さい。
0912デフォルトの名無しさん
NGNGところで、なんでわざわざ新しいインスタンス作るの?
0913デフォルトの名無しさん
NGNG氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね
氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね氏ね
0914デフォルトの名無しさん
NGNGpanel.setBackground( button.getBackground() )
でOK
0915222
NGNGごめんなさい、うまくいかないとはnew Color(button.getColor());の
JButtonインスタンスbuttonが「シンボルが解決できない」になるコンパイル
エラーのことです。
新しく作ったcをpanel.setBackground(c)ってすればうまくいくかなって
思ってました。
>914さん
有難うございます、出来ました。
自分で複雑に考えすぎました。
0917デフォルトの名無しさん
NGNG衝撃を受けた。
だから、age。
0918デフォルトの名無しさん
NGNG簡単な質問があると、わざわざおちょくる嫌な奴がたまにいるよな。
素直に答えるか、無視するかすればいいのに。
>>916のことじゃないよ。
0919デフォルトの名無しさん
NGNG足りない質問への指摘があると、わざわざおちょくる嫌な奴がたまにいるよな。
無視すればいいのに。
>>918のことじゃないよ。
0920デフォルトの名無しさん
NGNGFileクラスなどで、オブジェクト化するときに、FileNotFoundExceptionが発生してしまいます。
どなたか、解決策をご存じないでしょうか。
・ファイル名を規制する。
・ファイル名をEUC_JP以外で保存する。
というのは、なしでお願いします。
「〜 ‖ - ¢ £ ¬」が含まれない日本語ファイル名のファイルは、正常にオブジェクト化できます。
jdk1.2.xです。
0921デフォルトの名無しさん
NGNG文字のような気がします。EUC->UCS 変換をしたり
してませんか。そして、祖のときに互換文字ではな違法に変換さ
してたりしませんか?
0922デフォルトの名無しさん
NGNG確かにFULLWIDTHをマッピングしています。明日(今日)、互換文字で試してみます。
0923デフォルトの名無しさん
NGNG}
と
void method()
{
}
どっちがいいですかね?
0924デフォルトの名無しさん
NGNG前者
0925デフォルトの名無しさん
NGNGappetクラスを生成した後にHTMLファイルをダブルクリックしても
うまくappletの内容が表示されません。appletの範囲が前面灰色になった
ものしか表示されません。
一応同じフォルダの中にHTMLファイルとappletがあるクラスを入れているのですけど
なぜか表示されません。どこか設定の問題なんでしょうか?
どうすれば表示できるのか教えていただけないでしょうか。
0926デフォルトの名無しさん
NGNG環境は?
0927デフォルトの名無しさん
NGNGJava言語コーディング規約
http://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/
0928925
NGNG0929デフォルトの名無しさん
NGNGブラウザ、JavaVMの情報があるといいかも。
0930初期不良
NGNGせっかくネームスペースが分かれているのに名前に属性を入れるのって
すごくスマートじゃない気がするんですよ。
だから setter では this.member = member とかなるべきだと思うし、
他の場面でもインスタンス変数のアクセスには this を
省略しない(またはできない)方がいいんじゃないかとも思います。
http://www.tcct.zaq.ne.jp/ayato/programming/java/codeconv_jp/CodeConventions.doc8.html#367
でも _ から始めるべきではないと書いてあるので、
別に変な話じゃないとは思うんですが、ちょっと反対意見が
周囲にあったので、意見を聞かせて欲しいのですが...
0931デフォルトの名無しさん
NGNGいや、ほんとに916のことじゃないんだが。
悪意が怖い。
駄レスごめん。
0932デフォルトの名無しさん
NGNGどっちにしてもデメリットあるけど、
最近はEclipseみたいなツールでそれをフォローする設定ある
から昔みたいに気合入れて議論するほどでもないかな。
フィールドにアクセスするときはthis.memberを強制するとか、
フィールドとローカル変数の名前がかぶったときはエラー/警告出すとか。
getter/setterつくるときは_/fみたいな接頭子を考慮するとか。
0933デフォルトの名無しさん
NGNGjad触ってみた。
うはー、こりゃ難読化ツールも必要だわな。
0934デフォルトの名無しさん
NGNG0935916
NGNG>>919 は オレじゃないっす。
>>916 はAPIドキュメント読む癖を付けといたほうがいいと思って。
>>933
いや、むしろ見られて恥ずかしくないコードを書いておくべきか、と。
セキュリティの観点からなのであれば、コードは読まれるものとして
コードの外に安全を確保する部分を出しておくことを考えないといけないですよね。難しいのですが。
0936925
NGNGjava VMについてですが,eclipseでコードを作ってて,デフォルトのままです。
あまり詳しくないのですが
windows->設定で見ると 名前欄にJ2re1.4.2_05のとこにcheckがあって
タイプは標準 VMとなっております。
0937デフォルトの名無しさん
NGNGまず自分で作ったアプレットをどのような環境(VMの種類・バージョン等)で
動かしたいのかアプレットの要求仕様を「自分で」決める。
MicrosoftVMを使うかとかSunのやつ使うかとか。
次にその環境に合わせてブラウザで使うVMを設定する。
次にEclipseのコンパイラを動かしたい環境に合わせて設定する。
「ウィンドウ」->「設定」->「Java」->「コンパイラ」んとこの
バージョンとか。
また、動かなかった場合はブラウザからJavaコンソールを
開いてエラーメッセージを確認すること。
0938デフォルトの名無しさん
NGNGブラウザから呼ばれるVMじゃないから注意。
0939918
NGNG916には何の批判もないんです。
質問や姿勢への指摘が嫌いって言ったわけじゃないし。
わかりにくいレスしてすみません。
たまに、相手が初心者でものを知らないのをいいことに、
まわりくどく馬鹿にしたみたいなレスを返してるのを見ると気分が悪かったので、
ついつい書いてしまいました。流すべきでした。
今朝は、私の読み方も悪かったと思います。申し訳ない。
0940初期不良
NGNG>フィールドにアクセスするときはthis.memberを強制するとか、
>フィールドとローカル変数の名前がかぶったときはエラー/警告出すとか。
>getter/setterつくるときは_/fみたいな接頭子を考慮するとか。
3番目のやり方はわかるんですけど、それ以外のやり方がわからんです。
どの変使うんだろ?
0941デフォルトの名無しさん
NGNG「インスタンス・フィールドへの無条件アクセス」
「ローカル変数宣言が他のフィールドまたは変数を隠蔽」
0942初期不良
NGNGどうもです。見っけました。Code Assist じゃなくて Compiler で設定する話だったのか...
英語の方では Unqualified access to instance field でした。
こういうオプションがあると言うことで、少し考えに自信をもてました。
0943デフォルトの名無しさん
NGNGを教えてください。
0944デフォルトの名無しさん
NGNG0945デフォルトの名無しさん
NGNG2ch。
人工無能がうようよいる。
0946デフォルトの名無しさん
NGNG0947デフォルトの名無しさん
NGNG適当な事言ってんなよ
0948デフォルトの名無しさん
NGNGレスアンカーがついてないレスは人工無能スクリプトによる可能性が高い。
0949デフォルトの名無しさん
NGNG0950デフォルトの名無しさん
NGNG0951デフォルトの名無しさん
NGNGまじでおねがい
0952人工無能エミー
NGNG0953デフォルトの名無しさん
NGNG「何か(仮)」は、人工無能に入るんだろうか。
面白そうな定義だな。でも、作るとなるとひたすら面倒なだけって気ガス。
0954デフォルトの名無しさん
NGNG計算するようなクラスはどうすれば・・
TreeNodeで分岐させて作ればいいのかな?
0955デフォルトの名無しさん
NGNGファイル出力用のソースを書いておりますが、
出力時、8KBに達するとエラーで落ちてしまいます。
出力classはBufferedWriterを使用してます。
「おい、こんなん、こうやればチョチョイのチョイだよ!」と
仰る神々の皆様、この哀れな名無しに救いの手を!!!
0956943
NGNG質問の内容をデータベースに溜めて、上位10件くらいの返答内容を準備する。
その繰り返し。
最終的に人工無能同士で会話をさせたい。
0957デフォルトの名無しさん
NGNGソースうpきぼん。
0958デフォルトの名無しさん
NGNG特定のキーワードに反応する答えを用意しておけばいいだけだろ
0959デフォルトの名無しさん
NGNG自分で計算するクラスを作るか、計算してくれるクラスを探すか。
ちなみに、javax.swing.tree.TreeNode は計算してくれない。
そもそもクラスじゃないし、用途が全然違う。
0960デフォルトの名無しさん
NGNGマスターできれば何ができるようになれますか?
新一年生です・・・
0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNGエラーの全文とソースを載せろ。話はそれからだ。
0963デフォルトの名無しさん
NGNG趣味で何かしたい!と思うなら、先生に勉強の仕方を聞いて
自分でやるしかない
専門学校でないなら、ほとんど意味はない
0964955
NGNG恥ずかしながら公開します。
部分的ですが。
// ファイルオープン(出力ファイル名=ofilename)
FileWriter fw = new FileWriter(ofilename);
//バッファ書き出しコンストラクタ定義
BufferedWriter bw = new BufferedWriter(fw);
//バッファ書き出しコンストラクタ定義(入力ファイル名=A[i])
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(A[i]), "SJIS"));
//一行読み込み
lineStr = fileLine;
//出力
bw.write(lineStr +"\n");
こんな感じです。よろしくお願いします。
0965デフォルトの名無しさん
NGNGこういう質問する時点で、向いてないか先生の教え方が悪いか、だな。
「教養身につけると何ができるようになれますか?」
みたいなね。
0966デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNGいや、その英語のやつが重要なんだが。
0969デフォルトの名無しさん
NGNGソースも該当部分のせてないしな。ReadLineで帰り値の
チェックしてなくて、ぬるぽ出てると適当に書いてみる。
0970デフォルトの名無しさん
NGNG8KBに達すると落ちるってなんかかわいいな。
0971955
NGNG0972デフォルトの名無しさん
NGNGともあれ>971、本物なら早くエラーも晒しんさい。
0973デフォルトの名無しさん
NGNGそうなのか・・・
じゃあ、テキトーにやるかな。
0974955
NGNGcatch(ArrayIndexOutOfBoundsException ex){
System.out.println("Err:" );
すみません、ホント初心者なんでデバッグ情報拾えないんです。
拾い方を囁いてくださる神々の皆様!哀れな子羊に福音を!!
0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNGそこに、ex.printStackTrace()って入れてみれば発生箇所もわかるはず。
0977デフォルトの名無しさん
NGNG入出力関係ないだろと。
0978デフォルトの名無しさん
NGNG> System.out.println("Err:" );
ex.printStackTrace(); にしろ。
0979955
NGNG>そこに、ex.printStackTrace()って入れてみれば発生箇所もわかるはず。
とりあえず、やってみます。
皆さんありがとぉー!!
0980955
NGNGなんかでました。
とりあえず、貼ります。
java.lang.ArrayIndexOutOfBoundsException: 6
at KAWASE001.CutRateFile(KAWASE001.java:36)
at KAWASE001.main(KAWASE001.java:102)
0981955
NGNG0982デフォルトの名無しさん
NGNGマスターすればJavaプログラムが組めるようになる。
0983デフォルトの名無しさん
NGNGエラーにはそう書いてあるね。
ただ、A[i]の宣言・生成の辺りを見直した方が良さそうだ。
0984955
NGNGありがとうございます。
入出力含めてこの周辺見直してみます!
また報告します!!
0985955
NGNG入出力とも特に変な文字列はありませんでした。
A[i]の辺りを貼ります。
//ファイル存在チェック
File f =new File(idir); ←引数でDirを指定。
String A[] = f.list();
int Cnt=0;
try{//�@ルーチン
for (int i=0;i<=100;i++){ //�Aファイル検索
if (A[i]==null) break;
Cnt++;//File Found!!
A[i] = idir + A[i]; //DIR,File名結合
引数でディレクトリを指定し、そのディレクトリ内にファイルが存在するか
否かチェックし、存在していればそのファイル名を取得し、ディレクトリ名とファイル名を結合しています。
出力結果を見るとファイル名はすべて取得できているんですが、
ファイル出力はできないんですよね。謎です。また調べます。ノシ
0986デフォルトの名無しさん
NGNGでヨサゲ。
0987955
NGNG試してみました。
なんで
for (int i=0;i<=100;i++){ が
for (int i=0; i<A.length; i++) { でもいいのか
理解できてませんが、動作は一緒でした。
エラーも一緒でした。
ぴったり8,192バイト出力して止まるんですよねぇー。
なぞだ。
0988デフォルトの名無しさん
NGNG・・・・・
System.out.println(A.length);
for (int i=0; i<A.length; i++) {
System.out.println(i);
・・・・・
と直して出力結果見せて。
0989デフォルトの名無しさん
NGNG0990955
NGNGありがとう。
結果を貼ります。
N:\>java KAWASE001 N:\input\ output.txt
0
N:\input\aaa.txt
1
N:\input\AfandMadia.dat
2
N:\input\Americas.dat
3
N:\input\Asia.dat
4
N:\input\EU.dat
5
N:\input\US.dat
6
java.lang.ArrayIndexOutOfBoundsException: 6
at KAWASE001.CutRateFile(KAWASE001.java:38)
at KAWASE001.main(KAWASE001.java:103)
途中のフルパスファイル名は、無視してください。
確かにこの順序で読み込んでいるんですが、出力ファイルは4の次のEU.dat
の内容の途中で止まってます。
0991デフォルトの名無しさん
NGNGSystem.out.println(A.length);
の結果は?
>出力ファイルは4の次のEU.datの内容の途中で止まってます。
バッファリングしてるんだから、おかしくはないよ。
0992955
NGNGの結果は?
これです。
0
1
2
3
4
5
6
・・・あれ?なんで7個でてるんだ?入力ファイル6個なのに。
0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNGJavaを選んだんですが結果的には良かったんですかね?
0995デフォルトの名無しさん
NGNGそれは
System.out.println(i);
の部分の出力です。
A.lengthの値はAの配列の数なので固定されてるはず
0996デフォルトの名無しさん
NGNGおかしい。System.out.println(A.length); が、出ていない。
forのループの終了判定は本当に、 i<A.length に変えたか?
コンパイルはしなおしたか?
0997デフォルトの名無しさん
NGNGプログラマとしては C が読めないのは致命的。
Java は必ずしも致命的ではない。
C が出来ないなら、悪い選択をした可能性が高い。
0998デフォルトの名無しさん
NGNGCも勉強しといた方がいいよ。
0999デフォルトの名無しさん
NGNGi<=A.lengthになってるんじゃないか?
>>994
よかった。
次スレは?
1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。