Java入門・初心者質問スレ Part.6
■ このスレッドは過去ログ倉庫に格納されています
>>473
PythonのmatplotlibはAnacondaだけ入れてスクリプト2,3行実行するだけで簡単にウィンドウが開いてグラフが出るよ。
この際だから覚えておくといいけど、基本的にJavaはWebアプリケーションを作るのに使われていて、
クライアントPC上で動かすものを作るのには全く使われていない。 トリ割れでも、
2年前から俺の行動を真似た奴は一人も居ない現実が有る。 馬鹿だから使いこなせないだけでSWTで何でもできるけどな >>475
Androidのスマホやタブレットをお忘れなく。 設計思想としてはどんなマシンでも動くクライアントアプリケーションが目的っぽくはあるけどな
最初からWEBアプリケーション目指してた訳ではないだろう Windowsで問題なく開発できて、UNIXで運用できて、
開発者にも特にUNIXの知識がいらないという点が、業務ドカタ開発には最適だったということだね
結果として、作ったもののポータビリティではなく、作る人間のポータビリティが評価されたわけだ 誰も回答できなくて挙句違う言語使えとか笑える
知らないなら黙ってればいいのに javaFXもコードとUIとスタイルの分離がしやすくてわりと便利
全然流行ってないけどな guiで流行っている言語ってなんですか?
やっぱりwindowsが多い世の中なので、C#とかなんですか? 今はElectron(HTML/JavaScriptでGUIアプリを作れるプラットフォーム)が流行り
クロスプラットフォームだし 知識は無いけど偉そうにしてる人しかいないから
初心者なら親切な人が多いC#がおすすめ java8では非同期処理に使うテクノロジーってなんなの?
ThreadクラスとコールバックとRxがあるってのは調べた
当方C#erだからTaskやasync awaitと類似のものがあると嬉しいんだが無いのかな? CompletableFuture
でもJavaではスレッドを積極的に使うのがわりと文化的に普通で、C#のような継続渡しを使った非同期プログラミングは一般的ではない
CompletableFutureでやろうとしてもC#みたいに○○Asyncメソッドが沢山用意されてるわけじゃなくて、全部自分でラップしてやる必要がある
そして、ラップしようとしてもJavaの既存のライブラリはスレッドをブロックするメソッドしかないケースが多いので
supplyAsync(Task.Run相当)だらけになりがちで、実質あまり意味がない(結局スレッドを消費する)
はっきり言って無駄な労力だから諦めてスレッド使うことを強くお勧めする。 雪風「○○○きもちぃい!!○○○きもちぃい!!○○○きもちぃイィのぉ〜〜〜」
雪風「マジこの○○○神なの!?!」
「○○○良い、○○○良い、○○○イク、○○○イク」
「○○○ イっちゃうのぉ〜〜〜〜〜」
雪風「見ちゃらめぇなのぉ〜」
雪風「見て欲しいの欲しいのぉ〜〜〜〜」
雪風「○○○イっちゃう!!、○○○イクiku、」
雪風「○○○最高なのぉ!!! マジ神なのぉ!!!!」
雪風「見てっ!!!」「見ないで!!!」
雪風「だらしない○○○見て!!!!」
雪風「○○○イクノォォォォォ」
雪風「頭の中がイッチャてるのぉ〜〜〜〜きもちぃぃのぉおおおおおおおおおお」
雪風「規制されちゃうのぉ!!」
雪風「○○○規制されちゃぅのぉ!!?」
雪風「こんな、○○○見た事ないのぉ!!!」
雪風「奇声が気持ちぃぃのぉおおおおおおおお!!!!!!???」 スレタイ読めませんかぁあぁあああ??
スレを荒らすの止めてくださっぁーーいwwww
あなたが反応しなければいいだけです YOおおwwww いい加減にしろ! YOOOおwっwぉおおおwww
ここはJavaの質問スレだっての
お前等が来るから成りすましもふざけてここに書き込むんだよーーんwwww
お前が反応しなければ飽きてそのうち居なくなる
反応するな書き込むな wwwww
バカには無理だろうけどなwwww おちんちん が 擦り減るから コードが書けませーーーんwwww。
40歳までには就職するんでぇええええ ぢ(だ)ぁいじょうぶでしゅうううぅううwwww
おちんっぽっぽ
おちんっぽっぽ ぶひいいいいいいいいいいwwwww なーーーっつってwww つっちゃったぁあwwwww
なーーーつっってwwww つっちゃったぁあああwwwww
ワン ワン! うぇわん ぶひいいいいいいいいいいwwwww 発達障害ですから障碍者枠で就職できたらと思います。
そうですかねえ?
いや、配慮が行き届いた世界になればいいなあ、と。
あんたがたの言い分を借用すると、もともと重症だったんじゃないの?
上にも書いたけど、作業所に通い始めていろいろ得てる。辛さも含めて。 AndroidでMainActivityクラスで実装で悩んでいます
WebViewクラスの変数をメンバ変数として持つべきか、
それとも
メソッドで呼び出すようにして各メソッドからアクセスする際、そのメソッドをコールして呼び出すべきか。
Webアプリ等の場合だとスレッドセーフな設計を求められるので、メンバ変数は極力使わないのがセオリーでしたが、
androidはよくわからないので、今のままでいいか、それとも修正すべきか迷っています >>510
Android用のスレがあるからそちらで聞いた方がいいと思う。 教科書で出てきたんですけど、
for(int i = 0; i < array.length - 1; i++) {
for(int j = i + 1; j < array.length; j++) {
if(array[i] < array[j]) {
swap(array[i], array[j]);
}
}
}
みたいなソートってなんていう名前のソートですか?
バブルではないのは分かるんですが。。。
今手元に教科書無いのでうろ覚えで書いたので間違ってたらすいません。 誰だって調子が悪い時ぐらい有るだろ。
迷惑被った奴には悪いと思うが、そう言う事だよ。 >>518
そういう事ってどういう事だよ?人間初心者 すみません。オブジェクトと、フォートランなんかに出てくるサブルーチンや関数の違いがよくわかりません。どなたか教えてください。
また、クラスだけあればいいと思うのですが、なんでわざわざコンストラクタに同じようなことを書くのでしょうか。 >>522
質問の意味は分からないが
全部staticにせよとの天啓 >>522
オブジェクトとサブルーチン関数は全然違う。
まずはオブジェクトってのは物に例えてプログラムを見るって感じ
自分説明下手なので調べてくだされ。
コンストラクタに同じ事を書くってのが良くわからん・・・?
コンストラクタはインスタンスを作る時の処理。
この回答でいいかな?インスタンスは・・・クラスから作られたオブジェクト。
これも調べてくれw Objectクラスに備わっているメソッドについて質問です。
自分独自のクラスを作成したら、基本的には必ずtoString()、equals()、hashCode()
メソッドはオーバーライドするものなのでしょうか? >>526
toStringは任意
equalsやhashCodeのオーバーライドは必要がない限りはしてはいけない
equalsを実装したクラスを継承すると置換原則が壊れるからな Kotlin の、Data Class では、
何もしなくても、その3種の神器が備わっている >>522
何から考えるかの違い
オブジェクトを中心に考えると上手く行きそうなドメインではオブジェクト指向をサポートしているJavaを使うのが有用 >>522
データとそれを処理する関数などのプログラムを一括りにしたようなのがクラスだよ。
コンストラクタは主にそのデータの初期化をするための特別なメソッド。 >>527
分かりました。ありがとうございました。 サブルーチン・関数は、一連の処理・手続き。
オブジェクト指向よりも、前の時代の話で、オブジェクト指向とは関係ない
一方、メソッドは、オブジェクト指向での関数のこと。
クラス内で定義されている、そのクラス・オブジェクトに紐づいた関数
つまり、クラスには、関連するデータとメソッドが、パッケージ化されている。
つまり、クラスとは関連しているかどうかに、意識の重さを置いている オブジェクト指向がサポートされていない言語でも工夫するとオブジェクト指向的なプログラムは作れないわけではないけどな。
例えばC言語なら構造体作ってそれのメモリ確保してからそのポインタを受け取ってそこにアクセスする関数作ればなんとなくオブジェクト指向になる。
ただ、プログラマがそうなるように書かなきゃいけないから大変だけどな。 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない 119 名前:デフォルトの名無しさん 2018/01/21(日) 14:57:36.77 ID:douC00jU
なんか定期的に発狂するよねコイツ、発狂したくないのなら大人しくしてりゃいいのに。
そろそろさ、能力も無い人間に人権なんてないことに気がつこうよ。
121 名前:デフォルトの名無しさん 2018/01/21(日) 15:07:39.58 ID:M17uklSK
能力無いなら無いなりに相応しく慎ましい生活ってのもあるだろうに高望みしかしないんだよな
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない
能力も無い人間に人権なんてない >>534-539
Javaと関係無いレス連投してんじゃねえバカが 現場でカラム数が300もあるようなテーブルを扱っていて困っています。
何処かにこれらのカラム名の文字列をArrayListか何かで保持して
「変数名/メソッド名命名」をループか何かで自動化したいのですが、よい
方法はありますか?
このテーブルを制御するクラスにはフィールドを300も定義しなければ行けないんでしょうか。
テーブルの1カラム名はものすごく長く、変数名としては非常に使いにくくて
誤記の懸念と、漏れを検出するのが非常に困難です。
さらにこんなフィールド名に対して getterやsetterをいちいち定義する
となるとさらに大変です。 >>542
それって何かのRDBにJDBCで接続してやりとりしてるの?
そうじゃなくてその後でメモリ上にそういうデータ取り込んでおく所がそうなってるってこと?
列名をハッシュに突っ込んでおけばいいだけのような気がするが。
ていうかMapにすれば列名をキーにしてデータ入れとけるよね。
列名については JDBC なら ResultSet のインスタンスから getMetaData() で ResultSetMetaData の
インスタンスを取り出してそれに対して getColumnName() をする。
そうやって1レコード分のMapインスタンス作ったらListにadd()するとか。 >>543
そうですね、さらにそのレコードが複数あるので
そのMapを更に主キーの値と対応付けて外側にMapする
二重Map構造を考えていたんですが、アドバイスと考えが
同じなので安心しました。
あと「getMetaData()」「getClumnName()」というのは知らなかったので
調べて活用してみます。
有難うございます。 そんな小手先の対応じゃ楽にならないよ
頼むから正規化してくれ たぶん、表設計がアホだから、
部品番号とかを、行にせず、列にしているんだろう
行・列を勘違いしているのだろう >>546
あー。たまにあるね。DATA1, DATA2, DATA3, ... , DATA20 みたいなふざけたやつ。 会社でテーブルの設計書見てたら
商品コード1、商品コード2、…、商品コード60
ってテーブルが出てきて暗澹たる気持ちになった COBOLエンジニアがこういう形式を好む
COBOL上がりで現代的なコーディングを知らない年配が設計するとこうなる 将来追加される可能性が高い方を行へ
低い方を列へ
でいいんだよな?
名前 年齢 性別 住所 ・・・
Aさん
Bさん
・・・ >>551
名前 属性 値
Aさん データ1 ほげ
Aさん データ2 ふが
Bさん データ1 ふが
みたいなことだろう
性別とか生年月日(年齢)のような項目が決まりきってるものでこれやり過ぎるとそれはそれで複雑になったり遅くなるけど >>551
次元が違うのは列
上と下で足し算したり平均値取ったり比較したりできるようにするのが基本 >>552
グループ番号作ってその番号で複数データまとめればいいのでは? 悪い
なんで名前の前にインデント入れたんだろうw
だよな
上下にソートできるような構成ならいいよな CharacterIterator.nextの戻り値DONEとはなんですか?
例も含めて教えていただけるとありがたいです static final char DONE
反復子がテキストの終わりか始めに達したときに返される定数です。値は '\uFFFF' であり、有効な Unicode 文字列で使用できない「文字でない」値です。
関連項目:
定数フィールド値
テキストの始めから終わりの方向へたどります。
public void traverseForward(CharacterIterator iter) {
for(char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) {
processChar(c);
}
} >>557
ありがとうございます!
非常にわかりやすい例で感謝です
これでシナリオスクリプトを実装できます >>559
いや、同じ人に対して複数の同種の何かが紐付いてるんでしょ?だからまとめるための番号作ってそれで紐付ければいいんじゃないかという話。 35歳がどうたらって言ってる奴何なの?鬱陶しいんだけど。 Javaでソケット通信を行うサーバプログラムを書きたいのですが、どなたかアドバイス願います
条件ですが次のとおりです
・クライアントは常に1つ
・やり取りするのは改行でおわる文字列データのみ
・GUIもあるので通信処理は別スレッド
最初はwebで調べて受信部を次のように書いていました(別スレッドです)
while(true) {
if ((line = reader.readLine()) != null ) {
何らかの処理();
}
}
これで受信自体は問題なく行えていたのですが、これだとデータが流れていない間は
readLine()でブロッキングされて、メインのプロセスが終了しても通信スレッドがゾンビで
残る問題が生じました なので、次に
while (flag) {
if (reader.ready()) {
line = reader.readLine() ;
何らかの処理();
}
}
としてプロセス終了時は flg をfalseにすることでスレッドもちゃんと停止してきれいに
終了できるようになりました。
ただ、この書き方だとクライアントの切断が検知できず、Acceptに戻る事が出来ないんです
クライアントから切断を行ってもずっとwhile(){ }の間を回り続けています
・プログラム終了時にゾンビスレッドを残さない
・クライアントの切断を検知して再度Accept() を行うようにする
には受信処理をどのように書けば良いのでしょうか? >>563
こうすればいいのでは?
String line;
while ((line = reader.readLine()) != null) {
処理
} Keep-Alive とかで、5秒毎に、相手の生存を確認するとか、
Timeout とか >>560
何を言ってるんだ
こういうデータの多く、特に増えたものは
nullかデフォルトなのでそれでは意味ないだろう
キーが名前なのは不適切と言うなら既に別の話 >>567
いやもうどうでもいい。君には話が通じないようだ。 普通にデータは正規化しましょうという話で終わりだと思うが… >>552
その系統でやりすぎてとてもめんどくさいことになってるテーブルと戦ったことあるわ
まだ振り切って全部縦長になってりゃ何とかなるのに横長も居たりするのでちょー困った 縦とか横とか頭の中がエクセルなのかな
>>568
グループとか同種とかくくりの曖昧なものが1人の頭の中にしかないからな1人で話しててくれ Mockito使えばDI使わなくてもテストしやすいんじゃないかと思ってるんですが間違ってますか?
DIは今でも必ず採用すべきものでしょうか。 DIなんて要らないし単体テストも必要ないです
手法にこだわるのはキモオタです ■ このスレッドは過去ログ倉庫に格納されています