1 :
デフォルトの名無しさん :
2014/01/31(金) 04:55:39.32
【重要】 hogeは禁止します、使用しないでください。 万が一hogeが書き込まれても、スルーしてください。 相手にするとあなたも荒らしと同じ扱いになります。 なお、hogeはNGワードに追加しておくことが強く推奨されています。
----テンプレここまで-----
hoge
hogehoge
前スレで別のことで質問した者ですが、eclipseでとあるJavaプログラミングをしており元からあるデータを改変しながら作っています。
最後に実行してそのパネル上で作った物をCドライブに作っておいたメモ帳にネットリストとして書き込むというプログラミングなのですけど、書き込まれません。
恥を偲んでのお願いなのですがテキストに書いて貼りますので、どこが悪いか指摘してくれないでしょうか?
http://www.dotup.org/uploda/www.dotup.org4838951.txt.html DLパスは1234です。
元になってたプログラミングの実行では回路図を作って「Analysis→Steady」でCドライブに置いておいたnetlistというテキストにネットリストとして書き込まれてるはずなんです。
どうかよろしくお願いします
こんな長大なコードを見てくれる人がいるといいね
俺ならGitHubで公開してpull requestを待つ
ほげ
いっそ素子もワイヤーもJComponentにしちゃえばよかったのよ
他人のコードを改造したのなら元のコードと比較すりゃ解決策出てくるんじゃねの
BufferedWriterを挟んでる意味は何なんだろう
pw.close();の前にpw.flush();を入れるとかじゃね知らんけど
長々としたコードですいません。 元のは各項目(メニューバー、右クリックメニュー)などの項目(抵抗がResisterだったりしたの)を今回は日本語表記にするだけなんで ネットリストの書き込み(1050行目〜1088行目)はノータッチなんです。 だとしたらそれ以外の素子の設定のところで宣言がうまくいってないということなのでしょうか?
日本語に直すときに誤っていくつか重要な行を気づかず削除しちゃっとかじゃないの
一応これ(
>>17 )で完成している英語表記の項目をを日本語表記にしてネットリストに書き出しをしたいだけなんですけど、
やっぱりそんな簡単に変えちゃだめなんでしょうかね…
>>17 と
>>6 の相違点を調べりゃすぐだろ
>>6 は
if(cmd.equals("書き出し")){
deviceConnected();
saveNetlist();
}
JMenu mnAnalysis = new JMenu("書き出し");
JMenuItem mnSteady = new JMenuItem("Steady");
>>17 は
if(cmd.equals("Steady")){
deviceConnected();
saveNetlist();
}
JMenu mnAnalysis = new JMenu("Analysis");
JMenuItem mnSteady = new JMenuItem("Steady");
明らかにミスがあるだろJK
>>19 要するに日本語表記にしてネットリストを問題なく動かせるようにするには
if(cmd.equals("書き出し")){
deviceConnected();
saveNetlist();
}
JMenu mnAnalysis = new JMenu("Analysis");
JMenuItem mnSteady = new JMenuItem("書き出し")
ならうまくネットリストに書き出ししてくれるってことですかね?;
やってみりゃいいだろ
問題なく書き出しできました!本当にありがとうございました! 今日1日ずっとモヤモヤしてたので本当にありがとうございます!
人にデバッグしてもらうて、なんだかな
翻訳ミスとかバカじゃね
サーブレットでdbについてなんです。 sqlの結果から次のsqlを実行したいのですが、その場合どうなりますか? sqlを一度だけ実行するソースは見かけるんですが。
a.zipの中のいくつかの指定されたファイル名のファイルだけ圧縮方式を変えずにb.zipに固めて出力する方法を教えて下さい
>>27 「java.util.zipのクラスを使って」かつ「いったん解凍して再び圧縮というプロセスを経ずに」
ってんなら無理だったような。
synchronized指定したメソッドについて質問です。 スレッドを2つ起動し片方はincrement、decrementを実行し続けるスレッドを起動したとします。 1つ目のスレッドが@の場所でwaitで待機した場合、2つ目のスレッドはshareにアクセスできないのでAのnotifyで@のwaitを解除できないと思うのですが、 waitで待機してる時は他のスレッドでもshareにアクセスできるということなのでしょうか? class share{ //共有クラス private int i=0; public synchronized void increment(){ while( i != 0){ try { wait(); //@ } catch (InterruptedException e) { } notify(); i++; } public synchronized void decrement(){ while( i == 0){ try { wait(); } catch (InterruptedException e) { } notify(); //A i--; } }
>>30 waitするとsynchronizedが解除されるという風に考えるんだ。
AtomicIntegerなんてのも既にあってだな
>>30 Javaの道:スレッド(4.スレッドの同期)
http://www.javaroad.jp/java_thread4.htm > waitはそれまで保持していた実行権を解除し、他のスレッドに実行権を渡します。
> またその際、synchronizedによってロックされていたオブジェクトも他のスレッドからアクセスできるように解除されます。
> waitを呼び出したスレッドは他のスレッドからnotifyAll(もしくはnotify)が呼び出されるか、引数に指定した一定時間を経過するまで実行不可状態でありつづけます。
javax.scriptって何につかうもの?
java.util.concurrent java.util.concurrent.locks java.util.concurrent.atomic はsynchronizedの代わりに使うもの?
AtomicIntegerなんてのも既にあってだな
プリミティブのラッパー的なクラスか
eclipceを使ってます。下記でなぜかtrueになります。 String s1="あいうえお"; String s2="あいうえお"; System.out.println(s1==s2); 同じ文字列でも、別のオブジェクトなので==だとfalseと思うのですが。
1つのクラス内の同じリテラル文字列は同じオブジェクトになります
うそはよくない
eclipseは関係ありません static String getAiueo() { return "aiueo"; } public static void main(String[] args) { String s1 = "aiueo"; String s2 = getAiueo(); System.out.println(s1 == s2); // true }
自己解決しました
>>39 >>41 ありがとうございます。
String s1="あいうえお";
String s2="あいうえお";
System.out.println(s1==s2); だとtrue
String s1="あいうえお";
String s2=new String("あいうえお");
System.out.println(s1==s2); だとfalseでした。(equalsだとtrue)
どれも同じくStringをnewする意味だと思ってましたが面倒ですね。
sqlの結果をresultsetで受けとると incompatible data types in combinationと出ます。 構文自体は正しいです。
ソースコード見ないと何も分からんよ、エスパーじゃないんだ
ソースコード見ないと分からないとか三流が吐く台詞
一流の仕事には再現性があるからね。 様々な可能性がある場合にかんで憶測を披瀝したりしない。
大口叩くだけで結局何もしない一流。
終始黙ってて影が薄い二流
>> waitを呼び出したスレッドは他のスレッドからnotifyAll(もしくはnotify)が呼び出されるか、引数に指定した一定時間を経過するまで実行不可状態でありつづけます。 いつも思うんだが、どうしてこういう嘘を書くんだろう
>>47-50 お前らそんなに捻じ曲がったままの精神だと近いうちに話し相手がいなくなって本当に一人ぼっちになっちゃうぞ
Javaライブラリ情報のまとめサイトでもつくれば
java bronzeの試験難易度はどんなもんでしょうか
超簡単
野菜ソムリエとjava goldはどちらが難しいですか
javaの課題片付けますスレってなくなった?
いつぞやの
>>6 ですが、JFrame上でdrawSourceで描いた各素子を、
スクリプトの「戻る」ボタンのように削除するにはremoveを用いて削除すればいいのでしょうか?
作者に聞けば分かるよ
前回の質問からしてプログラミングそのものを分かってないようだから 分かってない人にアドバイスのしようもないよ
大した行数のコードでもないんだから自分で読んで解決すればいいのにどこまで不精なの
リンク切れのコードの話なんて知らんがな
質問スレなんだからおとなしく回答しとけ。javaドカタ共!
じゃあお前がエスパーして答えてやれ
>>6 は人のコードを改造してるようだけど、コード勝手に公開していいの?オープンソースライセンスなの?
javaドカタの分際で著作権とか生意気すぎ
どういう環境で実行したのですか? 当方、javaSE 1.7.0ではとくに問題なく実行出来て 1) 0: = 5 1) 1: = 7 1) 2: = 9 1) 3: = 11 1) 4: = 13 1) 5: = 15 1) 6: = 17 1) 7: = 19 1) 8: = 21 1) 9: = 23 と出力されました
スレッドセーフでないのが悪い
ideoneでマルチスレッド起こそうとか、虫が良すぎるだろ。
Xtendって、使っててイマイチと感じる点ありますか? 今度、メンバーに関数型言語の概念を知ってもらおうと思って、Java案件への部分的こっそり導入を検討中です
日本のサイトではほとんど話題になってないのなググっても去年以前のサイトばかり
78 :
デフォルトの名無しさん :2014/02/07(金) 14:58:34.08
Webページ上で、 現在アクセスしているURLを取得する 取得してきた文字列に特定の文字列が含まれているか判別する その合否によってif文で条件分岐させる 各行程がJavaで可能かどうか、その場合どうコードに書けばいいのか 教えていただけませんか?
>>78 もちろnJavaアプレットは使っていいんだよな?
お茶の子歳々
サーブレットおじさん、出番です
もちろnJavaアプレットは使っていいんだよな?
ajaxでxmlhttprequestを使って画面を更新することがあると思うけど、画面はなにか制御入れてる? enabledをfalseにしたりとか javaのコード実行中でも、ブラウザ動いちゃうよね
おーいESP
enabledをfalseにしてます
ファイルの更新日時取得はlastModified()ですが 更新でなく作成日時を得るためにはどうすればいいですか?
>>87 Files.getAttribute(Paths.get("C:\\sample.txt"), "creationTime");
>>88 ( ´,_ゝ`)プッ
まんこ
91 :
デフォルトの名無しさん :2014/02/08(土) 17:48:44.93
質問なのですが nameフォルダ内にある全てのフォルダの名前を配列に入れて それを元にComboBoxを作成しています。 Eclipse上ではうまくいくのですが Jarファイルにエクスポートすると機能しなくなってしまいます。 パスの読み込み方が間違っているのでしょうか? File[] filea = new File(this.getClass().getClassLoader().getResource("name").getPath()).listFiles();
92 :
デフォルトの名無しさん :2014/02/08(土) 17:53:03.20
>>91 URL url = this.getClass().getClassLoader().getResource("name");
System.out.println(url.getCanonicalPath());
これで確認したらいいよ。
>>92 getCanonicalPathはなかったのでgetPathを使いました
二行目でjava.lang.NullPointerExceptionになりました
scheduleメゾットとはなんなんでしょうか? あとhandlerもなんなんでしょうか
>>89 Javaの内容かと思いこちらで聞いたのですがこれはandroidでは不可でしょうか?
Pathsの部分がエラーになってしまいます。
>>91 JARファイル場所の求め方は
Class → ProtectionDomain → CodeSource → URL
で辿る方法もある。
お目当てのフォルダがJARの外にあるなら、それはもはやリソースでは無いよ
>>96 >>89 はJava7のライブラリを使用しています
AndroidにはまだJava7のライブラリは用意されていません(GoogleはJava6までのライブラリしか用意していません)
そうですか、わかりました。
まんこ
そういうときこそJNIを使うのです Cを使ってほしい情報を得ればいいのです JavaVMのプラットフォームが決まってるなら尚のことJNIを使うべきです
ちんこ
103 :
デフォルトの名無しさん :2014/02/09(日) 00:42:27.95
巨大なウェブシステムを構築するにはやっぱりジャバ? フェイスブックもバックエンドはスカラとかいうジャバ系言語らしいんだけど。
利用者が多いものであれば それだけ知識や知恵などがネット上にも豊富に存在する つまり調べる知るのが楽というだけ
>>103 巨大なウェブシステムの構築は画面がアホみたいに多いだけでほとんど単純作業だ
必要なのは安い大量の労働力
そして安い人間を沢山買えるのはJavaだからJavaが選ばれる
取替えのきくヒューマンリソースの追求の成果:Java
安い大量の労働力のくせにOOがどうたらデザインパターンがどうたら煩いのがjavaドカタ
そうは言っても、規約通りにコーディングしてくれればソースを読む時だって楽じゃないですか^^
少数精鋭でやるにはまどろっこしい言語だけど、強い型付けのクラスベースの言語は土方作業やらせるにはもってこいだ
Javaがクロスプラットフォームであることの真の意義ってWORAじゃないんだよな 奴隷のスキルを使い回せる、これが偉大なJavaの成果だよ
ドカタはWindows限定でいいだろ
?スキル ◯労働力
ペケが化けた。こっちかな ×スキル ◯労働力
>>111 サーバーサイドならUNIX/Javaドカタはいくらでもいるぞ
今時アプレットを選ぶというスタートの時点で完全に間違っているのでなんとも アプレットは事実上公式に葬られた
では何がいいんでしょうか?
Sliverlight
appletはappletviewerでやる分にはいいんじゃないか javafxはmac,linuxとも期待はずれだったから、今でもappletでawtを学んでそのままuiならswingとか鉄板コースで
AWTから入らないとダメなの?いきなりSwingじゃダメなの? アプレットだってSwingのJAppletがあるじゃん
アプレットをブラウザ以外の組み込みコンテンツとして利用することは出来ないん?
swing派としてはそれでもいいと思う。だがLinuxではキーフォーカスの致命的バグがある。 SWTベースのeclipseがLinuxでちゃんと動いていることからキーフォーカスのバグはSWTにはないかも。
javafxだとopengl-es (directx)が使えるから、windows限定でいいんならjavafxでいいんじゃないの? mac,linuxだとjavafx8では詰めが甘いから結局今でもgraphics2dに落ち着くんじゃないか windows desktopが消滅するとjavafxも消滅すると思うんだけど、オラクルはjavafxで何を考えているんだか分からないし現在の評価では将来性もない
>>122 ああ、それね、netbeans 6.5.1 (netbeans 5.0)でも発生した
netbeans 7.4でも一回(二回?)発生してるけど
多分jdk1.6以下でよく発生して、jdk1.7でもたまに発生するんじゃないかな
オラクルもswing component (control)作ってるswing/ui専門のベンチャーをいくつか買収すればいいのに、オラクルの経営戦略とか製品戦略とかjavaで何がやりたいのか、どういうシナジーを考えてるのかよく分からん
125 :
デフォルトの名無しさん :2014/02/10(月) 02:26:04.59
JavaみたいにマルチプラットフォームでGUI使えるバイトコード吐く言語ってある?
126 :
デフォルトの名無しさん :2014/02/10(月) 07:07:16.77
見栄えはアレだけどSmalltalkあたりかなぁ
C#/mono
>>121 スーパクラスがjava.awt.Panelだから他のコンポーネント(コントロール)と同じであってFrame, JFrameに貼り付けて使える
そりゃJava製アプリに組み込むのは容易だろうけどさあ・・・
「スッキリわかるjava入門」という本を持ってないので何とも言えません
>>132 書籍の該当部分とソースコードの説明などをちゃんと読み直してみてください
「スッキリわかるjava入門」でググると分かることですが誤植・誤字・脱字が非常に多い本ということです
ステマ乙
HTMLエンティティとHTMLエスケープとURLエスケープとは違うもんなのか
140 :
デフォルトの名無しさん :2014/02/12(水) 03:18:38.90
>>138 数値参照と文字参照のどっちのことを指してるのか不明
数値参照なら1行で実装できるし文字参照ならライブラリ使うべきだし
>>141 その定義を反映させたライブラリを出せなきゃ話にならんよ
インスタンスの生成は クラス名 名前 = new クラス名 例えばScanner sc = new Scanner():とか GregorianCalender today = new GregorianCalender(); とかだとおもうんですが、 Calender cal=Calendar.getInstance();のようにnewがつかなかったり、 逆に if(new Random().nextBoolean())みたいなのは、どういうことなのでしょうか?
違います インスタンスの生成の構文は new クラス名 だけです これは変数の宣言と初期化の構文です クラス名 名前 = これは別のところで作られた(特別に用意された)インスタンスを取得するメソッドです Calendar.getInstance();
148 :
デフォルトの名無しさん :2014/02/12(水) 05:55:51.07
自作自演
インスタンスメソッドとクラスメソッドがあって クラスメソッドの場合、newを使ってない。 クラスメソッドはjavaが提供しているライブラリにあるようなmath.***のようなタイプ インスタンス化する = newでメモリ上に作成するのだけれど ・ Library提供のクラスは「すでにメモリ上に存在する」のnewは用いない。 = で結ぶのはそのメモリ番号はどこにあるのかを結びつけるってこと。 と聞いた記憶がある。
>>147 であれば
new GregorianCalender();
GregorianCalender today = 何といれればいいんでしょうか?
わけわかめ
もう少し言うとstaticはメモリ上に領域を確保している、なので 改めて newで確保する必要がないということ。 Libraryはstaticなのでクラスメソッドとしている。
>>146 int a;//宣言
a=(8+2);
a=10;
2つの式が同じなのはわかるだろう。
つまり、式の計算結果(戻り値)が置き変わるということだ。
コンストラクタ(new)の戻り値はそのクラスインスタンス。メソッドの戻り値はそれぞれ違うので、マニュアル読め。
とりあえず、可能な限り別の行に分けて考えろ。1行で書くのは楽にするためだ。
なんだ詩人か。
>>146 インスタンス毎に違う値を持たせて利用する必要があるから普通はnewで新しいインスタンスを作成する
Calendarの「今日という日付」をみんなで共有する場合は同じインスタンスを使いまわせばいいので
Calendarクラスでstatisに確保されたインスタンスをgetInstance()で取得すればいい
とりあえず 「式」 と 「文」 と 「式文」 は区別しようず
156 :
138 :2014/02/12(水) 15:05:48.30
>>141-145 すみません私の説明不足でした。
でもこれはこれで勉強になりました、出来るなら定義を読み込んで文字参照までやってみたいと思います。
下記は質問の補足です。
今回の場合だと、数値参照(半角空白の場合 )でも文字参照( )でもいいので、
文字化けしない形にしたかったのです。
(数値参照と文字参照の定義が曖昧だったので例を挙げさせてもらいました)
Ajax+JSONでHTMLのテーブルの中身を書き換えようとしていたのですが、
JavaのStringの中身をそのまま返却すると、文字化けしてしまって使えませんでした。
なので、例に挙げさせてもらったプログラムでエンコードした上で渡していたのですが、
こういう部分で手製のプログラムを使うのが怖いというのと、
こういうことをやりたい人はきっとたくさんいるはずなので、
もっとちゃんとしたライブラリがあるのではないかと思い質問させていただきました。
例に上げたプログラムみたいに使えるものってないでしょうか?
ゆとりうざい
その用途だとcommons-langのStringEscapeUtils.escapeHtmlで良いと思うけれども、 それよりむしろサーバー側のJavaでJSONを生成するときにエスケープするのでは無く、 クライアントであるJavaScript側でエスケープする方が良いと思う。 jQueryの.text()とか使って。 サーバー側でエスケープすると、JSONの中の文字列はHTMLエスケープ済みの、人間様 には意味の無い文字列になっている。JSONの用途としてもそのままHTMLに埋め込める だけの、汎用性の少ないものになってしまう。 サーバー側でHTMLページを生成するのであればHTML中にデータをレンダリングするのも Javaの役目だからデータのエスケープもJava側の責務になるけれども、この場合は HTML中にデータをレンダリングするのはJavaScriptだから、JavaScriptにエスケープ させることを考えても良いと思う。
質問者さん(
>>146 )はシングルトンの意味なんか聞いてないし、そもそもCalendarクラスはシングルトンパターンじゃないよ
Calendarフィールド持ってないから
>>146 Calendarクラスは、すごく大まかに言うとこんな構造です
public abstract class Calendar {
protected Calendar {
}
public static getInstance() {
Calendar cal = new Calendar();
// calをいろいろ加工
return cal;
}
}
直接インスタンス化できない抽象クラスとして定義され、他クラスからはgetInstanceメソッドを使わないとインスタンスを得られないようになっています
このように、理由はどうあれコンストラクタを使わせない意図でインスタンスを返すメソッドを持たせる手法もある、というだけの事です
美しい Calendar cal = new Calendar(); // calをいろいろ加工 return cal;
Javaの日付周りは糞設計と定評があるので真似してはいけない
>>159 ちょっとミスりました
×) public static getInstance() {
○) public static Calendar getInstance() {
>>146 そして後者の
if(new Random().nextBoolean()) {}
については、下記と同じです
Random rnd = new Random();
if (rnd.nextBoolean()) {}
既にレスがあるように、newによって呼び出されるコンストラクタは言い換えれば「自らのインスタンスを返却するメソッド」です
>newによって呼び出されるコンストラクタは言い換えれば「自らのインスタンスを返却するメソッド」です んなこたーない アホかお前は
>>165 横レスだが、
HTML文字参照って、&とかいうやつ。URLEncodeは%3Cとかいうやつ。
>>146 はこんなとこで質問するより、Java仮想マシン仕様読んで
スタックマシンの美学に接することをオススメする
java3dのライブラリへのパスがありませんって言われ、PATHにbinの場所打ち込んでも上手くいかないのですがどうすれば良いのでしょうか
なんで初心者ぽいやつに難しく説明しようとしてる奴が多いのか
自己解決したのでもういいです^^
自己解決しました
172 :
デフォルトの名無しさん :2014/02/13(木) 00:40:54.80
自己解決したなら名前欄に質問のレス番号入れろよ どれが解決したのか分からんじゃないか
173 :
172 :2014/02/13(木) 00:43:55.32
自己解決しました
っていう
難しくて・・・ そーいうものだよ。 そのまま暗記しろ って言われても イヤヤ、納得いかへんて駄々こねるやん。納得しようとすれば細部になるやろ。
自己解決しました
>>168 環境変数CLASSPATHに追記しないといけないのよねン
eclipseならプリファレンス→ビルドパス→ライブラリに設定すればいいだけなんだけどな。
単純にやりたいこと、やったこと、どうなったか、問題点をかけばいいだけなのにな。 パスを通した→どうやったか うまく行かない→どうなったか
でも、問題点を正確に過不足なく報告するのって、むずかしいよね。 大量のバグ処理表を、書く立場にも、処理する立場にも、両方居たことがあるから実感するけども。
>>181 「過」はあっても問題ないだろ
「不足」があるから「情報小出しにするな」と言われるわけで
>>181 そりゃ多くの人が関わって発生する多くの問題だからだろ
一人がやるとこととは違う
java初心者です。初期化の方法に疑問があったのでご教授ください。 public class Test{ public class Pos{ float x; float y; public Pos(){ this.x = 0; this.y = 0; } } private Pos[] A; public Test(){ this.A = new Pos[NUM]; Pos[] B = this.A; for(int i=0; i<NUM; i++){ this.B[i] = new Pos(); } } } 参考書に載っていたんですがここでBをいったんはさむ意味があるのでしょうか。 直接Aをいじったら問題があるのですか。
>>184 コードを写し間違えていると思う
変数Bはローカル変数だから this.B はコンパイルエラーになるよ
つまりそのコードは動かない
>>185 すみません、写し間違いです
for文の中のBのthisはないものと考えてください
しかしAではなくBをいじってるのにAに値が反映されたりします
これはCでいうポインタのようなことなのでしょうか
そもそもこのBをはさむ意味などあるのでしょうか
>>186 > そもそもこのBをはさむ意味などあるのでしょうか
あります。Bを挟むことで、今後Aの参照先が変更されてもBの参照先は影響を受けなくなります
例えば this.A = null とか this.A = new Pos[2] とか追加してみてください
それでもBは何の影響も受けません。これがBを挟む意味です
Aはクラス内のどこからでも触れる変数なので、
クラスが複雑になると自分が意図しない場所でAの参照先が書き換わる可能性があります
そこでAの参照先を先にBに退避させておけば、その後にAの参照先がたとえnullになっても問題なくなるということです
メンバ変数へのアクセスは遅いとは良く言われるし最適化のためにやってるんじゃないの?
>>187 解答ありがとうございます
ははーなるほど、だから参考書にはメソッド全部でBのような変数をはさんでるんですね
>>188 メソッドを呼び出すたびに変数を確保して参照するより
メンバ変数へのアクセスの方が遅いって事ですか?
参照の実験してみりゃ嫌でも分かる
>>178 CLASSPATHとするところをPATHやpathやclasspathとしたらやはり問題があるのでしょうか?
よろしくお願いします
>>191 Windowsでは大文字小文字は区別されないので問題ありません。
Linuxでは大文字小文字が区別されるので問題があります。
Linuxでは環境変数CLASSPATHやjavaコマンドの起動オプション-classpathはどちらも大文字小文字が区別されます。
環境変数にclasspathをセットしたり、javaコマンドに-CLASSPATHを渡しても起動しません。
CLASSPATHは影響範囲がでかすぎてOracle的には既に非推奨のはず。
-cpとか使おう。
>>191 JNI使ってのVM起動前に環境変数をシステムプロパティjava.class.pathに書き写すとこまで自分でやるんなら
環境変数の名前とか何だっていいぞ
>>193 別にそのプロセスのCLASSPATHだけ変えればいいんじゃない。
196 :
デフォルトの名無しさん :2014/02/14(金) 02:07:47.63
/*・ファイル名は『MP26.java』とする。 ・l×m行列A、m×n行列Bに対しA×B = Cとなるよう行列Cを計算し表示する。 ・行列の型(l、m、nの値)及びデータの内容が変わっても不具合が起きないようにする。 行列A、Bの値。 A = ( 1 0 0 ) ( 0 1 0 ) ( 0 0 1 ) ( 1 0 1 ) B = ( 1 2 ) ( 3 4 ) ( 5 6 ) */ public class MP26 { public static void main(String[] args){ int[][] A={{1,0,0},{0,1,0},{0,0,1},{1,0,1}}; int[][] B={{1,2},{3,4},{5,6}}; int[][] C=new int[A.length][A.length]; int i,j,k; for(i=0; i<4; i++){ for(j=0; j<3;j++){ for(k=0; k<2; k++){ C[i][k]=A[i][j]*B[j][k]; System.out.print(C[i][j]+" "); } } } } } 誰か宿題手伝ってくれしゃい
先生にプログラムできると勘違いされて褒められたら道を踏み外す(PG道に落ちる)かもしれない
199 :
デフォルトの名無しさん :2014/02/14(金) 04:19:41.74
先生もここ見てるかも、という発想は無いのかなぁ・・・
>>198 は宿題を手伝ったのではないやってやったのだ
PGの仕事回ってきたらまたここに聞きに来るのかしら
ここに聞きに来るようでは仕事回ってこないだろ。
分をわきまえててむしろ潔い 向いてない奴はトコトン向いてないから無駄な努力はやめてもっと自分に向いた世の中に貢献できることに力を注いでほしい
javaドカタは単なる人数合わせなんだから向き不向きなんて気にしなくていいよ
人を集めやすいからって未だに新規のシステムでもstruts使わされる はたしてこれでいいんだろうか かといって他に何がいいかと言われると無い気がするし
Javaで2chへの書き込みをしてみたいんだけど参考になるようなサイトはありますか?(´・ω・`)
V2C
>>208 あんまり使ったことないけどアレってソースも何も公開してなくない?
参考になるようなものあるの?
ない
>>207 とりあえずコマンドラインでやってみろよ。
>>211 いや、デフォルトの書き込みなら何とかなるかもしれんけどP2経由の書き込みとかさっぱり方法が分からない
>>213 おお、これはすごい
まだ動かしてないけど助かりそうだ
ありがとうございます(´・ω・`)
うpして書き込んでから気づいたが貴殿の望む機能は積んでない
まあここから先は自分で調べてみます(´・ω・`)
リロードは大事
>>206 末端プログラマなんかは素のフレームワークなんぞ意識しなくてすむように自前にラッピングして使わせるのが普通じゃねえの?
アーキテクトは何仕事してんだよ
ぼくのかんがえたさいきょうの
226 :
デフォルトの名無しさん :2014/02/15(土) 03:35:25.75
SWTってEclipseインストールした環境じゃないと使えないの?
227 :
デフォルトの名無しさん :2014/02/15(土) 12:06:25.53
228 :
デフォルトの名無しさん :2014/02/15(土) 18:58:48.90
初心者です。 processingですけどjavaと同じformatの内容です。 import java.text.DecimalFormat; void setup() { DecimalFormat df = new DecimalFormat("0.###"); String[] tests = { "2.50", "2.0", "1.3751212", "2.1200" }; for (String d : tests) { //String m = Float.toString(df.format(Float.valueOf(d))); String m = Float.toString(Float.valueOf(d)); println(m); } } コメントアウトしている箇所がエラーします お願いします、、、
processingはlinux環境と日本語のサポートはしましたか?
>>228 どんなエラーメッセージが出たか当ててくださいってお願いか?
231 :
デフォルトの名無しさん :2014/02/15(土) 19:09:05.49
DecimalFormat.formatの戻り値はString型 Float.toStringが受け取るのはfloat型
あるオブジェクトをディープコピーする時にそのオブジェクトに含まれてる参照型フィールドがcloneを実装してなかった場合って どうやってそのオブジェクトをディープコピーすればいいんですかね?
親clone内でコンストラクタを書いて変数ベタコピー
234 :
デフォルトの名無しさん :2014/02/15(土) 21:04:52.86
>>231 formatの戻り値はStringなんですか、言われてみればなんでそこを疑わなかったのかと思いました
解決しました。ありがとうございます。
processingなんかやっても将来はジャバのスーパー土方になるだけじゃないんですか?
包丁を手にして インスタントラーメンしか作れない人もいるし 世界的なシェフになる人もいる。 キミはどっちかな。
包丁なんかを必要とするインスタントラーメンなんて、この世の中のどこにあるんですか?
自分の才能が土方なら土方なんじゃないですかね。
上流にも下流にも単純労働力としてのドカタはやはり必要だろう
241 :
デフォルトの名無しさん :2014/02/15(土) 22:05:48.02
ドカタを馬鹿にしてるけどドカタがいなかったら道路も水道もボコボコだし必要な人材なんだよ!ITドカタだって
うちの近くは半年に一回は道路掘り返してどこかでドカタしてるけど、この地域は案件多数でよほどカネの周りがいいんだろう
将来の才能の限界はスーパードカタと見切ってるのか。
これがスーパードカタ人2だ
クリエイティブ(笑)なことをしてる人がドカタより難しいプログラムを書いてるかと言えば、必ずしもそうではないんだよね プログラマの差別化はプログラミング技術そのもの以外の部分にあることが多い
その通り 年収3000万越えの俺が保証する 俺よりパッパと書けるプログラマーなんていくらでもいるな
248 :
デフォルトの名無しさん :2014/02/15(土) 22:30:16.26
>プログラミング技術そのもの以外の部分 具体例出せボンクラ
使い潰されるからドカタて言ってるだけだろ。
将軍職や参謀職より格闘は強いし射撃も上手い兵卒はいくらでもいるのと同じ。 深みと厚みのある認識が出来るかだな。 認識のオブジェクトの豊穣さの差だ
いや 単純労働の即戦力としてだけ期待されてるってこと 即戦力でもないならドカタにもなれない
そしてこれがスーパードカタ人3だああ!
仲間がいっぱい見つかって嬉しそうだなw
>>247 年収3百万円じゃないんでしょ?すごいね。
ジャバだけで個人でそれだけ稼げるものなの?
単純労働て、世の中の大半がルーチン労働だろう。
上の人ってプログラム書かないけど、何だかんだ言って頭良いから 本人らにとってはプログラミングは間違いなく単純労働なんだよな
ほとんどの日本人は安く買い叩かれても文句ひとつ言わない(言えないようになっている)から、要らなくなったら使い捨てるのも簡単
258 :
デフォルトの名無しさん :2014/02/15(土) 23:03:54.60
>>257 一番大事なところをカッコに入れるなボンクラ
>>256 案件の価額を釣り上げることも出来ず、相手に押されて安価で請け負ってくるようなアホは、業界ではゴミカス以下だけどな
何の業界だろうが採算合わないのに安く請け負うクズどもが害悪、法で罰せ
自分で仕事とってきなよ
262 :
デフォルトの名無しさん :2014/02/15(土) 23:40:18.97
人件費保障制度を国をあげて作るべき
>>236 そういう、具を載せてささやかにリッチにしてみたいなどと考えてるから、ネギごときの薬味の値段ですら釣り上がるんだよ
餃子の皮が今いくらにまで釣り上がってるか気にしたこともないだろ?w
貧乏人は貧乏人らしくして、日本ではあまり背伸びしないほうがいいんじゃないか?
雪だからって釣られすぎだろ
267 :
デフォルトの名無しさん :2014/02/16(日) 00:19:50.32
>>257 現場で文句一つ言わないだけで、帰って2chで暴れ回ってるんだろ
>>236 スーパードカタの考えることはやっぱり他と一味ちがうw
数合わせで雇ってるだけなのにjavaドカタ生意気すぎ
270 :
デフォルトの名無しさん :2014/02/16(日) 00:47:07.76
ステマ
ステマ乙
×ステマ乙 ○宣伝乙
最近の宣伝(個人でも)は手が込んでるな。炎上させて誘導か
やってみたけどSランクとやらの問題は土方でも余裕で通過するレベルの問題でワロタ
即戦力(笑)
リンク先にはコーディング規約の説明が書いてあって、 問題や答えと思しきものは見当たらないけど
>>279 そのリンク先で提示されているコードをそのまま入力すればそうはならない
つまり君がコードを写し間違えているとしか考えられない
例えばコメントの記号 // を入れ忘れているとか
>>280 解決しました
下のほうに 前の問題がなぜかコピーされてたようです
ありがとうございます
メモリが苦しくなると底の古い方から順に解放されていく スタックキュー構造の作り方教えてけろ。 想定される用途はundoバッファ。 weak参照とかどう組み合わせればいいのかさっぱりなのん。
284 :
デフォルトの名無しさん :2014/02/16(日) 15:12:13.65
いや、あの、求めてるのは、はじから順番に勝手にGCしてくれるDequeなんですががg
>>285 ない
そこまで厳密に管理するんならGCに頼らないで自分のキャッシュポリシーでやれよ
287 :
デフォルトの名無しさん :2014/02/16(日) 15:19:21.60
あるかないかじゃなくて作り方を聞いてるんだろ
メモリが苦しくなると発生するイベントなんてあったっけ?
undoの数を制限すりゃいいだけじゃね
addShutdownHook() こんなメソッドあったのか知らなかった
メモリなくなったときのOutOfMemoryErrorを処理するハンドラーを Thread#setUncaughtExceptionHandlerとかで仕掛けておくとか。
OutOfMemory出すくらいなら捨ててもいいオブジェクトは WeakReferenceにぶらさげとくことができる。 ReferenceQueueがあればGC回収を監視することも可能。 難しそうなのはGCされる順序を保証するとこで。 commonsとかにないのか?
特別なスレッドでキューサイズかメモリーサイズを監視して危なそうなら順次poll()してgc()を呼び出せばいいんじゃないの?
メモリなくなったときのOutOfMemoryErrorを処理するハンドラーを Thread#setUncaughtExceptionHandlerとかで仕掛けておくとか。
メモリ不足の状態で処理を継続できるの?メモリエラーの場合メモリ上のデータの保障ないと聞くけど
javaドカタの言うことはまじめに聞いちゃいけません
OutOfMemoryErrorはメモリ不足なだけでメモリ上のデータ破壊とかはないから 自分でnewしない、内部でnewするメソッドを呼ばない、とか慎重にやればなんとかなる。 まぁ、上手くやらないと内部でnew呼ぶメソッドを呼んじゃって そこでOutOfMemoryError食らって……の連鎖になったりするし、 どう頑張っても物理メモリが足りてなくて多少ガベージコレクトしても どうにもならん場合の事も考えておかんといかんから、 結構面倒くさい処理にはなる。
馬鹿には無理
自己解決しときました
PermGen エラーからの復帰方法はありますか?
リアル土方は公共事業で食えるが・・・
質問失礼します。 非常に低頻度ですが、ヌルポが出て困っています。 スタックトレースを出力したら以下のようなエラーが出てしました。 ser.ClsSocketManager run null ser.ClsAll warning java.nio.Buffer.nextPutIndex(Buffer.java:519) ser.ClsAll warning java.nio.HeapByteBuffer.putFloat(HeapByteBuffer.java:468) ser.Util.float2Bytes(TJoUtil.java:175) これが出力される原因って何でしょうか? java.nio.HeapByteBuffer.putFloat(HeapByteBuffer.java:468) 分かる方、お願いします。
わからない
enum って null を扱えるのか・・・
TJoUtil.javaの175行目をコメントアウトしたら動くように成りました お騒がせしました
???
>>306 Javaは言語仕様が糞だからね。
Java 1.5以降のC#の猿マネ劣化版コピー仕様は見るに耐えない。
>>310 =糞言語仕様を糞とも感じない飼い慣らされたドカタ
簡単に数値型に成り下がるのだって十分ダメ仕様だしなぁ。 null が代入できちゃう件に関しては @NonNull とかできるようになればいいだけの話だろうし。
コマンドラインからコンパイルするのと Eclipse上でコンパイルするのと 同じコードでも違うclassが出来たりするの?
>>307 は私ではありません。
ホントに困ってるんで勘弁してもらえませんかね。
自己解決しました
>>314 質問内容・文章をよく整理してから投稿してください
>>304 の文章では質問がよく分かりません
質問内容は分かるだろ。 原因は分からんが。
>>313 当たり前だろ
Eclipseは独自のコンパイラ使ってるから
それってどっちか一方にだけあるバグとかあったりする?
>>319 当たり前だろ
別々のコードで作られたコンパイラなんだから
じゃあそれぞれのバグや良さに合わせてclassファイル単位で別々にコンパイルしたりしたほうが良い感じか
女に合わせてテク変えるのと同じだな
Eclipseが3になったばかりの頃に共変戻り値あたりでバグに遭遇したな。 Ant+javacだとコンパイルエラーになるのにEclipseだとコンパイル通っちゃってた。 詳しくはどんなんだったか忘れた。
324 :
デフォルトの名無しさん :2014/02/18(火) 18:46:33.83
4月からシステムエンジニアとして働くのですが、読んでおくべき参考書はありますか? やさしいJAVAは読みました。
なれる!SEの7巻
↑はキモヲタ向けのキモイラノベ
>>324 SEと言っても広いからな。
プログラムしない人もいるし。
なれる!SEもプログラムはしないのが主人公。が、1巻読んで不安になるがよい。
328 :
デフォルトの名無しさん :2014/02/18(火) 19:07:21.34
もう読みました。 不安でたまりません。
SEとして長くやっていくつもりなら技術や開発手法の勉強はするな 目の前の現実とのギャップに絶望して辞めたくなるから
>>327 あれSEじゃなくNEじゃねぇの?って思う
上流の会社なら技術なんか要らんよ ピクミンでもやっとけ
それを改善する手法を見つけたらビジネスチャンス 周りを出し抜ける と考えられるか否か。 惰性と社内文化に流されたらそこまで。
>>330 NEはSEの一種って考えなんじゃないの。
SEでもサーバの設定とかするの普通だし、間違ってはいないと思う。
編集が NEなんて誰も知らないからSEで って、感じかも知れないけど。
なれるSEはH/W側に寄りすぎて技術的な話は分からんな 雰囲気は痛いぐらいに分かるが
マジレスすると簿記。 客に納めるシステムも自分の会社も、つまりは金儲けのためにやるもんだから、金勘定の仕方は最重要
そういうのは作りたくないな 作ったことないし バカにしてるし
やっぱコンピュータってのは使うより使われる方が楽しいよな
自己解決しました
>>339 仰る通りですわ。
言わずもがなだが、会計の知識を身につける→具体的な手段として簿記を勉強する。ですね。
自己満足しました
Javaに限らず会計、金融、銀行関係はデスマの温床 下手に知識あると火事場に放り込まれるよ
343 :
デフォルトの名無しさん :2014/02/19(水) 18:33:38.31
下手に知識があると大変だが 派手に知識があると火事場で無双して 賃上げしなければ転職するぞ圧力をかけられる
下手したらヒューマンスキル低いとレッテル貼られるだけですがな……
>>342 会計、金融、銀行のシステムを作る話と、
会計の知識を持った上で金融や銀行と無関係なシステムを作る話は全く別だろ
調達、流通、在庫、販売とみんな会計知識が必要じゃん
例えば日商簿記1級持ってるなら銀行システムのプロジェクト行けなんて話になるのか?
>>345 決算にあたり受取利息を貸方に仕分けするときに対応する借方の勘定科目は何が適切でしょうか?
独学でjava入門終えたものです。 メソッドやクラスの修飾演算子の public static の概念は理解してるのですが、 使い方がわかりません。 適当に、publicつけとくか。みたいな感じでつけてエクリプスエラーでてなければ よっしゃ。みたいにおもってたのですが、 クラスやメソッド作成時に何を考えてここあたり設定されてますでしょうか?業界ルールみたいなのあるのでしょうか? publicはprivateと対になるもので、カプセル化の際にでてくる。 staticはCと同じで、グローバル変数。という認識のままなのですが。 よろしくお願いいたします。
”概念は理解”してるんでしょ
日本語でおか
public, protected, privateはスコープ staticはメモリ配置 でしょ
staticは定数のみメソッドは全部public これがjavaドカタ業界のルール
>>348 基本privateで、必要に応じて広げる。javaでなくて設計の段階で。
staticかどうかも設計段階で決まってる。
騎士の周遊を求めるプログラムで、メソッドtryとprint_knightのところで"式の開始不正です"というエラーがでるのですが、原因がわかりません public class KnightTour { static int[][] board = new int[3][4]; public static void main(String[] args) { int i,j; for(i=0;i<3;i++ ){ for(j=0;j<4;j++){ board[i][j] = 0;} board[0][0]=1; if(try(2,0,0)==true){ print_knight(); }else{System.out.println("解なし");}}
インタフェースから設計始めるとすべてpublicでスタートする事になる いろんなやり方あるよね
static boolean try(int i,int x,int y){ int[] dx = { 2, 1,-1,-2,-2,-1, 1, 2}; int[] dy = { 1, 2, 2, 1,-1,-2,-2,-1}; int k=-1; boolean ok; int x1,y1; do{ k++; ok = false; x1=x+dx[k]; y1=y+dy[k]; if(0<=x1 && x1<3 && 0<=y1 && y1<4 && board[x1][y1]==0){ board[x1][y1] = i; if(i < 3*4){ ok = try(i+1,x1,y1); if(!ok){ board[x1][y1]=0; } }else{ok = true;}} }while(!ok && k<8-1) return ok;} static void print_knight(){ for(int j=0;j<4;j++){ for(int i=0;i<3;i++){ System.out.print(board[i][j]);} System.out.println();}}}
>>354 予期しない物が現れたということだから、
エラーのキーワードの前を見るといい。
>>353 javaでメソッド書くときは、基本的に
public だけつけとけばいいんでしょうか?
そのメソッドを自クラスでしか使わないならprivateにする 自パッケージ内で使うならデフォルトにする サブクラスで使うならprotectedにする 世界中のみんなが使うならpublicにする
>>359 じゃ、隣の奥さんはpublicだな
わかりやすいぞ
デフォルトの修飾子って何ですか? メソッド クラス ともに教えてください。
>>360 解決しました
tryが予約語だったんですね
ありがとうございました!
try and sex
モーダルウィンドウでラジオボタンを選択させたいのですが、メインウィンドウを選択できてしまいます JFrameを継承したクラスとは別ファイルに、JPanelを継承したクラスを作り、その入れ子として public class PlayCard extends JDialog{ public PlayCard(){ setModal(true);}}というクラスが有り class ButtonListner implements ActionListener{ public void actionPerformed(ActionEvent e){ PlayCard playCard=new PlayCard();}} でウィンドウを開くという形にしています コンストラクタに親のフレームを入れていないのが原因かなとも思ったのですが、入れ方が分かりません 原因教えてください、お願いします
public PlayCard(Frame f){ super(f); setModal(true);}
>>366 ありがとうございます
この場合、PlayCard playCard=new PlayCard(); でコンストラクタにJFrameを突っ込むにはどうしたらいいのですか
class ButtonListner implements ActionListener{ F f; public ButtonListener(F f){this.f=f;} public void actionPerformed(ActionEvent e){ PlayCard playCard=new PlayCard(f);}} } FはJFrameを継承するクラス
>>368 すいません
試してみましたがうまく行きません
親のフレームの受け渡し方がいまいち分かりません
JFrameを継承したjavaファイル(AFrame)の中に、そのコンストラクタと、メインメソッドがあって
AFrame frame =new AFrame();
frame.setVisible(true);
としてフレームを表示しています
そして別のjavaファイルにJPanelを継承したクラスがあり、そこに部品をぺたぺたと貼っつけています
それをJFrameを継承したクラスのコンストラクタ内で
MainPanel panel = new MainPanel();
add(panel);
という形でフレームに表示しています
よろしくお願いします
370 :
デフォルトの名無しさん :2014/02/22(土) 16:56:19.63
Windows8.1にしたんですけど、JAVA RUNTIMEもリアルプレーヤーと同じでもういらないですか
すきにすればよい
class MainPanel extends JPanel{ AFrame f; public void setFrame(AFrame f){this.f=f;} } を追加して MainPanel panel=new MainPanel(); panel.setFrame(this); で渡す
コンテナの子から親への依存性はあまり感心されないと思うがー SwingUtilities.getWindowAncestor()とか、 swingのコンテナ階層を検索する仕組みはいろいろある。
>>373 それはツリーが出来上がった後でしか使えない。
循環参照が気になるなら
WeakReference<JFrame> f;
で
ならば class ButtonListner implements ActionListener{ MainPanel f; public ButtonListener(MainPanel f){this.f=f;} public void actionPerformed(ActionEvent e){ PlayCard playCard=new PlayCard(f);}} } public PlayCard(MainPanel f){ super(SwingUtilities.getWindowAncestor(f)); setModal(true);} がいいということかも。
結論: 設計から見直せ
public void actionPerformed(ActionEvent e){ PlayCard playCard=new PlayCard(SwingUtilities.getWindowAncestor(e.getSource())); } public PlayCard(Window w){ super(w); setModal(true); } って手もあるかも。色々あるな。
378 :
デフォルトの名無しさん :2014/02/23(日) 04:12:47.78
結局そいつの悪意で会社辞めたけど すぐに発狂して「設計から見直せ」って言うのが口ぐせ。
>>374 > それはツリーが出来上がった後でしか使えない。
どういうこと?
>>365 が呼び出したいダイアログってメインウィンドウとやらが既に表示されてるんじゃないの?
380 :
デフォルトの名無しさん :2014/02/23(日) 04:23:20.80
getActiveWindow()は使えるけどgetFocusOwner()は無理。
JDialog(Window owner, Dialog.ModalityType modalityType)
↓
http://docs.oracle.com/javase/jp/7/api/java/awt/Dialog.ModalityType.html APPLICATION_MODAL
APPLICATION_MODAL ダイアログは、自身の子階層からのものを除き、同じ Java アプリケーションからのすべてのトップレベルウィンドウをブロックします。
DOCUMENT_MODAL
DOCUMENT_MODAL ダイアログは、自身の子階層からのものを除き、同じドキュメントからのすべてのトップレベルウィンドウへの入力をブロックします。
MODELESS
MODELESS ダイアログは、どのトップレベルウィンドウもブロックしません。
TOOLKIT_MODAL
TOOLKIT_MODAL ダイアログは、自身の子階層からのものを除き、同じツールキットから実行されたすべてのトップレベルウィンドウをブロックします。
もうダメだ 僕には無理だ
DOCUMENT_MODALとTOOLKIT_MODALがよく分からんな
Swingアプリは事実上1アプリ1VM運用が基本だからな… UIManagerが全部staticメソッドなの見たときは、なんかげんなり。 困った時は全部staticでいいよもう。
当時はそういう方針設計だったんだろ 万能なのが一番いいとは限らないからね
388 :
369 :2014/02/23(日) 18:55:49.02
ありがとうございます
>>377 の方法でモーダル化することが出来ました!
しかしこれメインのウィンドウ選択できちゃうんですね…
super(w,DEFAULT_MODALITY_TYPE);にするとモーダルウィンドウがすげーちっちゃくなっちゃうし
389 :
デフォルトの名無しさん :2014/02/23(日) 20:00:21.63
ArrayList<Integer[]> test_list = new ArrayList<>(); で作ったArrayListの要素を調べようと同じ値のリストをつくって、test_list.contain(checklist)で返り値をとるとfalseが帰ってきました 理由自体はは別のオブジェクトだからということで理解できるのですが ArrayListが自分が調べたいオブジェクトと等価のオブジェクトを含んでいるかどうかは、どうやって確認するのがいいですか? 結局、forループの中で各要素をおArrays.equals()で調べました
Integer[]ではなくList<Integer>を要素とするListを使う。 List<List<Integer>> = new ArrayList<>();
>モーダルウィンドウがすげーちっちゃくなっちゃう ダイアログ内部のコンポーネントを全配置した直後にpack();が必要かも。
java gold保持者に聞きます。 各種レベルを教えてください。
金の斧、銀の斧と木の斧
モース硬度だと鋼>鉄>銀>金で、金が一番弱い つまり金の斧は一番役にたたない
金の斧うれば一財産て意味だろ。 これだから肉体労働者は。
あなたが落ちたのはこのgoldですか、それとも
398 :
369 :2014/02/24(月) 19:22:09.82
>>391 コンストラクタの最後にpackを入れてみたんですが、小さいままでした
ダイアログを消すときに一瞬だけ元の大きさに表示されて消えます
377の形で
super(w,DEFAULT_MODALITY_TYPEまたはDialog.ModalityType.APPLICATION_MODAL);
という風にコンストラクタに入れる形だと小さく表示され
public void actionPerformed(ActionEvent e){
cmd = e.getActionCommand();
PlayCard playCard=new PlayCard(SwingUtilities.getWindowAncestor((Component) e.getSource()));
playCard.setModalityType(Dialog.ModalityType.APPLICATION_MODAL);}
という形にすると大きさはきちんとしていますがメインの画面のボタンを押せてしまいます
Window w=KeyboardFocusManager.getCurrentKeyboardFocusManager().getActiveWindow(); も使ってやってみてよ。setPreferredSizeでダイアログの大きさを指定してなかったとか?
setPreferredSizeではなくsetSizeかな
401 :
103 :2014/02/24(月) 23:39:31.23
>>104-105 マジか・・・
もうちょっと、こう
「規模が小さいうちはスクリプト言語がいいが、規模が大きくなるとJavaが圧倒的に有利!→ベンチグラフのURL」
「ApacheやMySQLとの相性は抜群!→一流エンジニアの書いた記事のURL」
みたいなレスを期待してたんだけど・・・
2chのレスを真に受ける男の人って・・・
わかってんなら聞くなよ
亀レスすぎんだろJK
まあJavaが選ばれるのは人材確保が容易だからってのは事実だけどね 性能やインフラの面での強さはもちろんあるけど、それだけリソースがJavaに集中してるのは やっぱりドカタ業界で使われまくっててニーズがあるからだ チャラチャラしたWebの世界だけじゃここまでにはならんよ
人材が集まるってことはソースコード資産も集まるってことなんだがな どうしてC言語が必要とされるのかはプログラマの共通言語としての意味合いもある Javaの利用者が多ければポストC言語にもなれる!
いかに優れた言語であろうと仕事じゃ開発リソースが集められないとどうしようもないわけですよ ってことでJavaなんだよ 好きでJava使ってるわけじゃない
>>406 実際そうなってる。Javaではリプレース不能なローレベルな領域というニッチな場所にCがひっそりと存続してる感じ。
Javaでネイティブコンパイラは作れないじゃないっすか
javaドカタ何人集めるって言って客からお金もらってるから雇ってるだけで javaドカタに何も期待してませんよ。時間通りに来て帰ってくれるなら
C言語じゃネイティブでオブジェクト指向サポートしてないじゃないですか。 といいつつ、Javaで手続き型で書いてるやつの多いこと。
412 :
デフォルトの名無しさん :2014/02/25(火) 01:57:59.53
jdk1.7_update45とjdk1.7_update51(最新)とサイズ比較したら1.5倍くらい増大してんだけどどういうこと?
リリースノート読めば
>>409 ネィティブなバイナリを出力するコンパイラって意味だよね?
別に問題無く作れると思うが
JavaらしくOOPで書けるの?
書けない理由はないが、コンパイラってノウハウが完成されてるし 構造自体は単純だからあんまりOOPは必要とされないみたい 主要部はやたらでかいクラス(というより単なる再入可能なモジュール)がいくつかあるだけってのが多い
勘違いするなよ、自然発生的にJavaドカタが増えたわけじゃないぞ ドカタでも覚えられる言語仕様で、 ドカタでも扱えるIDEがあって、 ドカタでも(低いレベルで)均質化されるフレームワークあってこそ 今のJavaドカタ市場があるんだ
自己紹介はその辺で
>>399 できませんでした
どうやらpanelをダイアログに貼り付けることに失敗してるみたいです
setBoundsで大きさを指定したところ、大きさは大きくなりましたがコンポーネントが貼られてなかったので
public PlayCard(Window window){
super(window,Dialog.ModalityType.APPLICATION_MODAL);
setTitle("PlayCard");
setBounds(100,100,500,500);
setResizable(false);
setVisible(true);
setModal(true);
JPanel panel = new JPanel();
panel.setPreferredSize(new Dimension(340,200));
panel.setLayout(null);
getContentPane().add(panel);
こんな感じです
setVisible早くない?
色々設定→レイアウティングpack()→表示setVisible(true)
みんなハッシュコードどう書いてる? public class H { private Data i, j, k; public int hashCode() { } }
eclipseに聞いてくれ
とりあえず適当に大きな素数を固定で返しておけ。 HashMapのエントリ100個も届かないようならこれで十分。
>>425 マジ同意。
あるときhashcodeやequalsを自前で書く必要のあるクラスがあってその時はちゃんと
書いて動いたのだが、後日そのクラスを拡張したうっかりさんがばっさりhashcodeや
equalsを削除して丸ごとeclipseで自動生成したので動かなくなったことがあったw
equals,hashCode,toStringあたりはeclipseに任せるが鉄則 インスタンス変数追加したら再生成するの忘れずに
Java から Runtime.exec で呼び出したプログラムの出力を受け取り続けるのってどうかけばいいんでしょうか 呼び出すプログラムが結果をはいて終了するタイプじゃなく iperf とか tcpdump みたいに結果をずっと出力し続けるタイプのプログラムの場合に ループして受け取り続ける方法が分かりません よろしくお願いいたします
自己解決しました
433 :
424 :2014/02/26(水) 20:29:37.47
netbeansでもいいけど
435 :
デフォルトの名無しさん :2014/02/26(水) 23:13:01.89
コード: System.out.println(number == prime); System.out.println(number + " " + prime); System.out.println(number.getClass() + " " + prime.getClass()); 出力: false 2287 2287 class java.lang.Integer class java.lang.Integer 質問: 1:number == primeの結果が、同じ値なのにfalseになるのは、numberとprimeが別のオブジェクトだからですか? 2:どういう場合にこういうことになりますか? 1.{2,3,5,7}から100までの素数のArrayListをつくる 2.1のArrayList.get(index)をつかって値を取り出して、10000までの素数のArrayListを新しくつくる で、2を使って素数判定をやったらこういうことになったんですけど、理由がまったくわからないです
436 :
435 :2014/02/26(水) 23:25:17.95
一個書き忘れました System.out.println(number.equals(prime)); だと true になります
中略 自己解決しました
まーたインスタンスを理解してない初心者か!
数が決まってるならArrayListは使わないほうがいいよ ハリボテジェネリクスとオートボクシングのせいで恐ろしく非効率だから
java.nio.IntBuffer
宣言がないね、ツリ氏五級か
>>429 やったことないから知らんけど、スレッド使うんじゃダメなん?
>>435 >>436 > 1:number == primeの結果が、同じ値なのにfalseになるのは、numberとprimeが別のオブジェクトだからですか?
numberとprimeの中身を決めるコードを見ないと何とも言えません
オブジェクト変数に対する == は同一のインスタンスかどうかをチェックする equals はオブジェクトが持ってる情報を比較して、同等の情報を持ってるかどうかチェックする (ただし、equals はオーバーライドが可能なので実装した人の意図による比較になるので上記の意味にならない場合もある)
可変長の整数配列が欲しければTrouve4JのTIntArrayListというクラスがあるよ。 オブジェクトでは無くプリミティブ型のコレクションをヘビーに使うときはTrouve4Jの ことも頭の片隅に入れておいて、必要に応じて使うと便利。
間違えた。Trove4J。
447 :
435 :2014/02/27(木) 17:28:08.09
色々教えていただいてありがとうございます
コードはこれです
http://ideone.com/psUjv8 outputの一番下(ページのだいぶ下のほうです)から、4つ目で↓確認できると思います
false
2287 2287
class java.lang.Integer class java.lang.Integer
449 :
435 :2014/02/27(木) 17:55:05.95
450 :
435 :2014/02/27(木) 18:05:16.19
ideoneちょっと変えました
>>444 それだと
number.hashCode() == prime.hashCode()
もfalseにならないですか?
trueになるんです
> オブジェクト変数に対する == は
hashCode()はオブジェクトを返さない、プリミティブのint型を返す
hashCode()もオーバーライド出来るから どんな値が返されるかequals同様に信用ならない
なんでオブジェクトの比較に == 使う輩が多いの?頭おかしいの?
java.lang.ObjectからhashCode()外して別インタフェースにしとくべきだったな…
hashCode()とequals()があるからコレクションフレームワークが使いやすいのだと思うが。
信用とかなんとか言ってるがIntegerクラスだろ? finalクラスだし適切に実装されてるし、オーバーライドどうのってありえないんだが 回答してるやつら適当なこと言うなよ new Integer(2287)==new Integer(2287) はfalse new Integer(2287).intValue()==new Integer(2287).intValue()はtrue new Integer(2287).equals(new Integer(2287)) はtrue new Integer(2287).hashCode()==new Integer(2287).hashCode()はtrue
>>455 他言語でオブジェクト等価比較に==を使うものがあるから仕方ない
Javaしか知らないJava村民はウンザリでしょうけど
中途半端にキャッシュとかあるから初心者が混乱するんだよ .NETみたいにボクシングをVMに組み込んでおけばよかった
ジャバはオワコンってことでいいでしょw
>>463 そんなに何でもかんでも並べたいとは思わないなあ
今の所は必要の都度ComparableとComparator使えば事足りてるよ
>>464 残念ながら暫くはメインストリームに鎮座する見込みです。
ジャバがオワコンでも僕たちにはC#があるじゃないかー
すれたいも読めない厨房に言われてもなー
シーシャープ!! ばんざーい!ばんざーい!
471 :
435 :2014/02/27(木) 23:31:58.58
http://ideone.com/psUjv8 の49行目で
Integerではなく、intにしたら望む結果が得られました
これは、アンボクシングが行われたということですか?
それと
>>449 の疑問がまだ解決してないのですが
自分が理解できてないだけで、primeとnumberで同一オブジェクトが渡されるケースとそうでないケースがあるコードである
という事ですか?
IntegerクラスのvalueOf()の説明くらい読めよ
馬鹿には無理
よーやく出番が来たー
>>456 を見てInteger.valueOf()とnew Integer()の違いが気にならないとか頭おかしいわ
プログラミング言語Java読めよ
もうオブジェクトの==での比較はエラーになるようにしろよ
== は自動で equals の呼び出しにかえてほしい いままでの == の意味で使いたいときは === にするとか
===ってアホか
ソース互換性破壊するような変更は無理でしょ。
オブジェクト同士の==比較に警告出してくれるチェックツールなかったっけ? それで十分だと思うが
あらかたマスターするのにどれくらいかかりますか? 昨日始めたんですけど
あらかたマスターとやらの定義を教えてください
明確な定義がないからあらかたと表現しているわけで
「あらかたマスター」とは、新しい資格です。転職には必須です。
自己解決しました
つまんね
休日を1日潰せば言語仕様の大体は網羅できる。 ※ただしオブジェクト指向言語経験者に限る。 JavaSEライブラリの発掘は一生続くからな。そこんとこは覚悟を決めよう
別に発掘せんでも
codehausのMavenプラグイン見えないんだが。 DNS浸透中?Mavenスレあるんならそっちで
DNS浸透といっちゃうの恥ずかしいからやめてほうがいいよ Twitterでつぶやこうものなら、浸透言うなおじさんにおこられる
ほげ
上流工程者として、javaどれぐらい知っとけば恥ずかしくないですかね? コレクション、無名クラス、アサーション。あたりでOKでしょうか?サーブレット JSP,swingあたり。 アルゴリズムはどの辺まで? javaが本職ではないのですが、どこあたりでキリがつけられるのでしょうか?
498 :
デフォルトの名無しさん :2014/03/01(土) 03:42:39.46
インターフェースのメリットは具体的に何になりますか? (人間側から)見やすい、変更しやすい。という以外でメリットはあるのでしょうか?
>>497 日本で有数の有能なコンサルのあいつは下流工程の知識など不要と豪語してる。
そのくらいの無知と強引さが必要かもしれんよ。
javaのラッパークラスとオートボクシングだけは意味がわかりません。 どなたか、具体例交えて教えてもらえますでしょうか? ここだけは、どの教材、ネットみても分かりません。
どの教材、ネットみても分からないヴァカが 教える専門でもない人間の落書きをここでみて理解できるとでも? そのイカれた思考回路が理解できない原因だろ
>>502 それは違うと思いますよ。
第一、本だしてるから、ネットで有名だから説明がうまいとは限りません。
むしろ、体裁や流れを気にして内容に齟齬が出るなんてことは一般的です。
一つの用語に絞って教えられるなら、それのほうがわかりやすいこともあります。
自己解決しました
ぼくちゃんも自己解決しました
じ、自己解決したんだからねっ! べ、別にあんたのおかげじゃないんだからねっ!
あたちも自己解決しました
自決しました
つまんね
>>503 おまえの脳味噌じゃ無理
さっさと諦めて死ね
「上流」とか一言付け加えるあたりが、「初心者です!」とつければ親切に教えてくれると同じ発想なんだよな つまり、「上流」に入社できました程度にお勉強の方も多少出来るかもしれないけど、思考回路の方はその「初心者です!」レベルのゴミ人間と同じレイヤーだろう そういうゴミカス人間には、どう頑張ってもプログラミングは無理だし、ましてジャバなんて到底理解できるはずない
折れもチンチンの悩みに、自己解決したったわ たっぷりでたわ きんもちええのぉ
糞スレ
馬鹿には無理
codehaus mojo直った。 おいおい、maven使ったプロジェクトビルドがこんなとこに依存していて 大丈夫なのかよ心配になってきた。 プロは当然社内にミラー立てているんだよな?
お勉強が出来ると言っても、旧帝レベルであればたとえ自慢しても特段嫌味にならないけど、早慶上智あたりで上から目線だと対人関係上では即ダメ人間扱いだろうね 今の時代、マーチはもちろん早慶上智ぐらいまでなら、そこそこ勉強できてそのために学費捻出を惜しまなければ結構入れるでしょ どのレイヤーでもそうだけど、さしたる取り柄が学歴しかなくて思考回路もそのレイヤーに適合しないなら、そういうダメ人間はそのうちグループでいらなくなる子になっちゃうのかなって感じ
>>497 フレームワーク使ってDBに対してCRUDできる簡単なWebアプリが作れるぐらいでいいよ
アルゴリズムはどうでもいい
オブジェクト志向は概念だけ分かってればいい
あとJavaじゃなくてもWebアプリの基本を学んでくれ
こんなもん実装できるかボケ!って設計投げてくる上流屋が多いんで
>>499 コンサルの仕事は夢と理想論を語ることだから言語の知識はいらないな
馬鹿には無理
>>518 プログラミングを極める必要はないけど、それすらも人並にできない奴が語る夢とか理想は、本当に求められているものなのか?
ほとんどの日本人は無能だからな
>>521 プログラムなんてのは夢と理想を実現する為の手段の1つでしかないし
何でもシステム化すりゃいいってものでもない
そりゃ知らないよりは知ってた方がいいだろうけど
>>520 お前知らなのか?
日本は、大昔から少数精鋭が基本で、選抜に残れないのは廃棄処分の運命にある超競争社会なこと知らないの?
今まで過酷レースに参戦したこともないし、夢や理想で設計を語るだけってなら、何とでも言えるんだろうけど
馬鹿には無理
>>524 実現が可能なシステムに資するデザインやアイディアでないなら、そいういうのは求められてないし要らない
javaのラッパークラスとオートボクシングだけは意味がわかりません。 どなたか、具体例交えて教えてもらえますでしょうか? ここだけは、どの教材、ネットみても分かりません。
自己解決すますた
つかよ。うだうだ、くだらねえ話してねえで、さっさとラッパークラス説明しろや。 こんなことも説明できない無能が2chで何をいきがっても無駄。ここで答えようとしてるやつら、後輩にこの質問されて どう答えんの? さっさと答えろ。
ロッカーになれないからラッパーになるんだな つまり、二流ということだよ あ、おまえだ
>>531 大雑把な説明が知りたいならググればいい。
詳細な説明が知りたいならJavaの仕様書を読めばいい。
あなたが仕様書すら読めないプログラマ以前の素人だというのなら代わりに仕様書を読んであげましょう。
ただしもうプログラマを名乗らないことです。
と、答えますが。
java.lang.Longで説明してみる Long oLong1 = new Long(123L); 当然もんだいない Long oLong2 = 123L; おおむねの言語では型が違うため正しく代入できないが、java1.5以降はコンパイラの機能で Long oLong2 = new Long(123L); 左記の様に置き換えてコンパイルする long pLong1 = oLong1; pLong1にはoLong1.longValue();の値が入る。これもコンパイラの機能 これらをオートボクシングと呼ぶ
同僚にも先輩にも誰からも教えてもらえないんだろ 社畜人生がすでに決定してたみたいだしあわれな奴だったな
>>531 そんな2chで発狂してでも教えてもらいたいお前って、やっぱバカ?w
情弱ってわけでもないし、教えて君っていうか、情報乞食だろ、こういうの
>>533 一言で説明できない、無能と陰口叩くよ。
そもそも数年も同じ仕事してて、この程度のことを一行でまとめられないのは愚鈍だって。
ラッパークラスまで理解してるやつに、一言添えることができないのは無能。
板違いだゴミ
一からラッパー教えろっていってるんじゃない。
馬鹿には無理
543 :
デフォルトの名無しさん :2014/03/01(土) 15:18:21.88
>>538 勝手に陰口叩いてればいいと思うけど・・・
>>503 おまえの脳味噌じゃ無理
さっさと諦めて死ね
>>543 いやいやw
何を言い訳しても無駄。出来ない奴のレッテル貼られるだけ。
ほんと、匿名になると威勢だけはいいな。 ここは質問スレ。質問に対して、答えられない無能はレスつけるな。おk? どっちが正しいかよく考えろ。
549 :
デフォルトの名無しさん :2014/03/01(土) 15:29:56.52
>>545 うん、だから勝手にレッテル貼ってればいいと思うけど・・・
リアルでもこういう奴なんだろw これじゃあ、相手にしてもらえるわけないわw
551 :
デフォルトの名無しさん :2014/03/01(土) 15:32:23.15
勝手に無能と陰口叩いてレッテル貼ってればいいと思うけど、 なんで一生懸命それを言ってくるんだろう・・・もしかしてカマッテチャン?
553 :
デフォルトの名無しさん :2014/03/01(土) 15:43:10.74
. 質問に答えてもらえないときは 誰も答えを知らないか あるいは 質問文が悪くて質問内容を理解してもらえないか 答えを貰えないときは質問文を自己添削してみることをオススメする 以上だ、楽しみたまえ .
なんだ?もう終わりなのか^^ 今日も大漁だったな^^
釣臭や構ってちゃん臭の立ちこめる質問は警戒されてふつーだからな・・・
>>532 ラッパーに白人が少ないのは(アメリカでは)どうしてなんですか?
それと参考までにどんなラップとロック聞いてるんですか?
みんな大好きjava.util.Listでラッパークラスのお仕事を説明してみる
http://docs.oracle.com/javase/7/docs/api/java/util/List.html プリミティブ型を要素として扱う事が出来ない事が解ると思う
java1.5以前のコードは以下のようになる
List list = new ArrayList();
long pLong1 = 123L;
Long oLong1 = new Long(pLong1); ラッパークラスを用いてプリミティブをオブジェクトで梱包する
Object o1 = (Object)oLong1; Objectクラスにダウンキャスト
list.add(o1);
Object o2 = list.get(0);
Long oLong = (Long)o2; Longクラスにアップキャスト
long pLong2 = oLong.longValue();
java1.5以降のコード
List<Long> list = new ArrayList<Long>();
long pLong1 = 123L;
list.add(pLong1); プリミティブで扱えるのはオートボクシングがラッパークラスに置き換えているため。<Long>と書くことで判別している
long pLong2 = list.get(0);
すべてのプリミティブ型には対応するラッパークラスが用意されている。java1.5以降ならコーダーはそこをあまり気にしなくておk
ジェネリクスの理解の方が優先される
ダウンキャストとアップキャストが逆だよ素人さん
前から後ろからと 右からひだりかと どっちが気持ちいいかしら
Javaプログラマはラッパーとか頭悪そうな言葉いやがるんで AdapterやDecoratorやProxyとか、もう少しきちんとした概念を先に学ぼう。
自己紹介はいいって
はー、つまんね、医者にいったらー
おまえの退屈を紛らわすためにこのスレがあるわけではない 暇ならバイトでもしてこい
誰に切れてんの?
>>546 それだと一部の数字以外で、
number.valueOf() == prime.valueOf()がtrue
かつ
number == prime がtrueとfalseの両方の結果がでるのおかしくない?
4桁の数字だけがfalseになってる理由がわからん
>それだと一部の数字以外で、 それだと
>>570 仕様でオブジェクトがキャッシュされることが
保証されている範囲の数では必ず == が true になる。
それ以外では実装依存だから true/false どちらに
なろうとも知ったことではない。
どうせみんなウインドーズなんだしこのさいC#でいいじゃんかー ウインドーズ以外ではMONO(スペイン語で猿)もあるから安心なんだじょー ジャバとかリーナクスなんてオワコンなんだしみんなで猿ダンシング始めちゃおーよー
>>551 いや、わからないなら、レスつけなくていいよ。
ここは質問スレで、質問に対してわかってる人だけが答えるスレ。
答えられないお前がなんで俺に話かけてんの?アホ?
もう一度確認するぞ。
このスレはjavaの質問スレ まずここまでおk?
次に俺は ラッパークラスについて教えてください。 と質問をしてる。おk?
答えられる →レスつける
答えられない→レスつけない。ROMってろ。 ここまでおk?
人間として終わってるよなこういうゴミ人間って
人間として終わってるよなこういうゴミ人間って × 答えられないのに、さも答えられるかのように自分の実力を過大評価してる奴がゴミ人間 ○ ここまでおk?
「InputStreamReaderはラッパですか?」って質問だけで 延々と収拾の付かない議論を続けるのがJava界隈なんで、 まあ察してくれよ。もうそろそろ見切りを付けるのがよろし。
最近過疎ってたし、雑魚もめっきりだったんだけど、今回の雑魚のキャラクタリスチックなんかはもう判明してるから、叩いてももう何も出てこないか^^ ていうか、もうスルーでいいか^^
>>578 うん、だから、その
「InputStreamReaderはラッパですか?」
って質問したバカでも ラッパの概念つかめてんだろ?
おれはラッパとは何か?を聞いてるのであって、
「InputStreamReaderはラッパかどうかの部分までは聞いてない。むしろ、この質問ができるぐらいのレベルの認識をおしえてもらえればいいわけ。
話題を逸らすな。
581 :
デフォルトの名無しさん :2014/03/01(土) 20:09:19.85
_,rr-―''''¨゙゙゙ ̄ ̄ ̄ ̄ ̄`゙゙゙゙゙゙゙゙''ヘi、、 ,,,,-―---、 ,r‐'″ ._,,,, `'lri,!'''″ ゙l .,,,″ ,,r'"` ゙゙l, ゙ヘ, | !アr, .l°.ェ'ニ,コ .| ゚ヘ、 | `'i、 .く_,、vr''″ ., ゙'i、 .,,/ ゙X、 ト ゙!,゛ .,,r‐--、 ,、_,、 .,,,,r‐'″ | } .,,r‐'^’ .|゜ め゙゚“゙゙~゛ |  ̄` .,l゙ | ,i´ ,l゙ ゙!、 ,i´ ,ノ .'┐ ,,-° '=,, /` .゚!, ,,,,r'″ ゙┐ ,l゙ ゚'r, .''''"` │ .,,-''i、 / `''x, .| | .,,r'" .゙┐ ,i´ ~'ヘi,,, | |_,r・″ 'ヘ,、 l゙ `¬--|i,,,,,,,,,,,,,,,,v、r',广 ゙ヘ=@ ,l゙ `゙'ーぃ--r'″ `'―、,,,,/
この際だからFacadeパターンもラッパの仲間に入れてやってくれ
583 :
デフォルトの名無しさん :2014/03/01(土) 20:26:18.57
>>575 お前に話しかけてないよw自過剰かなwww
そもそもラッパも理解できない馬鹿なんだろ?w こういう雑魚はもう相手にするなよw お前にだって馬鹿が伝染るぞw
Integerクラスの場合では-128〜127の256個の数字がキャッシュされているのでオブジェクト比較でtrueを返すことがある new Integer(125)などで明示的にインスタンスを生成するとキャッシュは利用されない Integer.valueOf(125)などコンストラクタを使用せずにインスタンスを取得するとキャッシュが利用される オートボクシングを使ったコードがキャッシュを利用しているかどうかはコンパイラに依存する JDKとEclipseのコンパイラではキャッシュを利用していることが逆コンパイルにより確認されている 上記の数値範囲に限ってキャッシュを使うことが言語仕様上に規定されている訳ではないので、キャッシュを前提としたコーディングは避けるべきである つまり-128〜127の間の比較であってもオブジェクト比較は避けるべきである equals()もしくはintValue()で比較すべきである キャッシュの目的はFlyweightパターンにある通り、時間的コストとメモリを省力化するためのものである
とつぜんどした
チラ裏ならブログでやって
Product Version: NetBeans IDE 8.0 Beta (Build 201401141042) Java: 1.8.0; Java HotSpot(TM) 64-Bit Server VM 25.0-b69 Runtime: Java(TM) SE Runtime Environment 1.8.0-b127 System: Linux version 3.2.0-58-generic running on amd64; UTF-8; ja_JP (nb)
Integerの例はよいラッパーの例だよ。 しかしラッパってのはそのままでは扱いづらいので「しょうがなく」ラップする感がある。 このしょうがない感がラッパであるかないかの差だと思っている。
javaが良くも悪くも中途半端オブジェクト指向言語だから、妥協の産物としてラッパークラスが存在するという認識
上の方でjavadocちゃんと読めよって書いてなかった? サポート料払ってないのにそれ以上の解決方法を望むのは頭ポカーンってこと
public void test(List<? extends String> list) { list.add("1"); } なぜコンパイルが通らないのでしょうか。
Stringの派生クラスを格納するリストだからString型は入らない
597 :
デフォルトの名無しさん :2014/03/02(日) 01:08:56.86
名詞と動詞が同じ綴りになる英単語ってC#のようなプロパティだと可読性落ちる プロパティ:性別 human.Sex メソッド:行動 human.Sex(woman) Javaなら プロパティ:性別 human.getSex() メソッド:行動 human.sex(woman) と区別が明白になる
両方ともメソッドじゃないか
しーっ!
こうするのはどう? プロパティ:性別 human.Sex メソッド:行動 human.haveSex(woman)
1. 英単語「sex」は性行為をするという動詞ではない 2. オブジェクトはhumanなのに引数はwomanに限定されているのはおかしい 3. 戻り値childの欠落
簡単な処理だけどmainクラスに書くと長くなるので別クラス作って そこにメソッド作るやり方ってあってます?
mainメソッドってアプリの中心になるクラスのインスタンス作るだけの部分なん?
引数も処理します
Java全体の中でスタートポイントであるmainメソッドだけ異端な感じがする
アプレットのように起動用のクラスのインスタンスが用意されるわけじゃないし違和感
あまり危機感を持って語られることが少ないのだけどJava初学者が罹患しがちな 感染症として高static症というのがある。 どうもEclipseなどといったIDEの普及が近年の高罹患率の原因の一つらしい。 前駆症状としては教科書通りにstatic mainにHello Worldを書き、次にメソッド を書くもmainから呼び出せないため困惑するのが典型。 そういう場面でIDEが「非staticなメソッドはstaticメソッドから呼び出せません」 などとご親切に表示するので、それを見て意味も分からず、とりあえずメソッドに staticをつけることから感染が始まる。 それでコンパイルが通るのでオッケーと安心し、また別なメソッドを作るもやはり staticとつけないとコンパイルが通らないのでつけ、と文字通り「感染」する。 重篤な症例ではstaticはつけるものが当たり前と、全てのメンバがstaticで染めら れたクラスを大量生産する患者も散見される。 static mainなんてやめてrunメソッドだけ定義したApplicationインターフェイス でも定義すれば良かったのに。
チンコはブログでやれ
ある記事で、使わなくなったThread変数にnull代入しているんですが、そんな必要あるんですか? 書き手の命名規則が適当なところからしてJavaに慣れていない人だとは思いますが... gcよんだりnull代入したらすぐに回収される訳じゃないですよね?
使い終わったらnullを代入するのは規則としても作法としても別に問題ないです
ジャバは難しいのであまりよく理解できなかったのならシーシャープにいった方がいいですよ
超初心者です itextというpdfを作成するAPI(?)について、ググりながらサンプル程度はEclipsで動きました。 今度はEclipsではなくtextファイルに直接ソース書いて、拡張子をjava→cmdからコンパイル→classファイル実行 と動作させたいのですがコンパイルまでは出来て、classファイルの実行時にエラーが出ます。 ちなみに、Eclipsで作成したclassファイルもcmdから実行すると同じエラーが出ます。 itextのjarファイルもclasspathを通したつもりですが、それでも動かない。 他に何か原因思い当たりますか? もしかして、classpathの設定しても、そもそもclassファイル単体では動く仕様じゃなかったりするのでしょうか?
618 :
デフォルトの名無しさん :2014/03/02(日) 11:58:58.49
>>617 実行時には.javaファイルはいらないよ、.classファイルだけでいい。
なんていうエラーがでる?
クラスパスをどう設定したの?
iText使うのやめればエラー消えるよ
だなw
>>617 あーよくあるパターンだ。
間違いない。
これで解決だ。
原因はエラーメッセージを読まないことだよ。
別のプレイヤーのアドレスでひたすら左に動き続けるパケット送ったらどうなるん
623 :
デフォルトの名無しさん :2014/03/02(日) 14:24:22.86
左側に吸い込まれて右側の一ドット下がった位置から出てくるとか?
>>615 変数自体がその後も存続し続けるかどうかによる
void hoge() {
A a = new A();
B b = new B();
a.なんか処理();
a = null; // よくあるパターン(時間のかかる処理の前にnullを代入しておくことでaのGCを妨げないのが目的)だが、今のJVMでは無意味
b.時間のかかる処理();
this.x = null; // フィールドにnullを入れるのは有効
b = null; // これは全く無意味
}
インターフェースを1行で教えて下さい(・o・)おねがいします
「この機能(関数)は実装していますよ」って明言(宣言)すること
無くても困りはしない
本を読めよ
機械の本体を隠してリモコンを渡すこと
自己解決すますた、てへ
>>625 インターフェースは1行目のようなものだから、インターフェースが理解できないやつが、1行で理解できるわけがない。
インスタンスメンバを参照しないメソッドはprivate staticにすべき?
633 :
デフォルトの名無しさん :2014/03/02(日) 18:41:38.19
>>632 ケースバイケース。
外部からアクセスしたいならpublicにするし、
継承クラスでオーバーライドしたいならprotectedの非staticにする。
>>632 マルチスレッドで使う予定があるならstaticはまずい
そうでないならstaticでいい
public void setName(String newName) { if (newName!= null)&&(!newName.equals(“”) { name = newName; } } とすると、代入の左側は変数でなければならない。と出るんだが、全然解決できない。 どうすれば良いのか教えてください。
androidはスレ違い
>>635 this.name = newName;
ってやってみ。
多分クラスレベルの変数宣言が欠落してると思う
>>632 >>634 マルチスレッドでもstaticでまったく問題ない
ただ、privateメソッド=クラス内で完結している振る舞いにあまり神経質になる必要はない
public void setName(String newName) { if (newName!= null)&&(!newName.equals(“”) { name = newName; } } とすると、代入の左側は変数でなければならない。と出るんだが、全然解決できない。 どうすれば良いのか教えてください。
if (newName!= null) && (!newName.equals("") { ↓ if ((newName!= null) && (!newName.equals("")) { 最近のIDEはカッコの相方を強調表示してくれるから活用しようぜ
642 :
デフォルトの名無しさん :2014/03/02(日) 20:59:55.61
>>640 if ((newName != null) && (!newName.equals(""))) {
name = newName;
}
ぬるぽ
がっ
645 :
デフォルトの名無しさん :2014/03/03(月) 01:07:54.85
throw について質問があります。 throwというのは、throwがついたメソッドの処理を実行したときに、おきるエラー(例外)をthrow以下で記述した例外の場合、実行させた上で メインメソッドにその例外を投げる。 という認識で合ってますか?
・throwは例外クラスを投げる ・例外はtryブロックでcatchできる ・catchされなかった例外は上位スコープに投げられる ・チェック例外を上位スコープに投げる場合はthrowsで明示する 箇条書き最強
647 :
デフォルトの名無しさん :2014/03/03(月) 01:33:12.56
>>646 例えば
static void sleep1s() throws InterruptedException {
Thread.sleep(1000);
}
とあった場合、この sleep1sが呼ばれたときに、 Thread.sleepを実行しつつ
この例外をメインメソッドに投げてるのでしょうか?
これを正常に処理する場合は、メインメソッド側で、throws InterruptedException
もしくは、try catch文を設定する必要があるとこまでは理解してます。
・throwは正常系から異常系へ切り替える(例外を投げる)ために書く ・try-catchは異常系の処理を記述するために書く ・throwsは明示された例外を投げる可能性があることを伝える ・throwsの明示されたメソッドを呼び出しても動作が正常である限り普通例外は発生しない (上位スコープまで処理を一気に飛ばすための行儀悪いコードでもない限り)
void foo() throws HogeException { throw new HogeException(); } void print(int n) { System.out.println(n); } void hoge() throws HogeException { try { print(1); // 実行される foo(); // 例外発生でcatchへジャンプ print(2); // 実行されない } catch (HogeException e) { print(3); // 実行される、print(4)へ続く } print(4); // 実行される foo(); // 例外発生、hoge()の外に例外が投げられる print(5); // 実行されない }
void print(int n) { System.out.println(n); } void foo() throws HogeException { print(100); // 実行される throw new HogeException(); // 例外を発生、foo()の外に例外が投げられる print(200); // 実行されない } void hoge() throws HogeException { try { print(1); // 実行される foo(); // foo()から例外発生でcatchへジャンプ print(2); // 実行されない } catch (HogeException e) { print(3); // 実行される、print(4)へ続く } print(4); // 実行される foo(); // foo()から例外発生、hoge()の外に例外が投げられる print(5); // 実行されない }
hogeを嫌う人は すぐに命名が閃くアイデアマンの天才様なんだろ
Cシェパードなんだろ。
ハゲてんだろ
hageちゃうわ!
hoge
>>647 throwsは宣言でthrowは命令だ。
例外処理においてmainメソッドは何か特別な位置づけにあるわけではない。
なんだったらmainメソッドに例外投げさせることも可能。
SwingやServletの大半の処理はそもそもmainメソッドに由来しないし。
JavaFXのスレってないんでしょうか?
落ちちゃったね
JavaFXは個人的には興味あるがプライベートじゃなきゃ絶対出番ないだろうな
JavaFXには元本割れの危険がありますので自己責任でお願いします てか
guiのこれからはweb appとかhtml5になっていくんだろうね javafxは互換性はあまり気にしないでnative機能へのインターフェイスとしてのライブラリに特化すれば生き残れるかもしれない modelはモジュールだからそうでもないけど、viewの方は結局作り直しになるし作り直したほうがguiだけなら早く作れる
665 :
デフォルトの名無しさん :2014/03/03(月) 16:14:24.17
post flashを標榜するならflash程度のタイムラインなことは簡単にできなきゃだめなのに・・・。
これからも何も、とっくに
applet,javafxなどのクライエントものはよりnativeになるか汎用になるかの二極化で今のjavafxはそれに乗れてないってことですけど servletのjspとかテンプレートとかhtmlに依存したままで大きな変化もなくそのままだとjava servletも徐々に死んでいくと思いますよ
JavaFXはデータバインディングしようと思ったら model が POJO じゃなくなるのが糞だわ
javafxは、javafx2でpropertyをjava言語仕様に入れられなかった時点でオワコン路線が決定していた javabeansがawt frameworkの延長だったことが判明した今では、propertyかbindingリテラルがjava,javafx仕様に入らないなら、html5もあるしjavafxはいつまでも使ってもらえないだろうね
オワコンも使ってもらえなかったも何も、そもそも使ってもらえたことがないだろ Swingも目糞鼻糞
ああ、そうですね サンのころにあったjavafx.comのマーケティング用サイトが、オラクルに変わってから速攻で閉鎖されて、oracle.comのそっけないなところに転送されてましたね 殿様商売しかやったことがないオラクルじゃ何をやっても空回りばかりなのでしょう
>>668 モデルはPOJOでもいいんじゃない?
Observalパターン考慮してない程度の規模のPOJOライブラリなら
POJOとかに拘る必要ないし
javafxが出てきても何らの影響もなく当分androidの時代が続くのか
海外だと自作ガラスマブームの下地ができつつあるからわからんよ
まあ実際に組み込むにはボラクルにお布施しないといけないんですけどね
>>673 ん?どうゆうこと?
データバインディングしようと思ったら、
IntegerProperty data = new SimpleIntegerProperty();
とかいう感じで JavaFX ライブラリ特有のプロパティクラスを使わんといかんよね
JavaFX がいくら JavaSE にパッケージされるからってモデルがGUIライブラリに依存してるってなんか気持ち悪いんよ
POJO使う方法もあるけど、ラップしたりして無駄にクラス増えるしなぁ
多少ごちゃごちゃしてても普通のJavaBeansやPOJO使ってバインディングできる JFace のデータバインディングの方が好みだわ
.NETみたいにMVVMにすればいいんじゃないの まああっちはVM(ビューにバインドするモデル)もGUI専用のライブラリに依存しないけど
.NETなんかどうでもいいんじゃね このすれにはいらないけど
プロパティはライブラリでやるんじゃ無理 リテラルで言語サポートにしないとゴチャゴチャしすぎてただ面倒になるだけ
純粋に設計の問題だから関係ない MVVMはAjaxでも採用されてたりするし
ViewModelはPOCOじゃないしJavaFXのControllerがPOJOじゃなくても気にならない
>>674 AndroidのMediaPlayerとか、Javafxの開発会社を引き抜いて作ったから、fxの開発が滞ったとか噂で聞いた。
>>683 MVCならVのプロパティにバインドする相手はやっぱりMになっちゃうでしょ
PresentationModelかViewModelかPassiveViewだ
今のところオラクルがjavaを握ってるから義理で応援するけど、そうじゃなかったらガン無視でしょ 引き抜き戦略もダメージを与える一つだけど、javafxを出してもmobile全般だけでなくandroidにすら一矢報いることもできないんでしょ? javaのイノベーションが完全停滞する前に早くjavaを引き取ってくるところが現れて欲しい
>>681 リテラルで言語サポートって意味が分からん…
プロパティはリテラルじゃないぞ
chrome note bookを無料(または本体2000円程度の低価格)で配るって話、どうなったの? androidの時代がまだまだ続くとなるとchrome osの出番も当分来ないだろうし グーグルは、あの安っぽいメガネの話ばっかりで本命のchrome osの話が出てこないんだよね
言語仕様レベルでデータバインディングサポートしてる言語ってある?
何故ここで聞く
693 :
660 :2014/03/03(月) 23:09:21.12
>>661 ありがとうございます
スクリプト時代の情報も多いのでスレ欲しいですよね
>>690 らしいです
いやなんか話の流れで
>>681 って言語仕様レベルでサポートされるべきとかそういう事言いたかったんじゃないかと
バインディングって、単純に参照をリードオンリーインターフェースで包んで共有するのと 主側にChangeListner的なものを登録できるようにしておくのどっちがいいんだろ
だから、プロパティは表現がいくらでもあるからライブラリじゃ無理ってこと javafx bindingを見れば良くわかるけど、そういうのはライブラリ作成者の仕事じゃないから言語仕様に組み込むしか手はない どうせならjava10辺りでクロージャ・リテラルと同時にプロパティの生成・アクセスのことも考えてほしいね(そういうのを設計できる人はもうオラクルに居ないんだろうけど) ラムダは結局メソッド・ハンドラ表現になったからクロージャが入る余地はまだあるし
そっちかーい! しかしバインドって同じプログラム界の中でも意味多すぎだよな
>>697 ん?何が言いたいのか分からん。
そのページの「データバインディングの実装例」の中に言語レベルでサポートしてるのあるってこと?
言語レベルってどういう意味?
聞いてばかりじゃなくて、自分でもしっかり調べてみたのかゆとり?
Groovy とかだと、@Bindable つけるだけでプロパティの変更通知ができるようになるよな まぁ単に PropertyChangeSupport 使うコード生成してるだけだけど
馬鹿には無理
>>701 private bindable int data;
みたいな感じで変更通知が出来るようになるとかかな
まぁ Groovy の @Bindable も似たようなものかもしれんけど
自己紹介乙
言語仕様レベルって言うと標準APIも含まれる気がするけど、構文としてあるって意味で文法レベルってことなんだろうな。
効いてる効いてるw
その名称だと他言語のrebindableと勘違いしそう
通知とは違って
>>696 でいう参照の共有、
C++で言うとOptional<const T&> みたいなやつね
コンパイル時にバインディングするの?実行時にバインディングするの?
ゆとり死ね
お前が死ね
効いてる効いてるw
>>659 返信有難うございます。
結局、throwがメソッドの後ろについてたら、そのメソッドが実行されたうえで、例外が呼び出し元に飛ばされる。
のか、
そのメソッドは実行されずに例外だけが飛ばされるのか?どちらなんでしょうか?
これほど「馬鹿には無理」という言葉がぴったりな奴もいねえな。
>>717 いや、そのリンクレスでは私の質問に答えてません。
>>716 にyes or noで答えてください。
>>719 思いっきり答えてるだろwww
お前みたいな馬鹿にはプログラミングは無理だから諦めろwwwwww
throwsのことをずっとthrowって言ってるし ただの釣り質問だろ
てか、こういう雑魚は草ぼうぼうにしてないでさっさとスルーしろよ
馬鹿には無理
>>719 そもそも質問が曖昧だから返答のしようがない
>>724 え?お前も719と同じくらいの馬鹿だろ。
ゆとり死ね
>>720 いやいやww
質問した本人が答えてないって言ってるんだから、答えてないんだよ。
ちゃんと質問者の言ってることを読まなくてはならない。俺はプログラマになるつもりはない。
プログラマを指揮する側の人間だからだ。
ちゃんと質問読め。
またお前かw
俺様は自己解決しました
>>725 「throwがメソッドの後ろについてたら」が
「そのメソッドが実行されたうえで」にかかっているのか
「例外が呼び出し元に飛ばされる」にかかっているのかが曖昧なんだが。
どちらか一方の解釈に絞ることができると主張するなら根拠を述べてね。
ちょろっとプログラム書けば分かるような事を2ちゃんねるなんかで質問するとは 本当に頭が弱いんだな こんな奴にリアルで関わる奴は本当に可哀想
>>652 のhoge()を実行した出力結果から想像すればええねん
>>736 HogeExceptionが未定義なので実行できないといわれます
ダヨネー
hogehoge
>>727 お前がプログラマを指揮しなくていいから早く病院に逝け
741 :
デフォルトの名無しさん :2014/03/05(水) 03:00:40.74
swingで、入力フォームとかボタン配置のいいテンプレあるようなサイトってありますか?
「swing テンプレ」でググって出てくるやつで満足いかないなら諦メロン
743 :
デフォルトの名無しさん :2014/03/05(水) 05:27:37.40
> いいテンプレ 良いとか悪いとか人によって判断基準のことなるものを求める質問は糞だと思うよ♪
>>743 で?お前はちゃんと自分で調べたの?
何もしないで2ちゃんねるの住人だよりとかカスすぎだろ死ねよ
こんなところで質問する奴なんて例外なく人間の屑
JButtonの背景色とかLook&Feelに依存しててsetBackgroundなどで簡易にカスタマイズできない。
748 :
デフォルトの名無しさん :2014/03/05(水) 06:01:46.38
>>745 でじゃねえよしらねえなら黙ってろっつってんだよ
ほんと低能なんだな ここで阿呆な質問してる間に調べろよ ゆとりは死んだほうが人類のためだわ
このスレでまともな答え期待して質問する人って… もしかして知恵袋とかで質問しちゃうタイプの人?
751 :
デフォルトの名無しさん :2014/03/05(水) 06:05:21.92
質問スレだから質問してとうぜんだろ 知らないやつがしゃしゃりでてきて調べろを連呼するなんてカスすぎだろ死ねよ 知らないんなら黙ってろよ低脳
753 :
デフォルトの名無しさん :2014/03/05(水) 06:07:24.45
>>750 知恵袋を馬鹿にしてるようだが、知恵袋にはハイソな人間が多い
君とは世界が違うかもねw
754 :
デフォルトの名無しさん :2014/03/05(水) 06:13:05.18
>>752 役に立たなかった、何度も言うようだが知らないのなら黙ってろ
ググることしか能のない雑魚に用はない、二度と書き込むな雑魚
755 :
デフォルトの名無しさん :2014/03/05(水) 06:15:36.09
ググってそれらしい単語が載ってるところを見つけて知ったかぶりする雑魚が スレを荒らしてる
知恵袋にはハイソな人間が多い 知恵袋にはハイソな人間が多い 知恵袋にはハイソな人間が多い …クッソワロタ
俺が書き込んでないのに、俺の代わりになって書き込んでるのがいるわw 英単語みたいに、調べたい単語入れたら、ひも付された意味が検索できるようなやつです。
758 :
デフォルトの名無しさん :2014/03/05(水) 06:33:11.27
現状各企業のHPなどのwebサーバーで動いてるプログラミングってほとんどjavaって認識で合ってますよね?
ハイソって死語じゃね? いいおっさんがこんなとこで質問すんなよ ほんと惨めだな
760 :
デフォルトの名無しさん :2014/03/05(水) 07:10:27.59
Javaの話についていけないからといってどうでもいい言葉尻とらえだしたw やべえw このスレにはやべえやつがいるw
今どき Swing なんかやってる奴こそ時代についていけてないよな
ついていけてないも何も何の話も展開されて無くね?
763 :
デフォルトの名無しさん :2014/03/05(水) 07:14:57.19
万事この調子じゃらちがあかないなあw
Swingの時点で-100点からのスタートなんだから細かいこと気にするだけ無駄だな
765 :
デフォルトの名無しさん :2014/03/05(水) 07:18:05.23
>>762 >>741 ハイソがどうとか時代がどうとかぐだぐだいってる暇あったら
得意のグーグルで見つけてこいよ、俺を納得させてみろよ
こいつ自分の事叩いてるの一人だけだとでも思ってるんだろうか
ハイソックス?
こんなとこで質問しても埒が明かないから、 ハイソ()な連中の集まるお気に入りの知恵袋で質問してこいよ
>>760 ハイソをつつかれそんなに悔しかったのかよ
言葉もテクノロジーも時代遅れなお前にはプログラム触る資格なんてねーよ
無意味な糞プログラムなんか作るのやめてさっさと肉体労働に励めカス
ゆとり死ね
あるクラス内で定義された非静的インナークラスの「インスタンス」からアウターの参照を得る方法ってあるんでしょうか? インナークラスの実装時に、メソッド内でOuterClass.thisで得るという意味ではなく、 ActionListnerのようなものをメソッド内で匿名インスタンス化して変数に格納したあと、 その変数からアウターの参照を得る、ということです。 JVMが理解してるということなのでリフレクションでどうにか取得できるとは思うのですが・・・
interface HogeListener{ public void handle(OuterClass c); }
普通にpublic OuterClass getOuter(){return OuterClass.this;}みたいなゲッターを 件のインナークラスに作るのじゃダメなの?
>>773 一応、ミスできないようにしたいっていうのがありますね
nullや全く関係ない参照を返せちゃうと困りますし
privateな情報にアクセスしたい動機があるんなら 当然セキュリティの突破方法はわきまえているんだよな? Class#getDeclaredFields()使って 身に覚えの無い名前のprivateフィールドに不正アクセスすればいい。 身に覚えの無い囲みthis参照の名前の生成規則はコンパイラ実装依存。
776 :
デフォルトの名無しさん :2014/03/05(水) 19:17:25.04
JavaAppletの資源を使いたいのでJavaScript(HTML5)やFlashでJVMをエミュレートしてるものってないですか?
>>774 >>773 がnull返すはずないし、
囲みクラスの名前が変わればコンパイル通らないはずなんだが
すまん。なんでString ってインスタンス生成しなくておkなの?
自己解決しました
781 :
デフォルトの名無しさん :2014/03/05(水) 23:13:46.18
今も巷でよく見かける、プロパティしかないJavaBeanって間違ってるよね? beanの本来想定された使い方は、いわゆるMVCのM、モデルのはずだったけど、 なんだかんだといろいろ悲しいことがおこってgetter/setterだけが定義された 頭悪いクラスが大量生産されちゃって蔓延った、って認識で、あってる?
>>780 すいません。初心者なので、それだけではわかりません。
ゆとり死ね
>>782 は?自分は何もしないで無償で一から十まで全部教えてもらえてもらえるとでも思ってるの?
自分では何を調べてどうわからないんだよ
ゆとりは死ねよ
785 :
デフォルトの名無しさん :2014/03/06(木) 00:53:45.41
while(i < num2) でnum2=5だったとき、iが4まで繰り返すという認識であってますでしょうか? 問題集を解いてるのですが、回答が 5まで繰り返すとあるのですが・・・。 ちなみに<=の記号ではありません。 誤植情報としては載ってないようでした。
Stringクラスは使用頻度が高いから明示的にnewしなくても勝手に内部でnewするように設計者がした
num2=5なら i が5になったらwhile内の処理は行われない
あとリテラルはJVMさんがインスタンス使いまわすようにした。
>>786 だから?
質問スレだったら自分では何も調べないで聞くだけでいいってか?
そんでこんな場所で聞いたことを鵜呑みにするのか?
お前みたいな馬鹿にはプログラミング無理だから諦めろカス
assert "a"+"b" == "ab" String a = "a"; assert a + "b" != "ab" これなんでや、下の assert は StringBuilder が使われるからってのはわかるけど "a"+"b" はStringBuilder 使われずに、コンパイル時にリテラルの"ab"と見なされるんか?
コンパイラが無駄を最適化するから。コンパイラの実装次第。
基本的なことも知らない奴がなんで質問するのに命令口調なんだ? いくらここが糞スレでもそんな生意気な奴に教える筋合いはねーぞアホ
795 :
デフォルトの名無しさん :2014/03/06(木) 01:35:34.45
>>785 > while(i < num2)
> でnum2=5だったとき、iが4まで繰り返すという認識であってますでしょうか?
全く違います。 while () は ()かっこの中が 真(true) の間だけ処理を繰り返す構文です
「 i < num2 」 は 「 i が num2 未満 」 という条件式です。 条件式は式の計算結果として真(true)か偽(false)の値を返します
num2=5 のときは「 i が 5未満 」と言う意味です。iが5より小さい値なら真になります
しかもStringBuilderとか何言ってんだこのアホは 死ねって書いてる奴は荒らしだろうけどよ 久々に覗いてみたら相変わらず病気の奴が住み着いてんのかこのスレは
スルーすりゃいいだけなのに、どっちもガキっぽいぞ
>>797 それを理解できないならお前こそ病気だわ
コンパイルしてクラスファイル読んでみろよ
new java.lang.StringBuilder
って書いてあるから
病気とは言わんが、String の + 演算が 内部的に StringBuilder 使って処理されるってのは基本だわな わからないなら阿呆なレスしないほうがいいぞ
そんなこと知ってるのに等価と等値の違いもわからんとかお前こそ病気だろ 本人かどうか知らんけどな あと基本でもなんでもないわアホ
>>792 リテラル同士の実行時演算とか意味あると思ってるの?
自分が知らない=基本じゃない 恥ずかしいやつだな
>>803 むしろ assert "a"+"b" == "ab" のようなリテラルしか出てこない演算にエラーが出ないのがおかしい
>>804 そうじゃないコンパイラがあるなら教えてくれ
cat
>>809 うん分かってるからそうじゃないコンパイラがあるのか聞いてるんだが
それを言うなら、そもそも
>>792 のコードが通ること自体実装依存だしな
>>810 > そうじゃないコンパイラがあるのか聞いてるんだが
今あるかどうか論じることに意義を感じない
ある段階でコンパイラの仕様が変更されてStringBuilderが使われないようになっても仕様上は問題ないという論点だから…
> そもそも
>>792 のコードが通ること自体実装依存だしな
ん?変なこと言い出したぞ
どういう理由でそうなるのかkwsk
> Java アプリを Mac OS X 用にネイティブ化する Excelsior JET
リフレクションとか含めてネイティブ化できるの?
JREで提供されている機能をすべてエミュレートすれば理論上はできるだろ
リテラル同士の演算がコンパイラによって最適化されるかどうかが仕様で決められてるわけじゃないだろ
>>815 http://docs.oracle.com/javase/specs/jls/se7/html/jls-3.html#jls-3.10.5 ここ読め
class Test {
public static void main(String[] args) {
String hello = "Hello", lo = "lo";
System.out.print((hello == "Hello") + " "); // true
System.out.print((Other.hello == hello) + " "); // true
System.out.print((other.Other.hello == hello) + " "); // true
System.out.print((hello == ("Hel"+"lo")) + " "); // true
System.out.print((hello == ("Hel"+lo)) + " "); // false
System.out.println(hello == ("Hel"+lo).intern()); // true
}
}
俺もちょっと勉強になったわ
package other; public class Other { public static String hello = "Hello"; } コレ忘れてた
> or a similar technique
>>820 うん。
"may use"だし"or a similar technique"だし、この状況で「StringBuilderが基本」とか言い出す奴は妄想も大概にしとけと。
>>819 いや合ってるよ
System.out.print((hello == ("Hel"+"lo")) + " "); // true
この部分で、
>>792 が実装依存のコードじゃないって分かるだろ
>>819 の部分は、「String の +演算でStringBuilder 使うってのが基本」って主張を補強(?)する材料だろ、別の話だよ
まぁStringBuilder 使うってのが実装依存であることに変わりはないが
まぁでも内部で StringBuilder 使ってるって知らない奴は String の + 演算で新しく String が new されてくのも知らんのだろうけどな
フリーのソフトかと思ったら糞高い優良ソフトだった
何のステマだよ
>>795 num2=5 のときは「 i が 5未満 」と言う意味です。iが5より小さい値なら真になります
ってことは、
iが4まで繰り返す ってことだろ?
iが整数ならな
StringBuilderも割と新顔だからな。Enumとデビュー時期が一緒だったっけ?
829 :
デフォルトの名無しさん :2014/03/06(木) 11:02:27.28
SE6とSE7では言語仕様自体が違うというのをよく聞くんだが、 表面的には新機能が追加されてるだけのようにしかみえないんだが、誰か詳しいとこを教えてくれ。
>>830 サンクス
ただ、わかる奴が一言答えれば1秒で確認が終わる。
自助努力しないやつはプログラミングしない方が人生幸せになれるぞ
>>832 自助努力で1時間費やすのと、1分で解決するなら1分で解決するソースを探す。俺は後者を選ぶ。
それは現実でも変わらない。
教えない先輩がいるなら、パワハラで訴えればいいだけ。
>>833 自助努力でググれば1分で解決するのに
怠けて2chで質問するから回答が付くまで1時間以上要したわけですが。
教えない先輩とパワハラって全然関係ないし インターネットなどの調べる手段を封じていればそれはパワハラといえるかもしれんが
ゆとりってのは脳味噌を何に使ってるのか分からんw
ゆとりは関係ない 人間性の問題
String + はStringJoinerに変わるんじゃないのか多分
果たして自分が教える側に立ったときどうなっているやら
>>826 iがどのように振る舞う変数か分からない
iが4までというとiの値が増加してく変数であると話を限定しすぎている
質問文の while(i < num2) からは i がどのように変化する変数か分からない
質問スレで質問する奴にいちいちつっかかる奴の人間性も大概だが
>>840 こんなカスが教える側になれるわけないだろ
こういう奴は一生教えられる側だよ
そして何も学ばない人間のクズ
まとめてみた。こんなにあったのか。 Enhancements in Java SE 7 ・2進数リテラル (0b01001101) ・数値リテラルに _ (1_234_567) ・switch で文字列 (case "abc":) ・ジェネリクスで型推論 (List<String> list = new ArrayList<>();) ・可変引数メソッドの警告を改善 (?) ・try-with-resources (finally なしで自動 close) ・複数の例外型をまとめて catch (catch (IOException|SQLException ex) { ... }) Enhancements in Java SE 6 なし Enhancements in Java SE 5.0 ・ジェネリクス、その他いろいろ
そういうのはブログにいくらでもあるだろうレス乞食
AutoCloseableも7からだったような 慣れないから使ってないけど
もうすぐ(3/18だっけ?)Java 8が出るというのに 今時7の機能で盛り上がるとか おめでたいな
↑をアボーンするにはどうしたらいいの?
「ジャバはオワコン」をNGワードに設定して、連鎖あぼーんのチェックを入れる
ありがとう
じゃあ Java 8 の新機能。 ・ラムダ式 (x -> x * 2) ・メソッド参照 (System.out::println) ・@FunctionInterface アノテーション ・interface に static メソッドやデフォルトメソッドを定義できる ライブラリもいろいろ追加されてるけど、個人的には String.join が嬉しい。 あと、日付と時間の扱いは、今度こそ楽になるのかなぁ。
Lombokの@GetterでCollectionがnullを返すのを辞めさせたいんだが Effective Javaでもnullはあかんやろ言ってるんだが
結局ラムダと相容れないチェック例外の対策は特にないままなわけだけど、 一体どうなるんだろうな ついにUncheckedIOExceptionなんて禁じ手も正式に導入されちゃったし、 これから壮絶なチェック例外戦争が繰り広げられそう
> ・メソッド参照 (System.out::println) これいるのか?
>>781 beansはコンポーネントモデルだからMVCは関係無い。
beansの必須要項はnullコンストラクタとアクセッサだけ。
プロパティしかもたないbeansもある。javadoc読め。
javaのguiとかclientって100パーセント終わってるだろw しかもwindowsしか使えない雑魚にとってjavaなんかなおさら必要ないだろw 雑魚はjavaなんか勉強しなくていいからc#一生やってろw
>>781 トランザクションスクリプトが便利すぎて貧血オブジェクト大発生になったんだろ
データベースアクセスをBean内に埋め込むわけにもいかんし難しいところだな
チェック例外問題は泥沼確実 void hoge(Reader reader) throws IOException { try { hage(() -> { try { return reader.read(); } catch (IOException e) { throw new UncheckedIOException(e); } }); } catch (UncheckedIOException e) { throw new IOException(e); } } JCPの偉い人達はまさかこれがベストプラクティスだとでも言うつもりなんだろうか
●JPA情報処理推進機構:情報セキュリティ 脆弱性対策情報収集ツール ↑ここでOracle Java SE Runtime Environmentにおける脆弱性が リストアップされたんだが、どぉしたらいい? java公式では最新のバージョンです。と出て途方に暮れている処なんだが…
>>861 何その頭の悪いコード
実行時例外に変換するってことはそれを受けるのは何がしかのコントローラだろ
>>864 いったん実行時例外に変換しないならFunctionalInterfaceがthrows IOExceptionとして宣言されてなきゃいけない
だけど、ラムダを引数にとるメソッドって例えばコレクションに対する操作みたいな一般的なメソッドが多いのに
ラムダが投げる可能性のある例外をそのメソッド側で決めてしまうことは不必要に汎用性を大きく下げてしまう
その対策として当初は例外透過という概念を導入しようとしてたんだけど、結局流れて見切り発車というわけ
>>861 そういうのはラムダでは解決できないし、ラムダでも議論を省いてる
BGGAの議論で詳しくあるけど、それも含めて解決しようとしたからラムダ策定に7年以上も無駄にした
正式にはクロージャ導入待ちになるけど、この辺りに興味があるならBGGAとステート、他には継続、js functionリテラルとjs objectリテラルの違い、なんかを勉強するといい
javaでは、非同期実行のコルーチンとか、javabeans次世代propertyとか、クロージャが必要に場面が増えていくのかなと思う
その頃にはthrows ExcetionなメソッドとRuntimeExceptionへのラップが氾濫して 取り返しの付かない状態になってるよ
ラムダ、ラムダってλ=波長に使う変数 としかしらんしクロージャもクローザー?てな具合 誰か天才さん3行で頼む
ラクダかとオモタ
ε δ γ
コーディング規約の使用禁止機能の常連になるだけだから知らなくても大丈夫だよ
馬鹿には無理
LombokってIterableとかに対応してないのかよ今更Collection返すとかねーよ
おまいらのレベルが高すぎて泣ける
879 :
デフォルトの名無しさん :2014/03/07(金) 00:52:57.19
乱数が8192を引くまで無限ループするプログラムを書きたいのですが public static void main(String[] args) { System.out.println("GODを引くまで無限ループします"); while (ans!=8192){ int ans=new java.util.Random().nextInt(8192); System.out.println(ans); } } } これだと変数ansの宣言がwhile(ans よりも後になっているせいでコンパイルエラーがおきます 最も簡単な解決方法を教えて頂けませんでしょうか。宜しくお願い致します。
初心者本からやりなおせ
>>879 突っ込みどころ多すぎワロタ
お前みたいな馬鹿にはプログラミングは無理だから諦めろ
884 :
デフォルトの名無しさん :2014/03/07(金) 01:09:10.38
これエラー直しても一生ループ抜けないな
ゆとりってバカだなw
887 :
デフォルトの名無しさん :2014/03/07(金) 02:14:23.51
頭が良かったらこんな時代に生まれてきてない。
頭悪そうだなおまえw
「頭が良かったらこんなすれに質問しない」だろ
釣り質問にまたしてやられたのか
893 :
デフォルトの名無しさん :2014/03/07(金) 06:40:24.05
swingでもawtでもいいんですが、 jbuttonのイベントをfor文で実装ってできますか? 例えば、問題集とかで、問題がでてきて回答が出る。 その後 ボタンを押したら、違う問題がでてきて。という実装です。
>>893 問題が10問あったとして、
for (int i = 1; i <= 10; i++) {
i問目を表示;
ボタンが押されるのを待つ;
if (正解) {
当たり;
} else {
外れ;
}
}
みたいに書きたいってことだと思うけど、ちゃんとイベント駆動で書かなきゃ無理。
java8がリリースされても日本語javadocの方はまた数年待たされるのかな 殿様商売が専業のオラクルから見れば日本市場なんて成長の見込みもないしもうどうでもいいのかもしれないけど
むしろ日本語だけ特別扱いやん 英語以外の公式javadocって日本語だけなんだからさ
オラクルにとっては、ニッポンはオワコンってことかw
日本がオワコン☓ 英語も読めないプログラマがオワコン○
あの程度の英語も読めないバカジャップはどうせ新しいものに飛びついたりしないから問題ないんだよ
日本ではまたマイクロソフト製品が蔓延するのか ジャバの勉強なんてとっとと止めてC#をやるしかないな
ジャパニーズドカタが一斉に新バージョンに飛びついたりしたらえらいことになるから 枯れるまで道を塞いでおくのは正しい
仕事でもいまだに1.4使うぐらいですし
Java8は新API少ないしJavaDocは別にいいんじゃね? でもFX8は欲しいからそこだけ重点的に
オラクルもこういう時に日本人コミニティーに頼れば主要なところは翻訳してくれるのにw オラクルってところは殿様営業しかやっとことないからこういう時に要領悪いのが露見するよねw
どういう金の流れで日本語訳なんかわざわざ公式で用意されるんだ?
日本人は何につけても羽振りを利かせるお得意さんだからどんな些細なことでも良くしておかないと
ジャップは言われるままにサポートをゴッテゴテに付けてくれるからな 良質なカモだよ
英語読めないくせにJavaFXとか自殺行為だろ ただでさえ誰も使ってないのに英語ソースを利用しないってありえないわ
棒子が沸いてるな
javadoc読む程度の英語スキルとプログラマー適性って相関あるんじゃね? フレームワークのAPIやら諸々検索って結局英語読む必要あるから、英語拒絶してる奴は成長できない と、考えると馬鹿除けにはjavadoc日本語版を作ってもらわない方が良いのかもしれない
日本語訳に金を使うんじゃなく 日本人の英語教育に金を注いだほうがいいよな
馬鹿には無理
頭の悪い奴がイメージする頭のいい人が英語読める人 英語喋れるようになってから書き込めよ恥ずかしい奴らだな
Hey guys
Woa! What's jap!
I can English. You guys are too fulish
Jimさんがここに来たんか?
who the hell is Jim?
922 :
デフォルトの名無しさん :2014/03/08(土) 12:17:09.89
awtのsetLabel()に該当するスイングのメソッドって何ですか?
setText()とエスパー
924 :
デフォルトの名無しさん :2014/03/08(土) 12:43:27.65
swingを今やってるんですが、 JTableでセルを編集中に別のコントロールを押すと編集中のまま、 移動してたんで、 table.putClientProperty("terminateEditOnFocusLost", Boolean.TRUE); を入れて解決したんですが セルが空白のまま、別コントロール押すとnullpoが発生します。 いろいろオーバーライドとかやっても改善しないんですが みなさんはどう解決してますか
パネルとラベルって並存できますか?
できる
>>909 You get a suicide bomber on looking for a new JavaFX unless you've got English web sites.
Nobody expects the newbie with no a usable area, and I don't understand that you don't see reusable English resources for the newbie.
最近データ構造(アルゴリズムは除く)の実装をやってるんですが、参考になるような興味深いサイトないですか? array list (dynamic array), linked list, hash tableなんかはjava.utilにあって、全く同じものを作っても使わないので、それとは違うデータ構造を実装しています。 third party collections (JEP 108)がjava8からドロップしたのは個人的には残念でした。 複雑・最新・高速なのを求めておらず初歩的なのでいいので網羅しているような興味深いサイト(日英可能)をご存知でしたら教えて下さい。
大学の図書館でも行ってこい
脆弱性の修正まだ?
数年前に勉強がてら作ったのがあるんですが、最近また興味持ったんでやってるんです。 大学図書館は学生証がないので入れませんが、というか今の時代、図表もなく動きもない教科書とにらめっこしながら実装するのは正直面倒で苦痛です。 初心者ではありませんが、binary treeのremove nodeは少し面倒だったなという程度の初級者なんですが、ご掲示のほどよろしくおねがいします。
公立の大学図書館なら誰でも入れるよ
javaすれじゃなくて一般質問スレで聞いてみます
本買えよーーー本買えよーー本買えよー
>>934 奥村先生の本を持っていて、これでほぼ網羅してるので教本は必要無いです。
ただ、古典的なものが多く初歩+αであって、マルチコア(並列)・(分散)ネットワーク・ハイパーグラフ(集合)など現代的なものがないので少し古く、各アーティクルも簡単簡潔なので図表も少ないんですよ。
データ構造だけを網羅的に分類して解説してるサイトが希望なんですが、ご存知ないですかね?
>>937 偉い、それを後出し言うのだよ、巨大掲示板では嫌われる、覚えておいてね
939 :
デフォルトの名無しさん :2014/03/08(土) 18:34:01.08
>>938 巨大掲示板では嫌われるなんて情報は後出しだなあw
>array list (dynamic array), linked list, hash tableなんかはjava.utilにあって、全く同じものを作っても使わないので、それとは違うデータ構造を実装しています。 >複雑・最新・高速なのを求めておらず初歩的なのでいいので網羅しているような興味深いサイト(日英可能)をご存知でしたら教えて下さい。 矛盾してるが
融通の効かんドメイン特化なデータ構造なんか網羅したって つまらんだろきっと。 グラフに書き直せない構造はJavaでもたぶん無理。
Tomcatがオートリロードで無応答になる症状相変わらずですが 何か対策とかありませんか? オートリロード無効は無しで… 8.0系で改善とか期待できないのかな…
944 :
デフォルトの名無しさん :2014/03/08(土) 19:29:01.98
>>911 It always seems to me that it has a correct stuff to the direct relation between a skill of reading methods of the javadoc API in English and an aptitude for doing programming as the programmer.
Those who reject some English stuff can't get a growth to the win because of needing to read much English stuff for using a framework API or finding a knowledge.
Thus I suggest that Oracle do not translate the javadoc API to the Japanese language for the guys that have an inability to programme at living in Japan.
946 :
デフォルトの名無しさん :2014/03/08(土) 20:08:05.42
javaドカタジョークです
英文を読む力と、英文を書く力は別物です
>>945 驚くほど流暢な英訳だけど海外と仕事してる人とか?
>>941 教本とか知識が欲しいわけではなく、現代的なデータ構造を知りたいので、そういうウエブのサイトないですかね?
>>942 グラフはデータ構造というより現代的なアルゴリズムに近いのであまり気が進まないんですが、グラフや順路の方もうすこし後に気が向いたらやるつもりです。
目的は論文用とかではなくて、問題についての深い理解が必要なときの現実的なソールブで、こういうの現代的なデータ構造は必須になってくるんですよ。
興味深いサイトご存知ないですかね?
Java8でいくらかマシになるんだろうけど、まずMapとかのメソッドがひどすぎると思います というかもうconstはJavaでは実装されないんですかね?
必要だと思われてたらJavaSE5あたりで実装されてるだろ こういう勘違い野郎はC++に行くもんだと思ってたわ
>>912 Oracle had better cost not to translate the API to Javanese but to teach the style of Java Life at many English tutorials for Javanese people.
955 :
デフォルトの名無しさん :2014/03/08(土) 22:45:22.61
Javaのチュートリアルページも日本語化きぼんぬってこと?
馬鹿には無理
957 :
デフォルトの名無しさん :2014/03/08(土) 22:49:36.94
プログラミング超初心者で6年前の本使ってJava勉強し始めたんだが 昨日BeanShellで動かせてたプログラムが今日は動かせない Parser ErrorだのEvalErrorだの言われてしまう どう質問していいのかもわからん ボスケテ
>>959 昨日と今日のプログラムが違うんだろ。
最初はちゃんとやるが、二度目になると適当というのはよくあること。
Groovy使おうぜ 時代はGradleだ
お決まりの時間測定ですが、なんか1分81秒とか 62秒という結果がでてくるのですが、この設定で何かまちがいありますでしょうか? long start =System.currentTimeMillis(); long end = System.currentTimeMillis(); long time = end - start; println(time / 60000 + "分" + time / 1000 + "秒")
timeの値を調べて手計算してみれば分かる
ああいいや誤解を生む まず合計を秒にしてから分と秒に分けろ
>>962 分は忘れて秒だけ求めてみろ。
そして見比べてみろ。
>>964 いや、もちろん同じ結果になるだろうさ。でも手計算でやれば何がおかしいか分かると思ったんだが。
じゃあ簡単にして、timeの精度を秒単位にした場合にどういう式を書けばいいか考えてみればいい。
time=81とすれば、1分21秒になるはずだよな?
>>962 まずtimeに自分でlongを代入して見るのが、正しいデバッグじゃないか。
いや、手計算したんだから、わかっているのか…。
時間の単位変換もできないとかゆとりすぎだろ 小学生レベルの文章題も解けないのにプログラミングなんかするなよ お前みたいな馬鹿には無理だから諦めろ
馬鹿には無理
バカにはムリw
バカにはムッツリ
釣りに真面目に答えてる
>>967 >>968 ここあたりのほうが余計滑稽だろ
>>965 とかは、最高に笑えるw自分をマスターか何かと思ってんのか?
オビ=ワン・ケノービか?
public static final String constant="a"; クソ長いのはコンスタントは使うなってことですか?
ヒント:好きにすればいい
さんすうのせんせいのきぶん
hoge
オビ=ワン・ケノービ?(笑)
981 :
959 :2014/03/10(月) 11:09:17.53
>>960 返信ありがとう
ファイルに保存したプログラムで、
つまり昨日のプログラムと今日のプログラムはまったく同じだったんだ…。
でも960氏の言うとおり今日は何かが適当だったのかもしれないから、
もう一度本の内容を最初から改めてみるよ…。
static ってかくのとかかないのどっちが速いの? 再利用性とか全く考えずに簡単な試験プログラムかくときに 全部 static にするのとクラスのインスタンス作ってメンバ変数、関数にするのと 実装上どっちが速いの?
同じです
そうなんですね じゃあ気にしないことにします あと final とか private とかつけとくと速くなったりします?
速くなるかどうかで考えてるならC#をやった方がいいですよ
あ
い
ドカタ専用言語選択しといて高速化って
ほ
実行環境速くした方が早い。
Javaは速いよ 実質的にサーバー専用に作られてるから、Swingとか使って遅いってのはそもそも使い方が間違ってるだけ
そりゃSQL叩いてなんちゃらビーンとかにデーター突っ込んでちょいちょいと計算してHTML表示するだけのプログラムなんて たいがいの言語でそこそこスピードでるわ
サーバーの方でも簡単なことでも手順云々面倒くさすぎてもうすぐ洋なしになるよ
>>996 サーバって聞いてその辺りしか思いつかないなら黙ってろよ素人w
かーちゃんのためならーえんやこら
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。