「質問用テンプレ」
下記の各項目のうち不要・不明な項目や選択肢は消してください。
自分にとって適切な項目や選択肢がない場合は、項目や選択肢を追加して構いません。
【言語のバージョン】
【フレームワーク】
【OS】
【開発環境】
【使用しているIDE】
【Java歴】
【javadocは見たか】
【質問事項】
【エラー内容】
【エラーの経緯】
【回答期限】
【その他自由記入】
javaをやるためには基礎知識が必要っていうことで基本情報技術者の資格を取ろうとしてるんだけど補数のところで分からない事があるから教えてほしい
10進数の4-3っていう計算をするとき4と3はそれぞれ
0100と0011じゃん
で、3を反転させた値に1を足したら1101←これが-3となる
で、二進数方式でこれら二つを足すと10001、そして一番上の位は切り捨てるそうだから1になる、これはなんとなくわかる
では3-4となると、これと同じやり方で計算すると1111になった
1の補数的な意味では確かにこれはマイナス1になるけどこれが実際の数なのかそれとも負の値を持った補数なのかってどうやって判断するの?
つまり最初の計算ででてきた10001っていう答えはそのままの数として扱っているのに最後の計算で出てきた1111っていう計算結果は負の数ではなくもしかしたら15かもしれないじゃない
長くなってしまったが回答よろしく
>>7
型しだい
マイナスの符号を持つ型なら最上位ビットはこの値がマイナスですよー
というフラグなので、値は-1 もう一個質問お願いします
javaでブラックジャックのゲームを作りたい、その際に分からない事が
・52枚のカードを一枚ずつ書かないために多次元配列を使ってすべてのカードを表すことができるかどうか、そして1-13のカードを全て書き並べるのではなくfor文などで配列の中に表せるかどうか
・カードを配列の中からランダムに引くことが出来るかどうか、そして一枚ひかれたらそのカードは次からひかせないようにするにはどうしたらよいか
・web上で実行した際ユーザー側にスタンドorヒットを選択させるボタンの配置方法
・具体的なカードの画像をネットで拾ってそれを配列に反映させる方法
繰り返し処理がかける程度の初心者なのでどれか一つでもいいのでやり方を教えてくれると助かります
一番下のはおまけ的な意味なので簡単だった場合でいいです
自分が今まで作ったプログラムでは実行したら10000までの素数は何か、みたいな計算結果だけを表示させるようなプログラムだけなのでユーザー側にアクティブにさせるのがまだよくわかってないです
>>7
失礼しました
>>8
もともとマイナスの符号を持つ型のもとでやってるのではないの? >>11
追記
オブジェクト指向が少しだけわかったのだけどこのプログラムを組む際にどこで使ったらいいかも教えてほしいです
自分の中のオブジェクト指向はクラス(車だったり人間だったり)は皆とりあえず一律の動きができるっていうイメージ
しかいdealerもuserも一人ずつしかいないのだからオブジェクト指向にする必要があるのかなっていうのが今自分が抱いている疑問 >>7
>>9 の言うように2の補数表現だと最上位ビットは符号を表すから 4bit だと -8〜7 までしか扱えない プログラムは二進数!って言うけど滅多に使わないよな
フラグの指定くらいか?
>>11
まずは java ブラックジャック ソースコード 辺りでググって適当なソースコードを見てみることをおすすめする >>11-19
2次元配列[4][13]のようにはしない人が多い。
1次元配列[52]のようにする
その配列の要素には、カードクラスの参照を入れる。
そして、カードクラスには、便利なメソッドを追加する >>14
自分で作ることを考えてみたらこんな感じ
もちろん人によってかなり変わると思うけど、どんなものがクラスになるのかのイメージにでも
bj パッケージ
Bootstrap ・・・ mainメソッド
bj.game パッケージ
Match ・・・ 1回分のゲームの管理
bj.cards パッケージ
Deck ・・・ 山札
Hands ・・・ 手札
bj.cards.cardパッケージ
Card ・・・ カード
Number ・・・ 数字
Suit ・・・ スート
bj.player パッケージ
Participant ・・・ 参加者(抽象クラス)
Dealer ・・・ ディーラー
Player ・・・ プレーヤー
bj.player.strategy パッケージ
PlayingStyle ・・・ カードをひく基準を決めるインタフェース
DealersStyle ・・・ ディーラーがカードをひく基準(17より小さければひく)
GenericStyle ・・・ 21より小さければカードをひく
RandomStyle ・・・ さいころふって偶数ならカードをひく >>7
Javaで実際に整数計算するプログラム作って2進数で表示させてみればわかると思うよ。 >>16
組み込みとかだと出てくるんじゃない
あと仕組みを知っておくとトラブルシューティングで役立つ >>11
まずデッキとカードクラス作っていろいろ遊んでみればいいんじゃない
シャッフルするとか一枚引くとか
カードが一枚もないデッキから1枚引こうとして例外とか
次にそれらのクラスを利用するブラックジャッククラスを作るわけだが
前に作ったクラスは後に作ったクラスに依存しないように作るのがポイント 出された課題通りにブラックジャックの作成をやってみてるのだが早速ここでエラーが出てきて困ってしまった
正直抽象クラスどころかオブジェクト指向の理解も危ういのだがテンプレートを使いながらの作成
配列を引数に持たせよといわれてなんのこっちゃって感じで課題を進めてみてるのだがとりあえず見てほしい
abstract class human{
abstract public void open();
abstract void setcard(int num[]);
abstract public void checksum();
int myCards;
}
class Dealer extends human{
int cards[]={1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13,1,2,3,4,5,6,7,8,9,10,11,12,13};
public void deal();
}
class User extends human{
}
アドバイス頼む、分からなくて困ってる
>>25
dealerクラスとuserクラスへabstractのメソッドを下記のように実装したらひとまずコンパイルできると思うよ
public void open(){}
void setcard(int num[]) {}
public void checksum() {} >>26
できた
どうもありがとう。
抽象クラスにはメソッドを書かせる事を強制させる効果があるという事か 誰かにやってもらったら課題の意味がないよ
聞く分には調べ方を知るって点で意味あると思うけどね
jdk9.java.net がヒッソリと消えたな……
検索のURLはまだ変わってないのに 301 も返してないんだな
>>29
単純脳死作業者になるための課題ならいいな
そうでないならエラーメッセージ読め
今回たまたま当たっただけでパスとか別のエラーの可能性もある >>16 に浮動小数点数の計算で予期せぬ挙動に苦しむ呪いをかけた バイナリデータ扱う時に2進表記使ったな
2進表記使える前のバージョンで苦労した覚えがある
0b とかアンダースコア入れられるとか知らなかった。Java7から使えるようになってたのか。
でもprintfで2進文字列化ってできないよね?
こないだ探したけど見つからなかった。
フォーマット指定だと2進表記無いねtoBinaryString()するしかないのかな
フォーマットを %032s とかにしといて Integer.toBinaryString(x) かな。
>>42
Integer.toString(i, 2) は Integer.toBinaryString(i) と同じだろ。
>>40-41 は桁数固定で上位桁0パディングする話。
こんな風にすりゃできるけどね。スマートな感じしないよな。
String s = String.format("%32s", Integer.toBinaryString(i)).replace(' ', '0'); JavaでGUIのゲームを作ろうと思うんだけど
ゲームならGUIってJavaFXとswing、どっちを採用するのが良いかな
JavaFXの方が新しいけど、swingだと過去の遺産が多いっていう魅力があって……
どっちにしろJavaを要求する時点で誰もやりたがらないからどうでもいい
君がマインクラフトを作れるなら別だけど、だとしてもわざわざハンデを負うメリットは何もないよ
どうでもいい人がなんでスレを見張ってるのかよくわからんな
一般的なJavaやサーバーサイドの話ならともかく、GUIならほとんどのJava開発者にとっては実際どうでもいいと思うぞ
KotlinはJavaを完全に理解している人がより生産性を高めるためのもの
Windowsのコマンドプロントでabe backapからabファイル作成→abファイルをAndroid Backup Extractorを使ってtar変換する際に
exception in thread main java.lang.reflect.invocationtargetexception
以下いっぱい文字列
がでて、tarファイルは作成されるものの、ファイルサイズが220mから170mくらいまで減って上手く変換できてないようなのですが、ここで詳しいを質問してもよろしいでしょうか?
>>50
いきなりKotlinからはじめるのは難しいのか
でもJavaより読みやすそうに見えるんですよね Javaやってて知らんのなら素人と紙一重くらいだな
日本でJavaやってる奴の8割はそのレベルだけどね
>>57
名前知ってるかどうかは別にして
ほとんどの奴がやってるだろ
やってない奴は、こーやったらこーなる的なプログラミングしてるやつ リスコフの置換原則という単語は知らなかったけどis-aは常に意識してる
と言うか継承を滅多に使わない
androidだと、よく分からんが仕方なく継承するしかなくなる
まぁ機能を使う以上、そこまで親子関係おかしい訳ではないが
Javaの場合は何もしなくてもObjectが継承されていることはみんなには内緒にしておこう。
継承を使わないっつうのはそういうことじゃないだろアホ
得意気に馬鹿晒してなにがしたいんだか
Objectクラスのメソッドについてリスコフの置換原則守ってるなら間違ってない
>>69
それは知ってるけど、それをわざわざ「継承する」とは普通言わないやろJK 俺はJava書くときは必ずObjectを継承するようにしてる
言わないコンテキストと
言うコンテキストがあるわけだから
お互いのコンテキストをぶつけて消滅させて
人類が滅びれば地球に平和が訪れます
それが真のユートピア
>>80
常識的に考えて「継承はあまり使わない」って言ったら暗黙的なObject継承は除くやろ
Object継承含んだら、継承率100%になるやん
アスペかよ いちいち「暗黙的なObjectクラスの継承以外の継承はあまり使わない」って書けって事か?
文脈を無視していきなり関係ない話をしだしたっていうならまだしも
>>84
おかしいのは文脈が違うからだという事に気付かないと。何かアスペっぽいよ君。 >>86
いきなり関係ない話したのか
そういう時はわかるように言おうなアスペ君 相手が言ってることがおかしいと思ったら
相手の前提と自分の前提が違うんじゃないかと思わないと
自分の前提で相手の発言を解釈して相手がおかしいと
いうのは簡単だけど、それって会話が噛み合ってないだけだよね
たしかにJavaのすべてのクラスはObjectを継承するけれども
その意味での継承と、自分はあまり継承を使いませんというときの継承は
概念が異なることに気付けると思うし気づくべきだと思う
言葉が同じだから同じことを話しているんだと思うのが危なくて
言葉は同じでも概念が異なることがある
自分の概念を相手が言うことに当てはめておかしかったら置換可能でないということ
継承してはいけないものを継承してる
これがリスコフの置換原則
Effective Javaが名著だと聞いて読んでみたことがある
継承より委譲を使うこと、と書いてあって、すぐにクソ本だと見抜いたよ
Objectを継承しないオブジェクトは存在しないが、委譲は必ずしも必須ではない
そんなこともわからない著者が書いた本をありがたがってるんだから、世間のJavaプログラマのレベルなんてお察し
>>91
中身ちゃんと読んでない事丸分かりでワロタ
なぜ名著と言われてるか分からん頭なのに、なぜ自信満々なのか本当に理解できん どの言語でも「Effective 何々」という本は、プロ必須本。
ここまで読めば、ひとまず上司に聞きながら、仕事ができるレベル
これ以上のレベルの本は「メタプログラミング 何々」という本。
これは、ライブラリ・言語実装者向けの本
最近の本では、委譲を勧める方が多い。
Web開発を想定して、委譲の方が柔軟性があるから
それに委譲は、コンポーネントの疎結合にも使える
オブザーバー、発行・購読
中央管制塔ありのメディエイター
メッセージキュー
>>91
それは見抜いたんじゃない
理解できず諦めたって言うんだ >>93
君のレスは、癖があって、すぐわかる。
内容も、いつも、的外れ。 >>89
自分で気づいて欲しくて遠まわしに言ったんだがな
Javaでは必ず継承してるからリスコフの置換原則は必ず付きまとう
と言うか継承を滅多に使わないとは間違いで上書きしてないだけでメソッドはそのまま継承されてる
そのまま継承しただけではクラスの意味合いによって置換原則に従わないこともある
例えば数値を表すインスタンスのequalsとかそうじゃないか常識的には
new Counter(5).equals(new Counter(5))? >>96
自分で分かってないの丸出しだな
equalsは置換原則に反する典型的なメソッドなので例としては最悪
Counterを継承すると適切に機能しなくなる >>98
なぜ反するか、継承すると適切に機能しなくなるかの説明できますか? >>99
Counter x = new Counter(1);
Counter y = new CounterEx(1, 2);
x.equals(y); //置換原則に従い、型を無視して1番目の値のみを比較するとtrue
y.equals(x); //2番目の値も比較してfalse
これはequalsの対称性を破っている 補足
対称性を満たすようにCounterEx#equalsの実装を変更しても仕様違反が生じる
Counter x = new Counter(1);
Counter y = new CounterEx(1, 2);
x.equals(y); //置換原則に従い、型を無視して1番目の値のみを比較するとtrue
y.equals(x); //相手がCounterの場合は x.equals(y) の値を返すように実装を変更してtrue
Counter z = new CounterEx(1, 3);
y.equals(z); //当然false
z.equals(x); //y.equals(x)の場合と同じくtrue
これは x = y かつ z = x なら y = z というequalsの推移性を破っている
>>101
お前がリスコフの置換原則を守れないことはわかった。
もう二度とプログラム書くなよ。 質問させてください
メソッドaとbを持つ親クラスがあり、メソッドaは内部で自身のメソッドbを呼んでいるとします
次に親クラスを継承した子クラスを用意し、メソッドaとbの両方をオーバーライドし、メソッドaではsuperで親のaメソッドを呼んでいるとします
この時、子クラスのメソッドaを呼ぶと親と子どちらのbメソッドが実行されるのでしょうか?
>>105
そういう意図せず呼び出し先が書き換えられてしまうトラブルがあるから、
オーバーライドを許すメソッドは極力制限するのが基本 >>106,107
ありがとうございました
書き換えられてしまうんですね。ちょっと設計見直してみます Javaでは伝統的にあんまりその辺ガチガチに作らないことが多い
継承はなるべくオープンであるべき!スーパークラスが壊れる?そんなのサブクラスの責任でしょ?っていう考原理主義的な考え方がまだ色濃く残っている
C#なんかだとオーバーライドさせたいところだけprotectedな仮想メソッドとして切り出しておいて
それ以外のオーバーライドは一切認めない、みたいなガッチガチな設計をするのが一般的なんだけど
上書きされたくないならメソッドに final つけときゃいいんじゃねーの?
Javaでメソッドに軒並みfinal付けると、
上から目線でオブジェクト指向を理解していない馬鹿呼ばわりする奴がいるからなあ
初心者なんだけど、
スカイプとかって、なんという言語で作られてるの?
C++だろう
MSだからスマホ版はC#に移行してるかもしれないけど
>>109
Javaは継承したクラスが別物にしてしまうことを想定してないからな。
形だけ継承して中身を書き換えられるからタチが悪い。 >>114
高度なWindowsアプリならWindows SDKの可能性が高い。 めんどくせえからVBでテキトーに作っただけだったりしてな
>>119
Windows SDKならCかC++なんだよ。知らないなら調べてもの言えよ >>122
スレタイ100回声に出して読んでから来いや ゴスリンがAmazonに入社したらしいね
もうAmazonがJava買ってくれよ
Googleみたいなウェーイ系の延長と違ってAmazonはエンタープライズITに対してわりと理解があるし
Java開発のAWSへの取り込みを加速させるには悪くないんじゃないかな
chromeブラウザのF12で表示される「NetWork」タブみたいに
URLにアクセスした際に送受信されるリクエスト全部取得する処理ってどうやれば実現できますか?
たぶんhttpClientかsocketあたり使うと思うけどhttpClientはレスポンスぐらいしか取れないように見える
>>128
Httpclientでなぜできないと思うのか javacでコンパイルした後、クリーンのようなコマンドで.javaファイルを全て削除することは出来ないでしょうか?
>>131
放っとけ
現実の開発でjavac手打ちなんてありえないからどうでもいい
mavenやgradleを使おうね どーしても欲しいってのならバッチ作ってパス通せばいい
>>131
ファイルを消す方法はOSや操作環境によって違う。
Windowsでコマンドプロンプトならdelコマンド、LinuxやMacOSのようなUNIX系OSならrm等でできる。
ただしディレクトリの階層を降りて行って対象のファイルを全て削除したい場合はそれぞれやり方が大きく異なるのでよく調べてからやった方が良い。
確かUNIX系のOSではfindコマンドと組み合わせないとできない。
それとWindowsのエクスプローラは*.javaで検索後にまとめて選択して削除はできるかも知れない。やったことないけど。 >>134
消すのは.classだけにしてあげて
javacに-dだかつけて特定のとこに出力しといて毎回そこ消せばいい
面倒になってワンライナー書くようになって
色々やりたくなってスクリプト化して
mavenとかみたいなソフトを作ってね コンパイルしたら問答無用でソース削除ってすげえな
サムライだわ
GridPaneで8×8のマスを作ってGUIのマインスイーパーのアプリケーションを作りたいんだけど
どうやって作ったらいいと思いますか?
JavaのGUIなんて覚えてもどうせ実際の開発で使う機会はないんだから画面はAAでいいんじゃね
座標を入力してマスを開くようにしたらいい
javacを質問したものですが.javaにコードを書くのですね
初心者の勘違いでした
java能力検定というものを受けてみようと思うのですが、試験ではjavaファイルを修正してjavacでコンパイルしたものを提出するようなのでビルドとクリーンは押さえておきたいと思い
オプションで出来るだろうなと思っていました
そんなレベルで受かるような試験なら受ける価値は全くないと思う
え?javacのオプションでファイル消せると思ってたの?
んなこたできねえ。
試験のお題が「ファイルを削除するプログラムを作りなさい」だったら笑うな。
コンパイラとビルドツールの違いがいまいち分かってないのか
というか、コンパイラがコンパイル対象消すって、機能としてはまず入れないと思うぞ
自分がクラスファイルを書き出した根拠を消すって、怖すぎ
本でしか勉強してないのかな
実践しなよ
それができないなら情報処理技術者試験とかのがいいんじゃないか
そういやファイル削除するプログラムは初心者向けのお題としてはいいかも知れんな。
ワイルドカードも使えてオプションでディレクトリを降下して削除することもできるようなやつ。
暇な初心者は作ってみな。
Runtime.getRuntime().exec(new String[] {"bash", "-c", "find . -type f -name *.java" | xargs rm"});
ビルドツール使わずにEclipseでビルドが許されるのは小学生まで
>>149
惜しい。*をエスケープしないとカレントディレクトリに一つjavaファイルがあったらbashに展開されてそのファイル名一つが指定されたことになってしまう。2つ以上あったらfindコマンドがエラーになって動かない。 それ以前の問題としてOSがUNIX系OSでなければ動かない可能性大か・・・
パッと見で、rmのエイリアスどうなってるのか不安になる
>>156
あー。スペース入りファイル名ね。その場合 xargs に -0 が必要になるな。
てか、既に話が Java ではなくなってるな。
そう言えば Java だと1.7以降は java.nio.file.Files#walkFileTree() 使えば楽にできそうだな。
自分で再起処理書く必要がない。 walkFileTree()はstaticメソッドだった。何もしないでいきなり使える。
walkFileTreeは典型的なJavaらしい使い辛さ
なんでプル型(イテレータみたいに利用者側のアクションで取りに行く形のこと)にしなかったのか
ああいうSAXみたいなスタイルのAPIって実装する側は楽かもしれないけど利用者は面倒臭いだけなんだよな
Visitorを実装するのが面倒臭いというのももちろんあるけど、
ああいうAPIの一番の問題はスレッドをブロックしやがること
処理を一時中断するにはいちいち別のスレッドを起動しなきゃいけない
プル型の処理はnewDirectoryStreamやJava8で追加されたfindで可能
結果、
visitorの実装が面倒でブロッキングなwalkFileTree
サブディレクトリを再起処理してくれない上にStreamの名を冠しながらJava8のStreamと互換性のないnewDirectoryStream
メソッド増えすぎて反省したのか手軽なオーバーロードがなく引数の指定が面倒なfind
わずか2バージョンでこの乱立ぶりよ
walkfiletreeは知らないがSAXは便利に使ってる
普段からsedとか使ってるからかな
>>162
Javaも今はプルパーサが主流よ
SAXは不要な制限が付くだけの糞 >>163
流行りとかどうでもいいけど、どんな制限? >>164
制御を奪われてしまう
>>160の通りだね
プルパーサはラップすることで簡単にSAXを実装できるけど、逆にSAXをベースにプルパーサを実装するのは(シングルスレッドの範囲では)不可能
SAXを好む人を否定はしないけど、少なくとも低レベルAPIとして位置付けるには制限が強くて向いてないんだよ >>165
ストリーム開けっ放しにして他のこと始めるのか
その発想がなかった >>166
今時は非同期プログラミングの普及でいったん制御をフレームワークへ戻したいケースもよくあるからそんなにおかしな発想ではないぞ
DOMに近い感覚で必要な要素だけを処理できるのも大きなメリットだ
SAXだと、特定の要素に対する処理だけをメソッドに切り出すってのが非常にやりづらい >>167
あーそういうレベルで難しいんだ
それならしょうがない
出来る方法でやるといいよ プッシュだと例えば複数のxmlを開いて結合することができないわけです
データをソートして出力したいんですが
TreeSetを使うとコンパレータのスコアが重複するデータは上書きされるみたいで
重複を許して保持するようなライブラリってありますでしょうか
レスありがとうございます
ArrayListの中にsortらしいメソッドがみあたらないのですが
じぶんでsortアルゴリズムをかかなければいけないということなのでしょうか?
なんでこの会話はSetとListがごっちゃになってるんだ?
いまだにjava6つかってました…
この期にアップデートしてみます
TreeSetですでにコードかいてるなら
ComparableのcompareToが0だったら1を返すとか0を返さないようにすればいいだけ
バージョン上げるならJava8でStreamでソートが鉄板
サーブレット環境下
(tomcat8.0, java8)
の開発環境(eclipse neon.3)
でデータベース(postgresql)に
jdbcを使用し接続したいのですが
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432/test
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
の例外により接続できません。
jdbcドライバはWEB-INF/libの中にありeclipseではクラスパスを通してあります。
またWEB-INF/lib内の他のjarはjavaから認識されております。
jdbcドライバがtomcatから認識されていないのが問題だと考えておりますが、
その理由がよくわかりません。
よろしくお願いします。
Tomcat 8.xだとTOMCAT_HOME/libに置かないといけなくなった。
>>184
>>185
ありがとうございます
ドライバが見つからないのはおまかんなわけではなく正しい挙動なんですね おまかんって略語否定するのもそろそろ老害みたいで見苦しいぞ
人の言動にまで注文つけるのか
おまかんがわからないなら訊けばいいだけだろ
使わない方がいんじゃないかな?
なんでおまかんなんて言っちゃったんだ
破廉恥すぎるだろ、状況考えろよ
>>198
正規表現で置換するときに興奮するのかよ
文脈考えろ >>199
文脈考えたら「おまかん」なんて使うべきじゃないってわかるよね?
下品だよ 答えるほうが質問者の環境のことを揶揄して使うものだろ
>>203
知ってるのに違う使い方するとかアホだな >>204
特段、揶揄のイメージないな
質問者がこれっておま環?って聞き方もよく見る >>206
どこで見たの?
場所を状況を考えて使おうよ >>210
誤魔化してんじゃねえよ
どこのスレよ? おまかん=お前の環境だけ
ドライバが見つからないのはお前の環境だけなわけではなく正しい挙動なんですね
>>211
そんなよくあるレスいちいちどこだったか覚えてるとは限らないだろ >>223
場所考えろよ
その場に応じた適切な言葉服装髪型があるんだ
お前はこのスレのドレスコードに違反してる
おまはん はあめんどくせ
ここまで言わなきゃわからんかね
文章添削して不適切な用語を置き換えるとこうなる
ありがとうございます
僕はドライバが見つからないピッコロなんですね
意味の通じる省略はいいけど通じない省略は意味をなさないよ
>>221
おまえが2chに適応できてないのでは
知恵遅れでも行ったらどうだ
>>229
意味がわからなかったらググるか質問したらどうだ?
見てる奴の語彙なんてわかるわけない >知恵遅れでも行ったらどうだ
これどういう意味だ?
省略しすぎでわけがわからんのだが。
ていうか日本語になってない。
ググれば出るのか?
ところでGGRKSのID:s6cEPBpBはどこへ行った?
2ch用語をリアルで使っている人って痛いじゃん
このスレはリアルだから、はっきり言って2chじゃないから
そこんとこ弁えて欲しい
2ch専用ブラウザのスレで不具合報告するとよくそれで流されてるのを見る
javaスレでは初めて見た
初心者だがベンダー試験受けてきたよ
合格を祈って欲しい
yahoo玉袋を知恵遅れとか略す奴もちょっとアレだよなw
>>245
そもそも省略じゃなくてスラングの類いだろ いまさらだろうけどoracleとgoogleの訴訟問題で、結局oracle側が敗訴した訳だけれども
今後javaにとって何らかの影響ってあると思います?
MSを邪悪なクソ野郎呼ばわりしていたGoogleが.NET陣営に参加する程度には、
自社のJava依存をリスクとして捉えるようになった
脱Javaってわけじゃないがリスクベッジだな
最近はMSよりりんごの方が害悪だわ
はやくブラウザPWAに対応しろボケ
AppStore高すぎるんじゃ
Googleは.NET Coreに肩入れしてコミットしまくってるらしいね
クラウドプラットフォームでAWSに手も足も出ないMSとGoogleがまだまだブルーオーシャンな業務系の客を必死に取り込もうとしている
259デフォルトの名無しさん2017/06/23(金) 16:32:47.48
あ
260デフォルトの名無しさん2017/06/23(金) 16:33:16.56
JSP&サーブレットの質問
jspファイル内に<script type="text/javascript" src="○○"></script>を書いて、jsファイルを読み込むようにしたいのですが、
○○にはどう書けばいいですか?
/WEB-INF/js/lib/読み込むファイル.js
としても上手くいかないのですが
261デフォルトの名無しさん2017/06/23(金) 16:33:59.21
当然、対象となっているフォルダに必要なjsファイルは設置しています
javaとかjsp関連ではなくhtmlの範囲だと思うよ
>>260
WEB-INF以下は外からアクセスできないのでむりぽ サーバー側でjavascriptを実行しようとする発想
スレチなので、jspでjQueryが使いたい場合はどうすればいいのか?御案内をお願いします。
WebProg板等見ても他に適当なスレが無いのでこちらで失礼します
【開発環境、IDE】Java SE 8、Eclipse Pleiades、Tomcat 8、MySQL 5.6.30
【Java歴】大学で2年
【質問事項】
Javaでプログラムを書いたことはあるものの、MVCとか意識するようなのは書いたことがありません
今回Servlet・JSPを初めて触っていて、MVCについて2つ質問があります
1.MVCに則る場合、例えばログイン処理を考えると、CがDAOにIDを問い合わせてpassを受け取り照合を行うのではなく、
照合はDAOに任せ、CはIDとpassをDAOに投げてbooleanで判定を受け取るだけにするのが良いのでしょうか
間違っている場合、「処理をCにやらせずMに分離する」簡単な実例を教えていただけるとありがたいです
2.http://at-grandpa.hatenablog.jp/entry/2013/11/01/072636
WebプログラミングにおいてはVとMCの間に壁があり、しかもユーザーが直接扱うのはVだけです
よって、この「本当の姿」は通常のアプリケーションの話で、
Webの場合はM←→C←→V←→ユーザーという考え方でよいのでしょうか >>277
以下、WebのMVCであることを前提
MVCはプレゼンテーション、ビジネスロジック、データアクセスの3層で言うと、プレゼンテーションとビジネスロジックの分離に関するパターン
DAOはデータアクセスの話なのでMVCとは関係ない
まず、コントローラがリクエストを受け付け、誰がこのリクエストを処理するか判断する
で、その処理担当のモデルに処理を受け渡す
モデルから処理結果が帰ってきたら、それを受けてコントローラがビューを呼び出す
2について
VとMCの間の壁とか考えなくていいよ
ユーザーからのリクエストがネットを経てようがそうでなかろうが、コントローラの役割は同じだから >>277
現実のドカタ開発においては、Mは単なるデータでありCにほぼ全ての処理を記述する
本来は口座クラス(M)の振込メソッドを呼ぶ ありがとうございます
>>278>>280
DAOがMだと思っていてその認識は違ったようですが、ログイン可否判定をMに任せるという考え自体は間違っていないのですね
JSP(と言うかブラウザの表示)=V、Servlet=Cという認識だったので、
ユーザーはVとしかやり取りをしない、また、Vはクライアント側でMCがサーバー側と思っていましたが、
ユーザーがブラウザを介して処理を要求するのは直接Cを扱っていると考えてよい、
また、どちら側とかいう区別は特に考えなくて良いのですね
言われてみれば、JSPも結局はServletですし、(やろうと思えば)ロジックを書くこともできるので、JSP⊃V(、C)という感じですかね
>>279
Java SEにTomcatとかを追加するとJava EEと呼ばれるのですね Viewはアプリケーションとその他の境界という考え方も
>>281
Cがどこを指すかは定義がない。考え方によってはCが小さくなる。あなたのサーブレットをCとしてしまうと、MとVが小さくなりすぎて、Cの中がからんでいないかが気になる。 >>281
Java EEにJava SEが含まれる。Java EEは言語というよりはWebアプリの環境の総称。 よくよくみてみるとJSPがVとは言ってることが変すぎるな。
彼の解釈だと、VはWebブラウザ、Mはデータベース、Cはアプリケーションサーバとなってしまい、プログラムの話になってない。
>>287
落ち着いて読み返した方がいんじゃ・・・ そもそもMVCで考えること自体が現状に合っていないのでは?
>>282-289
入門として簡単な例で雰囲気を掴んでおきたかったので質問させていただきました
Mはデータと言うかデータ処理部ですよね
役割分担をさせる、という理念と概念はわかるのですが、
プログラムの実例が無いと結局どこからどこまでを分けるのかの理解は難しいですね
書籍を当たろうと思います
JSP=V、Servlet=Cという決まりはないということ、ログイン判定をCから分離する考えは間違ってないこと
がわかったのでよかったです
ありがとうございます いや、全然怒って真顔で冷静に書いてるだけとか、あるいはどのような反応になるかを学習しようとしているAIかも知れない。
296デフォルトの名無しさん2017/06/26(月) 12:18:58.08
>>260です
WEB-INFフォルダ以下はアクセス不可だと言うことは分かりました。
では、JSP&サーブレットでjsファイルを用いる時は、どこに配置するのがオーソドックスですか? >>296
それってJSP/Servletの範疇じゃないし コンテキストルートの下にそれっぽいフォルダ作って置けばいい
>>299
あなたが去るという選択肢も対等に存在しているよ 今日はデザインパターンの勉強したんだけど面白いね
仕事であんまり使う機会ないんだけど
いつかドヤ顔するために勉強してるw
GoFはラムダが入った今となっては不要になったものも多いから気をつけないと逆に老害だぞ
>>306
一生ねえわw
バブルソート極めた方がマシ >>307
まじすか
教えてちゃんですまんがこれだけは抑えておけ的なものがあれば教えてください >>309
Template MethodとIterator
プッシュ型の代表とプル型の代表としてこれだけはしっかり押さえとくべき
あとはだいたいそれらの変形や応用
間違ってもシングルトン厨にはなるなよ オブザーバの意義がわかりません
普通にあるインスタンスの状態が変わったら、一緒に状態変えたいインスタンスを並べてupdateすればいいんじゃないでしょうか?
>>312
基本的にはその通りで、呼び出し元が呼び出し先を知っている(依存している)場合はそれでいい。
でもそれだと都合が悪い場合もあって、例えば出来合いのボタンクラスはお前が勝手に作ったウィンドウクラスのことなど当然知らないから
ボタンクラスは自分がクリックされたとき何を呼び出していいかわからない。
そこでインターフェイスを介してメソッドを呼ぶことで、ボタンクラスがお前のウィンドウクラスを知らずともメソッドを呼び出せるという仕掛け。
これは見方を変えるとボタンクラスに呼び出してほしいメソッドを渡していると見做すこともできて、そういうやり方を一般に「移譲」と呼ぶ。
その移譲を使ってボタンクリックのようなイベントを実装したのがObserverであり、
移譲を使ってインスタンスの生成を一般化したのがAbstract Factoryだ。
GoFは個別のパターンの前に移譲の概念を確実に理解することを強くお勧めする。 メディエイター(仲介者・管制塔)
A - M - B
A, B は、互いに依存しない。
疎結合
Aを修正しても、Bを修正しなくても良い。
逆もしかり
オブザーバー・メディエイターは、モジュール同士を疎結合にする。
部品の疎結合が、最も重要
初歩的な質問ですみません
privateメンバをもったクラスを継承してサブクラスで更新したいのですが、
サブクラスからだと更新できません。
この場合、getsetを親に持たせるのがやはり一般的なのでしょうか?
メンバをprotectにして直接更新するのはあまり良くないのでしょうか
>>315
変更すべきならprivateにしてる設計が間違えてる
privateが正しいなら変更しようとしてるのが間違えてる
こーしたらこーなるからでプログラムしたいなら制約を科すオブジェクト指向言語を使うのが間違えてる なるほど
では継承した子クラスから親の変数を変更しようとすること自体がおかしいということでしょうか
親に共通的に属性持たせて振る舞いだけ拡張していくのはよくあるやり方なのかと思っていましたがそうではないのですね
どう作るかは正直どうでも良い
仕様が重要
目安としてそれぞれ別パッケージならsetter経由にしとけ
>>315
getter, setter でやるのはそのクラスがその変数の変更タイミングを知る必要があるからだ。例えば書き換え直後に何か画面に描画するとかね。
変数の書き換えタイミングを知る必要がないならばその変数は public にして外部から直接書き換えられるようにしてしまえば良い。
外部から書き換える必要がないなら protected , 更に継承させたくないなら private。 >>318
そのクラスとメンバの意味合いによるだろ
お前にJavaはまだ早い >>321
いったい何言語で継承覚えたんだよ。
javaほど初心者向きの言語はないだろ… >>322
オブジェクト指向開発が早いってことだよ にしても実装から覚えるのかヤバイな
設計の教育しろ
目的がプログラムになってるヤツの多さは仕事においてもヤバい設計の教育はホント大事
昔のjava 1.5ぐらいで書かれたプログラムをNeon3でコンパイル通したいんだが、
javax.xml.ws とorg.apache.xmlrpcで検証が必要で、
それぞれ
「制約がありません。インポートパッケージjavax.xml.bindなんたらとか
エラーメッセージが出て、失敗してる。
コンソールで赤文字は
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [bundleresource://1080.fwk14070205:1/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [bundleresource://1080.fwk14070205:2/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
と出てる。
パスかクラスか足り無そうなんだが、教えてください。 >>326
なんでそのエラー見て「パスかクラスが足りなさそう」って考えに至るんだか
SLF4Jで使うロギングライブラリ実装がクラスパスに重複してんだよ >327 すいません。浅はかでした。ありがとうございました。
スポンジの生地を生クリームでデコレートするか、チョコクリームでデコレートするかみたいなもんだよ。
実装的には、連想配列のプロパティにでも、生クリーム、イチゴ、板チョコみたいに持たす感じか?
インタフェースを加えていくいう実装もあるけど。
↑
ひっでえサンプル
世の中にこんな実装するやついんのかよ
ま、デコレータは付加する部分を変えたクラスを作りやすくするパターンだからこんなもんでは?
たた、あまり必要ないような感じはするなあ。
付加する部分をパラメータで持たせてそれに応じて振る舞いを変えるようにするのがよくある作り方ではないか?
そうすると実行時に変更可能なようにも作れるしな。newした後で変えさせたくないならStringクラスみたいに変えられないように作ってしまえばいい。
以前VMの勉強してたときにJVMを作ったことがあります。簡単なやつで全機能を作ったら訳じゃないですが。ガーベッジコレクタの実装を検討してて、今の公式のJVMの実装に疑問を持ちました。
ガーベッジコレクタは、定期的にインスタンスの参照カウントが0のものを掃除していく作りになってると思います。定期的にではなく、即時に最後の参照がなくなった時点で解放すればいいんじゃないの?っ思いました。
ガーベッジコレクタの解放のたいみんぐが分からなくてfull GCが急に動いてシステムが不安定になったとかよく聞く話なんですが、今のハードなら都度解放でも問題ないくらい性能出せると思うんです。
何か問題あるんですね?
実際は、DecoratorとChain of Responsibilityはセットで使われることが多いような気がする。
どっちも委譲の典型的な使い方でしかない。
>>336
とりあえずOracle JVMのParallel GCについて話をすると、いちいち個々のオブジェクトの参照数カウントなんてやってない
New領域がいっぱいになったタイミングで初めてその時点の参照有無をチェックしてまとめてGCしてる
また、そのチェックするタイミングと実際に削除するタイミングで全スレッドを停止しなくちゃならん(Stop The World)
個々のオブジェクトに参照カウントをもたせて管理するような実装もできるだろうけど、
1つのオブジェクトのGCのたびに全スレッド止めてたらJVMの性能が落ちそうだし、
増える方はともかく参照切れを正しく全部拾えると思えないな 参照切れを正しく拾えないって、どんな時にそうなるんだ?
確か参照カウント使って参照されなくなったらメモリ解放する方式は Delphi でやられていたと思うが、特に問題なくできてたと思うぞ。
(これの場合はコンパイラがバグってなければ大丈夫だよな?メモリ破壊するようなのを自分で書いてしまった場合は別かも知れんが)。
シングルスレッドだけなら参照カウントは比較的楽にできるかもしれんが
マルチスレッドの場合は参照カウントの読み書きは結構面倒くさい事になる。
>>339
あーごめんよ、自分が出来る気がしないだけ
変数がスコープを抜けた時に消すのはできそうなんだけど、null代入で参照切れるのをどうやって検出するのかなーと
JVMがやってる、とある時点のルートオブジェクトを起点として、参照を辿れないやつを参照切れとしてGCってのはわかりやすく感じる ありがとうございます。
参照切れのことを書いてくれてる人が多いですが、即時にでも後でGCが回収する場合でも、(被)参照カウントを減らすのは関数が終わっときか、例外が出たとき、代入したとき、など同じになるはずで、解放するタイミングが違うだけだと思うんですよね。
参照がなくなる契機となるニーモニックは沢山なかったとおもう。
(被)参照カウントを持たずに、GCが毎回全インスタンスがどのインスタンスを参照してるか見るってのは非効率な気がする。
オブジェクトの型を見てメンバー毎に参照先のリストを作る必要があるので。
>>345
おー、ありがとうございます!疑問にに思ってたことそのものが書いてました。 質問です
classを2つつくり、メインの方に身長、体重のデータを置いて、サブの方にbmi計算式(体重/(身長*身長))を置き、メインの方で結果を表示させるにはどうすればいいのでしょうか?
まずは入門書を一冊終えてきたほうが早いよ
そのレベルじゃ教えようにも言葉が通じない
>>347
public abstract class Main {
public static void main(String[] args) {
Main main = new Sub();
main.height = 1.70;
main.weight = 70.0;
System.out.printf("%.2f%n", main.calc());
}
double weight;
double height;
abstract double calc();
}
class Sub extends Main {
@Override
double calc() {
return (double) weight / (height * height);
}
} >>348 確かにまだ全然わからなくて苦戦してるので入門書買ってみます
>>349 実行しつつ、わからないところは調べてみます
ありがとうございました! Java 7環境(ラムダもストリームもない)でコレクションの操作を快適に行うにはどうすればいいですか?
例えばオブジェクトのコレクションからプロパティのコレクションを作るといったような操作のたびに似たようなループ構造を持ったメソッドを書いていますがノイローゼになりそうです
仕事なら諦めて猿のようにループを垂れ流せばいい
どうせ労働時間で給料貰ってるんだろ?
当然そのループ生産作業も見積工数のうちなんだから、お前は堂々と工数をドブに捨てていればよい
>>353
お前ループ書くのにどんだけ時間かかんのよw ランタイムが7でないといけないだけならKotlinを使う手もある
似たような作業が続いていると感じた時はツールを作成する機会。
今後も延々とループを書き続ける予感がするなら、
ループ構造をもったメソッドを自動生成するものを作れ。
ツール作成の手間と延々手作業を繰り返す手間との比較結果次第で。
ソース自動生成は最後の手段であり極力避けるべき
自動生成されたコードは次第に独り歩きを始め、あっという間にメンテ不能な巨大なクソの山の出来上がり
たしかに節操なしに無計画にやるのは駄目だね。
まあノイローゼになるような作業のアウトプット自体がクソのような気もするが。
自身の精神のメンテも忘れず仕事がんばれ>352
asp.net coreやnode.jsのようにwebサーバー製品をインストールしないでhttpサービスを起動したいです
Javaでやるとしたらどんな選択肢がありますか?
・ソケットとストリームを使って自作する
・com.sun.net.httpserver.HttpServerを使う
「ソケットとストリーム」の部分を見た瞬間なぜか「ソフトクリーム」の映像が思い浮かんだ。
やはり暑さは人を狂わせるな。
HashSetの特定のkeyを指定して、streamを得るのってどう書いたらいいのか教えてください。
HashSet<string, string> aSet = ....;
Stream.of(aSet.get("aKey")).collect(...);
とか?書けるのでしょうか?
>>379
プログラミング上達したいならまずその非論理的な考え方をやめろ
HashMapから値を取り出すことと、取り出した値に対するStreamを作ることは全くの別問題 直行する問題を分離できないプログラマやSEって意外と多いよね
だから未だにUIとDBが密結合したようなおかしなシステムばかり生産される
みんながみんな最低限の知性を持っているわけじゃないんだ
不具合があると延々パラメータ弄くり回して「実験」してる奴とかいるよね
>>383
条件判定の大小関係や真偽を逆転して実験してるやついた
「実験」って表現サイコーだな >>381
うーん別問題ですか。Javaのstreamは難しいです。
今の所forループでベタに書いているのですが、streamに置き換えで効率化出来ないかと思いまして。
最初はFunctional IFでフィルタした結果をstreamに流し込めばいいのかなと思ったのですが上手く書けませんでした。途中から型が変わる様なのは許容されなかったので…
forループ以外のアプローチにはどういう方法があるか教えてください。 >>383
なんかおかしいか?
バグ調査の手法って
情報を収集する>仮説を立てる>実験(検証)する>フィードバックを得る
のループが基本だと思うけど
実験しないでどうやって調査するんだ >>385
コレクションから要素1つ取り出してそれをストリームとか、それだけ聞いたら意味不明すぎて笑うレベル
小出しにしないでどういう処理をストリームにしようとしてるのか全部書け >>385
keyだけを集めたストリームを作る
map.get(key)でマップする HashMap<String, String> m = 〜;
Stream.of("k1", "k2", "k3")
.map(k -> m.get(k))
>>386
そのサイクルの目的は問題の原因箇所を特定すること
問題が起きたり起きなかったりするときのパラメータの組み合わせを特定するためではないよ
延々実験してる奴は大抵そこを履き違えてる >>389
ありがとうございます。参考になります。
自分が書いている内容が間違いでした。
やりたかったのは、
List<HashMap<string,string>> aList =...;
というものに対して、特定keyの値を取り出したstreamを得るという事でした。
...map(x -> x.get(aKey)).map().collect()
というのはエラーでした。
今は、forループで一つずつ別のArrayListに詰めてから、改めて処理しています。 >>391
aList.stream().map(e -> e.get(key)).collect(Collectors.toList()).stream(); >>383
フールプルーフのGUIで意味もわからず全ての組み合わせから正解を探そうという育ちに基づいてるのかな
自由入力から理論に基づいて作り出さないとだ >>392
改めてありがとうございました。
上手く動きました。 >>386
ソース読めば良いんじゃないかな。ていうか、ものによっては実験ではわからないバグもあると思うよ。
例えばこれはJavaではなくC言語での話だが、メモリ確保がおかしくて確保していない領域を読んで正常に動かない時があるプログラムがあった。
こういうのが中々見つからないのはメモリ確保していない不定値が詰まっている領域が停止させられることなく読めてしまい尚且つたまたま0が埋まっていたりして無視されてあたかも正常に動いているかのような状態になるからだ。
このたぐいのバグに対しては実験を繰り返しても偶然でしか発見できない。メモリの内容が偶然異常動作を引き起こす内容になっている時にデバッガで動かしながら確認してようやっと見つけるかまたはソース解析して見つけるかだろう。
Javaの場合はメモリ確保でこういうのはないが(あっても例外が出てすぐ気づくだろうが)、入出力が絡んだりして事前にどうなるかがわからない部分に対して検査が甘かったりすれば似たような事は起こるかもしれない。 結局デバッガで実験してんじゃん
ソース読みながらうんうん唸るのは時間かかるし効率悪いよ
>>395
そういうのはメモリを正しく確保できてるかを検証するテストを書いて
境界値をメインにいろいろなパラメータを渡して何度も実験するんだろ
まさかコード見ただけで直してはいおしまいなんて無責任なことはしないよな普通 デバッガを使ったとしても結局は
いろいろなパラメータで
実際に動かして
結果を検証して
フィードバックを得る
をデバッガセッションの中でやってるだけだぞ
パラメータを与える方法やフィードバックを得る方法がデバッガでは豊富で手軽というだけでしかない
デバッグの根本的な手法は同じ
473非決定性名無しさん2017/08/03(木) 15:21:30.71
JIETに加入すれば誰でも3次60万からスタートだ。フリーランスのサイトをやってる
自称エージェントもそこから案件情報を取得しきてる。サイトで60万で釣って40万から55万の
間でやらしている。
446非決定性名無しさん2017/08/02(水) 22:12:48.95
JIETに毎月5千円払えば3次から入場できるだろ?
高額をうたうフリーランスのサイトはだいたい5次から45万円
JIETで閲覧応募できる末端価格からさらに搾取するのが高額をみせつけるフリーランスサイトでした
高額案件をみせつけるフリーランスサイトも案件の取得はJIETでした
自称エージェントはJIETから流れてくる案件を転売してるだけだった。
JIETに加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む
Javaでhtml5をビルドするためのビルダークラスってある?
オープンソースでもいい
HTMLをわざわざDOMで作る奴なんかいるんだろうか
業務でXML DOMとかORMのような無駄な抽象化のなされたものばかり扱ってると、テンプレートエンジンはエイリアンに感じるのかな
WebアプリじゃないからWebフレームワークは使わない前程です
ターミナルから起動して、業務上の計算を行い(ターミナルに途中経過を表示)、結果をhtmlファイル形式で出力する
これの最後の結果オブジェクトをhtmlに変換する処理を手軽に書きたいです
thymeleafでいいんじゃない
springじゃなくても単体で動くし
>>404
HTMLも所詮はテキストファイルなんだし、書式が固定ならHTMLに計算結果埋め込んでテキストファイルで保存すりゃいんじゃね? thymeleaf
思ってたのと違いましたが悪くない感じですね
ecsってとっくに終わってたか
html4の頃に使った
過疎って来たから一つ簡単なお題でも書いておくか。
>>411のような入力に対して逆順にして>>412のように出力するプログラム。 try(java.util.Scanner in = new java.util.Scanner)
{
while(in.hasNextLine())
{
System.out.println(new StringBuilder(in.nextLine()).reverse());
}
}
何も見ないで書いたからどこか間違えてるかもしれん
おうち、1行目から間違えてるし
try(java.util.Scanner in = new java.util.Scanner(System.in))
おお。できたね。じゃあ他のやり方もどんどん作って。
java.util.Properties properties = new Properties(); properties.put("python.console.encoding", "UTF-8");
org.python.util.PythonInterpreter.initialize(System.getProperties(), properties, new String[0]);
try(org.python.util.PythonInterpreter ip = new PythonInterpreter()) {
ip.exec("str = input()");
ip.exec("print(str[::-1])");
}
Streamを使ったら1行なんだが?
"こんにちわ".chars().collect(ArrayDeque<Integer>::new, ArrayDeque::addFirst, ArrayDeque::addAll).stream().map(c -> Character.toString((char)c.intValue())).collect(Collectors.joining());
String rev = "";
for (char c : new Scanner(System.in).next().toCharArray()) {
rev = c + rev;
}
System.out.println(rev);
再帰使えば余裕だろ
static String reverse(String src) {
if (src.length() < 2) {
return src;
}
String left = src.substring(0, src.length() >>> 1);
return reverse(src.substring(left.length())) + reverse(left);
}
"こんにちわ".chars().mapToObj(i -> Character.toString((char) i)).collect(Collectors.reducing("", (a, b) -> b + a));
for(int i = in.length() - 1; 0 <= i; i--) System.out.print(in.charAt(i));
>>414みたいなStringBuilder方式か、>>422の方式だけがアリだな
>>418の「Streamを使ったら1行なんだが?」は
冗談としては評価したいが、アホや初学者が追従しないことを望む
偉そうなこと言ったけど俺も>>423さんと同じ発想で
List<Character> list = s.chars().mapToObj(i->(char)i).collect(Collectors.toList());
Collections.reverse(list);
ここまで書いた時点でダサすぎてエディタそっ閉じした >>422とか最悪だろ
アルゴリズムに出力を埋め込むなよ >>418はStreamに副作用を混入させちゃった典型的な痛い厨2コードだから注意 >>427
出力もアルゴリズムと一部と考えてはいかがかな?
>>428
副作用はない、もしくは副作用は悪いものじゃないと考えてはいかがかな? >>427
要件確認してみ
出力するプログラム。って書いてる >>432
こういう素人がシステムを破壊するんだろうなぁ >>435
クズが
人の笑顔で食う飯の方がうまいに決まってるだろうが >>436
お前はまだ何もわかっちゃいない
こっちへきてみろ
楽しいぞ >>435
人間のクズは死ね
つか、マジで死んでくれない? >>433
こういう素人がプロジェクトを破壊するんだろうなぁ おや? お題が簡単過ぎて荒れた後にもう終わっちゃったかw
もうちょっと難しいのが良いかな?
かといって丁度いいのが今思い浮かばないのでお題募集。
>>446
おお。そんなスレあったのか。移動しよう。 2chってほんと馬鹿しかいなくなったなぁ
スレチの小学生レベルのお題だして喜んでる馬鹿に
それに食いついてレスつける馬鹿に、さらにそれを見て喧嘩する馬鹿
∩___∩ |
| ノ\ ヽ |
/ ●゛ ● | |
| ∪ ( _●_) ミ j
彡、 |∪| | J
/ ∩ノ ⊃ ヽ
( \ / _ノ | |
.\ “ /__| |
\ /___ /
>>454
君初心者スレに常駐してる人だよね
君がまともな回答してるの見たことないけど 今の発想を受け入れられない程度に排他的思考になってるなら気をつけろよ
なぜjavaはc#のようなプロパティを実装しないんですか?
プロパティなんか作ったら
setter作るかプロパティにするか悩むじゃないか!
どうせ入れるなら、より汎用的なDecoratorの方がいいな。
EEの方で@Decorator使われちゃってるけど。
初心者ですがEclipsでjavaを勉強しているんですが初心者本に出てくるようなコードを書いて
エクスポートしてJARファイルを作ったんですがクリックしても実行してくれません。
ソースコード貼ったほうがよければ貼りますけどまぁ文字列表示とキーボードから入力して三角形や円の面積を求めるような簡単なプログラムです。
どうしたらファイルを実行したら表示してくれるんでしょう?
クリックでは実行できないのかも。
コマンドプロンプトから、実行すれば?
実行ファイルの作り方・実行の仕方も、調べて
>>465
実行可能なjarを作る必要がある。
そのjarは多分実行可能でないjarだ。 >>465
Eclipse上では動いてるんだよね?
ソースに問題ないならjarだけど、>>467も書いてるけど、コマンドプロンプトからjar実行してみたら? >>472
eclips上では正常に動いてます。
コマンドラインで実行するのにJDKの設定が必要ということが本に書いてあったので記述どおりに設定したのですが
バージョンすら表示しません。
設定は
こんなかんじでJAVA_HOMEもPathもちゃんと設定できてると思うんですがうまくいきません・・・ >>473
インストールしてあるJDKは8u131なの?
本に書いてあるそのまま入力してるとかないよね? C:Program Files
C:\Program Files
>>475
そこはJavaフォルダを見ながら入力しました
そしてPathの末尾に
;%JAVA_HOME%\bin;
を追加することでコマンドプロンプトでJDKのバージョン確認とhelloと表示するプログラムのコンパイル・実行はできました。
お騒がせしてすみませんでした。
でも自分が書いたコードがコンパイルできても実行できないんですよね・・・
ちょっと自分で調べてまた質問させてください・・・ >>479
helloって表示するプログラムのコンパイル・実行ができたのなら、javaコマンドへのパスは通ってて、前述のjava -versionでバージョン表示できるようになったってことでおk?
なら、あとは
java -jar なんとか.jar SwingのIME関係のバグが直ってない。画面の下の方で入力変換すると変換候補のWindowが編集中の行の上に重なってしまう。
だからSwing使ってるIntellijでも発現する。
プログラム用のエディタなら日本語あんまり使わないからあまり気にならないけど、自分は拙いながらSwingで日本語のアウトラインエディタを作ってたから、まいってしまう。
JavaFXではバグはないみたいだから、やっぱりSwingはもう見捨てられてるのかな。
おはようございます
>>483
できました!ありがとうございます! Eclipse には、JDK/JRE が内蔵されているから、
Eclipse 内では実行できるけど、
自分のPCには、JRE が入っていないから、実行できないのだろ
>>487
JDKってJREの上位バージョンでJDKさえ入ってればJREも含んでるんじゃないんですか?
どっかのサイトでそんな図を見た気がしたので・・・
違うならJREもインストールしようと思いますが いや、JDKはJRE含まれる筈だぞ。
JREにJavaで書かれたコンパイラやその他ツールをくっつけたのがJDKだし。
javacコマンドが動いてjavaコマンドが動かないなんてことはあり得ない。
てか、java コマンドもjavac コマンドも動くんだろ?
>>487
eclipseにはjdkもjreも内蔵されてないよ
ecjっていう独自のコンパイラはあるけど >>487
jreが入ってないマシンじゃeclipseは動かないからw そうか、Eclipse は、何でも独自に作るのか
人材が豊富なのか、こだわりがあるのだろう
>>492
その前に、知ったかぶりしてごめんなさいだろ コマンドプロンプトで、以下を打ってみ。
コマンドの実行ファイルの場所がわかる
where java
where javac
例えば、
where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
Eclipse は、好きなフォルダに、コピーするだけだろ
JDK/JRE も、何もインストールしないだろ。
インストールという手続きも、しないだろ
それでも、Eclipse は、すぐに実行できる、と思っていたけど
まあ、漏れは、使った事も無いけどw
こいつはEclipseが何で書かれてるかも知らんのかよ w
>>495
え、インストーラーでも動かさないとインストールじゃないと思ってる? Eclipse は、Java で書かれていて、
インストールもしないポータブル版で、
どこのフォルダへ移動しても、使えるものじゃないの?
だから、Eclipse 内に、JDK/JRE を含んでいる、と思っていたけど
まあ、漏れは、よく知らないけどさ
インストールという言葉の意味がおかしくなって来ているようだな・・・
インストールとは、環境変数PATH を書き換えて、
インストールしたフォルダから、移動できないもの。
移動すると、実行できなくなるもの
一方、ポータブル版とは、環境変数PATH を書き換えず、
コピーしたフォルダから、別のフォルダへ移動しても、実行できるもの
インストーラーを作った事がないから、よくわからないけど、
たいていのアプリのポータブル版の説明には、
環境変数PATH などを、いじってません
どこのフォルダへ移動しても、実行できると書いてある
>>504
いやだからお前のいうところのインストールの定義は誰に聞いたんだよ >>485
Windowsでの話。Java8で。
前はそうじゃなかった気がする >>508
前もそうだったのか。
でもJava8でずっとバグってるけど、挙動時代は少し変わってる気がする。
少し前のJava8のマイナーヴァージョンでは、変換候補ウィンドウが入力文字に重なってしまうのは、変換候補ウィンドウが編集行の上に表示されるときで、今は変換候補ウィンドウが編集行の下に表示される時。
IME関係のAPIをいじくったけど、うまい解決方法がわからなかった。編集中の行の高さを考慮に入れてくれないから、必ず上下どっちかの場合で重なってしまう。
編集中の行の高さはパラメーターとしてAPIを通じてIME側に渡しているのに考慮してくれない。
Windowsだけじゃなく将来的にLinuxも使って両方で利用したいからJavaで作ってて、SwingはTextEditor系のコンポーネントが充実したから勉強してたけど、JavaFXかSWT JFaceにしたほうが良さそうですね。そんな前からの問題なら。 >>509 訂正
少し前のJava8のマイナーヴァージョンでは、変換候補ウィンドウが入力文字に重なってしまうのは、変換候補ウィンドウが編集行の下に表示されるときで、今は変換候補ウィンドウが編集行の上に表示される時。 画面の下のほうで編集してるとき、IME側に嘘のおもいっきり上の位置を渡せば重ならないけど、変換候補Windowは編集中の位置から離れた位置に表示されてしまう。
まあ、うまく調整すれば、それはど離れた位置じゃなくできるかもしれないけど。
将来的にIntellijのソースとか勉強して、流用活用したいとおもってるから、やっぱりSwingも見捨てがたい。
JFace Eclipseのテキストコンポーネントも充実してるけどね。
Javaで書かれたIMないのかな
そしたらemacsみたいにアプリケーション内で直接利用できる
かな漢字変換サーバがあれば楽そう
マルチプラットフォームのエディタ作成のもうひとつの有力候補、Electonも、変換中の文字列の文節分けの表示ができないんだよね。Atomでそうなってる。
ただでさえIME関係はややこしいのに欧米の人には関係ないからおざなりになる。
>>512
jdkのサンプルにあるけどたぶん想像してるのは違うと思う。
あとswingのtext周りとIMFはまだ未実装な部分が多いから
このまま実装されないんじゃないの?
java9で久々になんか入るけど忘れた。 javaでGUI作りたかったらどんな本読んで勉強すればいいんですか?
>>516
完全に死んだ技術だからやめとけ
今だとElectronにしとけ そうなのかー
ソフトといったらGUIと思ってたから時代遅れってなんか衝撃だわ。
俺の認識ではアンドロイドのアプリを操作する画面もGUIだと思ってたんだけど別の呼び方でもあるの?
>>519
Javaの市場はほとんどがサーバーサイドだからね
JavaでGUIというと、あえていうならWebページのことだ
Androidアプリは市場規模ではサーバーに比べたらはっきり言ってゴミみたいなもんだし、
AndroidのはそもそもJavaとは認められてない海賊版だよな 図書館のキオスクがもろswingだった。
ていうか海外で結構使われてるけどな。なぜか。
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
掌田津耶乃
Spring Framework 4 プログラミング入門、2014
Spring Boot プログラミング入門、2016
JavaFX もあるけど、ウェブページが多い
そこでKotlinスタートブック紹介するなら新しい方のWebアプリケーションのほう紹介しようぜ
>>519
クライアントサイドのJavaが伸びなかった理由は最初の頃にSunとMSが揉めて結局Windowsに最初から入った状態にならなかったのがでかいと思う。
そうなるとクライアントマシンでプログラム作る側は当然そんなもん使わない。JREは一緒に配布して良いことになってはいたが配布サイズが無駄にでかくなる。
そしてappletは遅く動き始めるまで待たされる。結局Javaはクライアントマシンではほとんど使われることなくすぐに死んだと言っていいような状態になった。
使われるとしてもセッティング込みで売られるような一部の業務用端末の専用アプリぐらいだ。
Androidはそういう意味ではかなり救世主的な存在だ。これがなかったらクライアントサイドでJavaが使われることはほとんどなかったのではないかと思える。
ただし順正のJavaではないのでOracleとは揉めている。なので何れ開発にもJavaを使わなくて良い状態になる可能性はある。時間は掛かるかも知れないが。 >>526
もったいないよなあれ
Swingが全てをダメにしてる >>527
つっても作り始めたのって2003年くらいだよ?
あれ 長い間UIプラットフォームが変わらんアプリってUIだけ刷新できないぐらい中身汚ねえんだろうなぁって邪推しちゃうよね
2ch程度ならcuiで良いと思う
書き込みスレ履歴検索
読み込みスレ履歴検索
板検索
板内スレ検索
全板スレ検索
レス検索
返信ツリー検索
スレ書き込み
こんだけコマンドあればシェルで充分だろう
解りやすくするためのオブジェクト指向のはずなのにprivateでフィールドをカプセル化しだしたら一気に意味不明になってきた。
頭混乱する。これも数こなしてたらなれるもんなの?
混乱するか?外から見たり書き換えたり出来ないようにしてるだけだが。
そういう変数とかメソッドってあった方がいいじゃん。
cvsみたいにcliにいろんなやつがGUIつけるのがいいよ
テレビのチェンネル変えるのにいちいちテレビの蓋開けて電子部品をいじったりしないだろ?
チャンネルを変えたければチャンネルのボタン押すだけ
これがカプセル化の全て
違う、こんな奴
>>540
ダイヤルではなくボタン式か。最新型だな。 >>537
その例でgitじゃなくcvsが出てくるのが終わってるな 世の中にはソースを日付とzipで管理してる2chブラウザ製作者もいるそうだから
2ちゃんブラウザセキュリティが不安になるな
普通のブラウザのほうが良さそうだな
スマホってすごいね
テレビとカメラと音楽再生機その他もろもろ、
いっぺんに持ち歩いてるようなもんだ。しかも小型
残る欠点は充電が一瞬で無くなること
特にiOS最新版は糞そのもの
アップル死ねや
>>546
チャネルのボタンて書いてあるのにそれ貼る意味わからん >>542
中身は関係ないだろ
自分が最初に感銘を受けたソフトってだけだ
Javaも1.2とかだったし
git使ってたの? >>547
ネットにPCとほとんど同じように接続できるのはかなりでかい。
バッテリー問題はいずれ解消すると思うが、その頃にはもっと高機能になってて今以上に電気食うからイタチゴッコだろうな。 ほんまや
スマホの処理能力や映像性能か凄くなったよ!
と言われても、そんだけ電池食うじゃねーかとしか思えん
そもそもスマホで豪華な3Dゲームとか遊ばんし
メモリとバッテリーだけ異常に積んだiPhoneが欲しい
泥は使いたくない
>>551
メモリだのバッテリーだののマイナーチェンジについてはだいたいは iPhone が少し遅れ気味になると思う。というのはApple一社でしか作れない状態だから。
その代わり全く新しいデバイスを出した場合はしばらくは独走する可能性がある。この理由もまた一社でしか作れない状態だからだ。 ここできくのが適切かわからないけど一応メイン言語はJavaで他のJava系スレッドは機能してないっぽいんでここできく
Springとかで画面のメッセージとかを国際化する場合って普通どうするの?
messages_ja.propertiesみたいの作ってる切り替えるとか情報あったけどJSPはそれで埋め込めるけどJavaScriptとかjQueryなんかでバリバリに画面作ってる場合とかどうしてるの?
>>553
JSでi18nするライブラリぐらい普通に転がってるだろ >>527
これもV2Cから書き込んでるけど物が良いだけに更新無くなったのが悲しい
他に乗り換える事が出来る専ブラ見当たらない >>556
作ればいいんじゃないかな
ああ、でも、2chは制限あって面倒か
互換掲示板のみでいいならそんなに難しくはなかろう
面倒だけど すみません。超初心者なんですが、
<script>
function openWin2() {
window.open('https://A', 'left=0,top=0,width=520,height=650');
window.open('https://B' , 'left=0,top=0,width=520,height=650');
return ture;}
</script>
と記載し、リンクをクリックした際にAとBのサイトを開くようにしています。
AとBのサイトが上にこないように表示させたいのですが、どのような記載をすればいいですか?
スマホだとAとBがバラバラに表示されるので、常に後ろで開くようにしたいのですが、、
どなたかよろしくお願いします。 RxJavaの質問です。
ひとつのリソースをパイプライン中の複数個所で使用するためそれぞれ排他制御しようと
思うのですが、onNext()中でリソース待ちで処理をブロックするのって合法なんでしたっけ?
javaじゃないんだが
javaeeやってる人もいるかと思い質問
jspでなぜかh:formが使えない
h:commandButtonは普通に使えているので宣言自体に問題はなさそうなんだが何でだろう?
因みにformは通る
>>562
使えないってだけで状況わかるわけないだろ
どんな環境で何をしたら結果どうなってるのか書けや やさしいjavaから入って評判のスッキリわかるjavaも一通り読み通した
そろそろプログラミング言語java4版いけるだろうか?やっぱ本家本元で勉強すべきかなぁって
ちなみに同じくバイブルと言われてるeffective javaは図書館でパラ見してこれは手も足も出ないわってなった
>>564
そこに行く理由がないような気がするなあ
ささっとSpring bootでハローワールドとかやってみては? Java7で終わった言語じゃね?
あとは着ぶくれさせて見た目を誤魔化してるだけで
h:form ってことは JSF だよね。
ちゃんと f:view にいれてるか?
>>564
マジレスすると、
『創るjava』を読んでnetbeansを使いこなせるようになりなさい なんか、俺が関わるの(プログラミング言語)すべてダメになるんだけど、
JavaEEを久しぶりに触ってみて、最近のJavaEEスゲエいいじゃんwwwwwwwww
Sunの頃の設定ファイル.xml地獄とは全然違うぜ!!と思っていて、うぉぉぉぉぉおぉぉおぉぉぉ、NetBeansも昔よりスゲエ使いやすいwwwwwwww
JavaFXもSwingなんかと比べ物にならねえ!!!!!!!!!!!!!!!!!なんて、思っていて、JavaEEのサンプルのために、Eclipse入れてみたら、
Eclipseは昔と同様に糞だなwwwwwwwwwwwwwとか思ってて、糞ウゼエと思ってて、やっぱ、昔のJavaの血を引くオプソ関連はダメだわ・・と思っていたら、
こんなニュース載ってるじゃん(;´Д`) 猛ダメポ・・・(´・ω・`)
【Oracle、Java EEをEclipse Foundationに寄贈する方針。名称も変更へ】
https://mag.osdn.jp/17/09/14/161500 Javaはあまりにも言語としてすぐれていた
だからつぶされる
Eclipse
android用なら Android Studio
今時はIntelliJだな
VisualStudioを期待するとEclipseとIntelliJなんてカレールーで作ったカレーかインスタントカレーか程度のレベルだから、
そのつもりで期待しないで試すといい
VisualStudioは出来が良すぎてな
Windowsも10になってからめちゃくちゃ強力になってるし
C#も驚異的なスピードで進化してる
マイクロソフトの仕事とは思えないほど飛躍してる
でもUIテーマが最高にダサいから人気は出ないんだな
JAVAの仕事ってしたことないのですが
開発環境の主流はやはりEclipseなんでしょうか?
Android StudioとNetBeansなら触ったことあるんですが、
2つとも主流じゃないなら、勉強してもしょうがないかなと
今時オープンソースでないIDEなんてゴミだから
最近やたらC#はーとかJavaはめんどくさいーとか喚いてる初心者沸くけど
使えないなら使えないなりにもっと媚びへつらって教えを請えよアホ
Javaがめんどくさいのは事実だしなあ
Javaは簡単だけどめんどくさい
C#は簡単で快適
C#はお前みたいな馬鹿用に作られた言語だからな
そら仕方ない
いやいや
Javaコミュがバカだから使いにくいまま放置してるんでしょ
またオタク同士でケンカしてるの?
これだから信者はイヤなんだよw
使いにくいと思ってるのはお前みたいな馬鹿だけ
>>577
NetBeansは触るだけ時間の無駄
まともなところはEclipse一択。泥は使う場面に遭遇したら覚えればいい EclipseはLinuxでも動くしC言語とか他の言語開発でも使えるからいいよな。
Eclipse, IntelliJ IDEA, Android Studio, NetBeans, Gradle
Groovy, Kotlin
>>584
未だにλがどうのストリームがこうのと揉めてる時代遅れの人達でしょ
明らかにそっちの方がおかしいよ でも時代の先を行ってるはずのC#erも、その辺のプログラマのレベルでいえば、大したもん作ってるわけでも特筆するような生産性を叩き出してるわけでもないからなぁ
どうなんだろね
ホントの成果って企業が隠してたりするからね
本当にコアの技術を支えてるとんでもない人たちは高級アセンブラであるCを愛用している
JNIの質問もここでよいのですかー?
androidでJNIを使いました。
javaのStringをCへjstringで渡してGetStringUTFCharsでconst char*には変換できました
そこから別の関数Hoge(const char*)にGetStringUTFCharsで変換したポインターを渡すと
文字が無くなってしまう(android studioから見ると""と表示される)になってしまうのですが何が問題なのでしょうか?
strcpyでchar配列にコピーしてからHoge(const char*)に渡しても同じでした
JNIEXPORT void JNICALL nativeTest(JNIEnv *env, jobject thiz, jstring filename) {
jboolean copy = false;
const char *p = env->GetStringUTFChars(filename, ©);
Test(p);
}
void Hoge(const char * p) {
//*pが""になる
}
ごめんなさい
上のTestって関数を呼んでた・・・・
JNIEXPORT void JNICALL nativeTest(JNIEnv *env, jobject thiz, jstring filename) {
jboolean copy = false;
const char *p = env->GetStringUTFChars(filename, ©);
Hoge(p); //間違ってた
}
void Hoge(const char * p) {
//*pが""になる
}
>>591
ハード屋って言うのはVerilogとかVHDLとかを使う奴のことだろ >>594
グルると GetStringUTFChars() を呼び出す個所は
env->GetStringUTFChars(filename, ©);
ではなくて
(*env)->GetStringUTFChars(filename, ©);
のように書いてあるプログラムばかりが見つかるわけだが、JNIEnv が struct JNINativeInterface * ならば JNIEnv *env
は struct JNINativeInterface **env なわけで、にも拘わらず env->GetStringUTFChars(filename, ©); と書いたならば
コンパイルエラーにはならんのか? >>576
UIとか関係なくてたんに
PCからスマホにメイン市場が移ってるから
AndroidのJavaに開発者が集まってるんだろう
言語だけ見たらJavaよりC#の方が先進的だな
でもScalaやF#の方がさらにその先を行ってるけど >>595
コアの技術を支えてるとんでもない人たちは >>598
Cを使うようなハードウェア屋はそんなにコアではないだろ
わりと高レベルな部類 C#とJavaだとタイプ量がまるで違う
8になるとようやくλやstreamが使えるようになって多少改善されるけど
それでもまだまだコーディングを楽にする様々な言語仕様の差は大きい
両方使ったことがあってJavaが楽だなんて考える奴はちょっと頭がおかしい
それかC#を使ったことない食わず嫌いなんだろうね
>>600
お前にとってプログラミングってのは指の労働なんだなw >>601
頭脳ろうだからこそ指の労働を減らしたい
そんな当たり前のことがわからないんだね
だからJavaとかいう冗長な言語をありがたがるんだろうなぁ >>600
ラムダ式って名前がついた記法であってλじゃないよ >>607
俺はパチスロの機種のことだと思ったぜ・・。 ラムダ式のラムダはλのことなんだし
ラムダ式をλって略して言っても、この場合普通の人は文脈からそれがラムダ式であることを理解できるだろ
まだクソの役にも立たない引き籠りコンピュータオタク同士でケンカしてたのかよw
>>609
CR機は知ってるがCRCなんてあったっけ? >>606
アホ
長いコードを読む労力に気が付かない >>570
盛者必衰
特に潰しにかかる企業が居たりすると >>602
じゃあC#がもっとも簡潔で優れた言語なの?
もっと強力な言語はあれど、あまり先進的でも使いこなせないし、俺程度ならこんなもんでいいかって妥協してC#使ってるだけでしょ
ま、なにが言いたいかというと、JavaもC#もプログラミング言語全体で括れば似たようなもんだし、
多少C#の方が強力なのが事実とはいえ別にお前が偉いわけでもすごいわけでもないんだから
いちいちJavaスレにドヤ顔しにこなくていいよ、C#ユーザー程度が どんな言語使おうが構わないから、仕様通りに動くもの作ってよ
JavaスレでC#とかアホ御用達言語を力説するJavaが使えない低能とか滑稽すぎるw
はよ人並みに使えるようになれよ阿呆
>>617
動きのみを規定している中途半端な仕様か javascriptで
HTML側にoncickで一度でjsに行き
jsのクリックで
ダミーボタンをクリックさせて
ダミーボタンのアクションを発生させたいのですが
どうもダミーボタンのクリックが動かない
いい方法ありませんか?
IDE無しでJava触ってる奴なんかおらんやろーwwwwww
IDE無しで素のテキストエディタだけで書けって言われたら逃亡するわ
>>627
早くAPIリファレンスだけリリースして欲しいわ
検索窓はよ >>626
Java 学習中の頃は vi でやってたよ。確か20年ぐらい前。 java 7
Apache commons
の環境でstream apiの代替品ってありますか?
社員以外はネット接続不可の会社のプロジェクトで
秀丸をデフォルトエディタにするようにわざわざ規約にまで書いてるところあってストレスやばかったわ
使いずらいしグレップが話にならんレベルで糞だし時代に取り残された頭弱い社員いるとホントきついわ
頭がいいからお前らにネットを使わせなかったんだろ?
>>631
俺は当時メンヘル無職で、4000円の秀丸がどんなけ欲しかったか・・・。メンヘル無職だったから、
当時の例の暗号も知らず・・・。 サーブレットやっていて質問あるのですが、
DAOって各テーブル毎にsearchやらinsertメソッド作らなきゃいかんのですか?
jdk9がリリースされましたがモジュール・ルールのせいで、#!/bin/bashで起動できません。bash$ java -jar main.jar では起動できますが警告が出ます。
WARNING: An illegal reflective access operation has occurred
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
検索すると java --add-...のオプションで云々のようです。
使い捨てプログラムであってもこのようなjava9ルールに従うのも勉強するのも面倒です。java8以前でコンパイルしたものをbash;console;bat.shで警告なしで通常起動するには、結局どういう作法に則れば良いのでしょうか。適当なポインタをお示しください。
どのjavaアプリは内緒ですが、
WARNING: Illegal reflective access by ... to field sun.awt.X11.XToolkit.awtAppClassName
です。それとnetbeans8.2はjava9に対応してないようですね。
netbeans9も開発移管でドタバタしていて、もうnetebansとしてはリリースもされないかもしれません。がそのあたりの今後の事情もどうなっているんでしょうか。
>>646
それ
異論はあったけどそのシステム関数の呼び出し方はJavaa8までは認めて来たけどもうJava9じゃダメにすっから
ただ今すぐじゃなくていつか必ずね
ってエラーじゃなかったっけ?
対処はプログラム修正だけの記憶 再コンパイルですか?配布アプリや、ライブラリ同様、自作でないし、ソースもないのでそれは無理ですね。ソースがあってもそういう面倒な絶対にしません。
もうjava9はvb6 or vb.netのような使い方を提供しないのでしょう。使い捨てprogramming用途も目指さないのでしょう。これからjshell云々で勉強する人たちを思うと、なんか泣けてきますね。
ウチのならこんな感じ
肝は最後の行
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.monazilla.秘密 (file:秘密) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of org.monazilla.秘密
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
多分これのことじゃないかと思ってる
最後の行は--illegal-access=warnとかjava --add-...のオプションで云々のことだろうけど
多分間違いなんじゃないあkと
https://builder.japan.zdnet.com/sp_oracle/35095997/
JDKの内部APIの大半が利用できなくなる(JEP 260)
JDKには、JDK外部からの利用を想定していないAPIが多数含まれている。
これらのAPIは隠蔽されておらず、ごく普通に使うことが可能であったため、少なからぬアプリケーションで使われてきた。
しかし、JDK 9からは大半の内部APIへのアクセスが不可能となり、アプリケーション開発において利用できなくなる。
ただし、以下に示すAPIについては、代替となるPublicなAPIが用意されるまで、例外的にアクセスが可能なまま残されることになっている。
sun.misc.Cleaner
sun.misc.{Signal,SignalHandler}
sun.misc.Unsafe
sun.reflect.Reflection::getCallerClass
sun.reflect.ReflectionFactory
アプリケーションが内部APIを使用しているかどうかは、JDK 8以降に付属するツール「jdeps」を使って調べられるが、
JDK 8のjdepsとJDK 9 EA(Early Access)版のjdepsは異なる結果を返す可能性があるため、
JDK 9 EA版のjdepsを使って確認することを推奨する。
また、JDK 9以降でも、実行時のコマンドラインのフラグによって元の振る舞いに戻せるという。 >>649
ClassLoader; setAccessible(T)も云々ありましたね。リリースノートに。
>>650
そういうお題目を聞きたいのではありません。java8以前のプログラムを、再コンパイルなしで、java9でも問題なく使うにはどうするのかということを聞いてます。要するに、java9のモジュール・ルールを完全無視しても問題ないように使うにはどうするのかということです。
相手の要求について、それへの読解力もなく、知能も低いなら、私のレスに、あなたの時間を使う、必要はありません。解法を知らないなら余計な口出しも時間の無駄なので不用です。 >java8以前のプログラムを、再コンパイルなしで、
>java9でも問題なく使うにはどうするのか
たぶん、Java8, Java9 のコンパイル済みバイトコードの互換性が無いんだろ
jshellネタもお聞きしたかったんですが無理そうですね。検索したものを、自力で、写経など、して欲しいわけではないので。「だろう」など予測や、「だろ」など推論などのたぐいも興味ありまままません。
>>652
その低レベルで互換性がないんですかね。オプション(やモジュールファイルを書くことで)でどうにかなると思うんですけど。
「たぶん」ということは、そこを解説した(日本語などの)記事は、リリースの今まで、なかったんですか。
これほどの互換性破棄は、警告の含みを持たせても酷いですね。この様子だと、オラクルはジャバを数年で手放す感じです。モジュール化できたのでオラクルに不利益は無いです。JVMはどうするんでしょうか。 餌を欲しくて必死に尻尾を振るオモシロ生物を観賞できるのはこのスレですか?
おもしろ生物にしっぽがあるのはおもしろいんでしょうね。イメージ沸かないですがどんなんですか?
俺様さんが解法を知っていようが今井が私にとってはどうでもいいことです。解法を教えてくれるかどうかにも興味ありません。
ところで、隔離スレの方で顔文字さんが荒らしてるようですが、いつからですあk?
>>655
俺様さん。まったく面白くないので。もう時間の無駄な浪費はしなくていいです。理解力、低学歴、読解力、低知能、どれもこれも、あなたには失望しました。 631デフォルトの名無しさん2017/09/18(月) 16:34:16.51ID:0xMGaykj
日本では案件終了したら解雇ってのができないから結局自社で開発人員雇えず外注するしかない
大企業から直接受注する所も同様に大規模案件だから社員増やすなんてことできずそのリスクを下請けにたらい回しにする
つまり根本原因は日本の雇用の仕組みにあって簡単に解雇できるようにすれば解決するわけで、
連合が賛成しかけてたが結局反対になったのにはがっかり
632デフォルトの名無しさん2017/09/18(月) 18:06:07.38ID:4jqNAKfb>>633
swiftやkotlinを使えない奴がXamarinに逃げてんのか
633デフォルトの名無しさん2017/09/18(月) 18:16:18.13ID:8X6lOc6E
>>632
Xamarinそんな人気なんだw
634デフォルトの名無しさん2017/09/18(月) 18:38:12.39ID:JlWtxMf6
人脈がない人お断り >>661
自己紹介おーーーーーーーーーーーーーーーーつ >>664
ところで、java9 illegal...warnの解法は検索して見つけてくれましたか? 業務環境端末のjre勝手にアップデートするアホは死んでいいよ。
テストの時間ひねり出さなきゃならん。
テストランナー起動するだけじゃん
テストを軽視して何も準備してこなかったお前が悪い
人のやることなすこと何でも文句を付けるだけの民進党みたいな奴がいるな
オラクルお得意の殿様商売ですか。ジャバの開発続行はオラクルにとって何のメリットも無いので、そろそろ手放さないとお荷物になるでしょうね。
訴訟があったのでやっぱりグーグルかMSが買い取るのが最良でしょうか。携帯。スマホ。10万円。オラクルにこのマーケットはもう関係ないですね。
>>672
デスマーチ=死ってまた貧弱な発想だなぁ 自演したり、ID変えたり、偽装したり、ばか丸出し?それとも昭和?
ム板のレベルがさらに下がってもどうでもいいです。
うんこちんこで1000レス目指すのもありなんですかね。スクリプトとかAIとかで。
オラクルは所詮うんこなんでこれも仕様がないですね。
>>674
貧弱なおつむで搾り出して、その程度ですかw あっ
生きてて楽しくないから2ちゃんでそんなことしてたんだっけね
ゴメン
気付いてあげられなくて
「オッサン」て言葉を使ってみたかったんですか?
そういうちんこまんこおっぴろげは隔離スレでやってほしいんですけど。あなたは社会のルールすら守れないんですかね。もしかしてゆとり世代?
オラクルもこういうゆとりちゃんの相手をしないといけないわけだから。ジャバはもう手放すしかないね。知能も低い。学力も低い。しかもルールも守れない(知らない)から、サポートしきれないでしょ。ジャバは資格商法で小銭稼ぐぐらいしか使い道がない。
このスレは、うんこ!ちんこ!、うんこ!ちんこ!、いつもこの調子なんですか?
jdk9リリースで久しぶりによってみたんですけど最悪ですね。質的にも。人的にも。
ジャバはオワコンどころでないです。とっくのとうに終わってたんだなと思いました。
>>686
文章や文脈を理解できる知能がないのだから、私の相手をしなくていいです。ただでさえ短いあなた様のローソクを、私のために浪費しないでください。 そういやJava9はJavadbバンドル止めたのな。
俺がようやっと使ってみようかとゆっくり調べ始めたとたんにこれだ。
まあ別途用意すれば良いだけだから一緒にインストールされなくても困らないが。
いやあ、しかし、OracleならいっそのことOracleのDB付けてくれれば良いのにな。w
オラクルうんこ!オラクルちんこ!の続きをしないんですか?
そういえば、MySQLもオラクルは手放すようだ。の噂があるんですけど、いつごろでしょうか。ジャバを手放した後でしょうか。
>>679
いい加減スレチですね。ジャバねたすらも持ってないなら隔離スレに移動して、もうここには来ないで臭い。 >>693
お前もスレチだから早く死んだ方がいいよ >>694
一緒にするな。おまえなんか何らのネタも提供できてないだろ?w 動いているシステムを変えたら、いけないのは常識だろ。
普通は、アプリを作った時の、システムでしか動かない
Windows10 で、ほとんどのアプリが動かないから、
企業は皆、Win7 を買っている。
そうしないと、すべてのアプリを改修しないといけなくなるから無理
システムを先に決めたら、ダメ。
先に使うアプリを決めてから、それが動くシステムを使う
Windows10だと動かないと言うよりは、動くかどうか確認するのにコストが掛かるのが最大の問題じゃないかな。これは作業者の学習の問題も絡む。
で、そのままにしとけば動くことはわかっているので先送りして限界まで使おうってことだろう。
まあそれでも事務機として使うとかクライアントの端末として使うとかなら比較的早く移行するだろうが工場の機械のコントロールに使っていたりしたら中々変えられないのが普通。
PC-9801関係の需要が未だにあるのはそのため。
そういう古い考えでヴェロシティを上げる投資を怠ったから日本は衰退したんだよ
もう取り返せない
うーん。そうだな。ただ、既に衰退していたから投資したくてもできないってのもあったと思うんだよね。鶏卵の関係だな。
どちらにせよもう終わったんだ
これからは日本企業はどんどん衰退して外資を相手に商売をすることが増える
日本式の古臭いやり方も変えていかないとまずいだろうな
色んなアプリの対応OS を見ればわかるけど、Win7 までしか書いていない。
Win10 に対応させるには、改修コストが掛かるから、アプリ製作者は対応しない
もし、Win10に対応して、そのアプリが売れるのなら対応するけど、
そこまでは売れないから、対応しない
java9,javafxなどを持つオラクルが携帯やスマホに参入しないのはなぜですか?
Windows 10 は今までの Windows にないような問題もある。
それはアップデートによってかなり大掛かりなOS変更が行われるようになったことだ。
従来なら Windows 11, 12, ... のように名前を変えて出しそうなアップグレードまで含めて Windows Update でやってしまう。
こんな状態で「Windows 10 対応ソフト」などと明言して売ることは従来の Windows よりもハイリスクになる。
>>703
それで稼げそうな感じがしないからでは? プラットフォームの激変は悪くないことだ
その程度の変化にもついてこれない連中を切り捨てることができる
実際のところしっかりしたデベロッパーはなんの苦もなくW10対応できてる
オラクルは、ジャバを持っていても利益に直接貢献しない。アンドロイド開発者などはクライアントサイドのゴミなので業務とも関係ない。ジャバSEなど持っていても、うじ虫だらけ、ばい菌だらけ、なのでサポートも面倒。よって損失でしか出ない。
間接的利益の貢献も社会的具体的評価や数値では現れてない。ジャバはそもそも、オラクルが開発したものではなく、サンの買収によって得たに過ぎない。それなのにオラクルが今でもジャバを手放さないのはどうしてですか?
ジャバを、ウインドーズで開発・使用してる人はそんなに多いんですか?
それと、そもそも、ウインドーズ使ってる人って現在でも多いんですか?
このレベルでも無理ですか。ム板自体が終わってたようです。過疎も酷いしこの板は、乗っ取るのも容易でしょうね。
ジャバを手放した方が人工知能などを研究してうんぬんかんぬんするよりも安上がりなんですけど。文系脳文系発想の人間がいない?やっぱり低知能の考えてることはよく分かりません。
本日の NG ID は ID:ry31kkE4 でよろしいでしょうか。
856 名前:デフォルトの名無しさん 2017/09/24(日) 13:41:08.56 ID:rk9buIU7
そうか、pingぐらいは知ってたか
そしてそこしか読めなかったか
857 名前:デフォルトの名無しさん 2017/09/24(日) 13:42:46.12 ID:rk9buIU7
こんな使えない無知にならないように、初心者の皆さんは情報処理の勉強もした方がいいよ
859 名前:デフォルトの名無しさん 2017/09/24(日) 13:47:23.32 ID:c233uqnI
>>836
情報処理関係の資格は一つも持ってないなあ。
でも昔々学校でC言語とかUNIX教えてたよw
ついでに一太郎も教えてたがw
860 名前:デフォルトの名無しさん 2017/09/24(日) 13:50:24.68 ID:c233uqnI
>>843
うーん。資格あろうがなかろうがそれに関する情報は入手可能でしかも実際にやれるわけで、
情報処理関係の資格は採用時の目安としてしか意味がないんじゃないか?
まあ、何か資格持ってると手当を出す会社もあるが。
861 名前:デフォルトの名無しさん 2017/09/24(日) 14:16:04.13 ID:tu0D//Rh
派遣・請負などで、企業を回ると、
資格を確認するから、無いと仕事が取れない
外注で、1人月の最低ラインが、時給5千円 * 180時間 = 90万円
資格のない人に、これだけ払うのは、客が嫌がる
862 名前:デフォルトの名無しさん 2017/09/24(日) 14:19:51.11 ID:2qYUC1f+
糞の役にも立たない情報処理の有無確認する企業なんて見たことも聞いたことないわ
863 名前:デフォルトの名無しさん 2017/09/24(日) 14:48:57.79 ID:VKMqmniU
>>858
7階層レイヤーって初めて聞いたから、それが役に立つものかどうかなんてわからないなぁ
864 名前:デフォルトの名無しさん 2017/09/24(日) 15:05:17.49 ID:2qYUC1f+
資格が役に立たないことはみんなわかってるから資格の有無なんて全然問われないし
こうして試験で金稼ごうとする狡い工作員が沸くんだよな
問題だってほとんどただの教養で暗記するだけホント馬鹿らしい内容ばっかだし
865 名前:デフォルトの名無しさん 2017/09/24(日) 15:14:30.76 ID:c233uqnI
学歴も役に立たない点では同じだが未だにあてにしてるね 学歴とかコンプねたはマ板でやれよ。ステマ用の隔離板だから。
ここはジャバすえrなんだろ。jdk9がリリースしてもなお、仕事の話をしないのか?
まあ無理か。やっぱりアンドロイド、かつ、ゆとり世代/さとり世代は日本の癌だ。仕事の話もできない/教育を受けてないのが証明された。
String.formatの挙動で、%がエスケープ文字になるってのは分かるのですが
System.out.println(String.format("%ds",5));
//=>5s
System.out.println(String.format("%%ds",5));
//=>%ds
System.out.println(String.format("%%%ds",5));
//=>%5s
2番目だけ5がどっかに消えてしまっているのですが、コンパイルエラーにも実行時エラーにもならないのですが
挙動的にこれ問題ないのですかね
個人的にはコンパイルエラーで止まって欲しいのですが
文句があるなら手放せっての
お前のためにjavaがあるわけじゃねーんだ
>>719
ありがとうございます
引数に指定したのが反映されて無いので、何かしらバグかと思ったのでつい…… %d → 引数の数値を表示
%% → % を表示
%%%d →%と引数の数値を表示
だから正常
>>721
717はそれはわかってるけど、書式を指定しないで引数の数値だけ有るのはエラーにならないのかって話じゃ? >>722
printfが使える言語で、それがエラーになる言語ってあるのけ? Javaの場合はC言語とかと違って引数の個数が伝わるのでエラーにすることも可能な筈だが、C言語との互換性を考慮してあえてエラーにしなかったのかも。
>>723
エラーではないのでエラーにする処理系はないと思うが警告を表示する処理系はある それエラーになったら糞めんどくさいだろw
テンプレート側を入れ替える度に引数の方もいちいち調整しなきゃいけなくなるだろう。
その辺はバグの元になりかねないのでなんとも言えないところ。
できればgccのようにコンパイラが見つけ出して警告出すぐらいはやって欲しいが、それにはコンパイラにそのための特殊な拡張が必要になる。
(専用のエディタでやってもいいか)
>>728
別に全ての場合に対処しなくてもいいでしょ
ありがちな間違いを指摘してくれるだけでも充分役立つと思うが コンパイラの仕事じゃねぇ。
>>726程度のことも想像付かないようなバカが、設計にケチつけるんじゃねぇよ。 仕様だからコンパイラがチェックすることはないんだし
IntelliJやFindBugsみたいなチェックしてくれるツールを使えば?
ま、しかし、printfはなんとも言えないメソッドだな。
引数の個数や型のチェックが実行時にしかできず、実行時にしかエラーを出せない。
小規模だけど一応インタープリタだからしょうかないか。
ウチは、jdbcドライバのjre9対応版待ち。
動くけど警告出る。
jdk9でインタフェースにprivateメソッドも書けるようになって混乱中。。
外部とのI/Oを定めるってのが元々のインタフェースの意義だと思っていたんだけど、外部に公開されないprivateメソッドをインタフェースに出す理由が知りたいなあ
抽象クラスでいい気がするんだけど、そうするとクラス階層が深くなりやすのがダメ?
>>738
デフォルト実装の中から呼ぶためだけに使う >>739
あー、そっか
複数の公開デフォルトメソッドから呼びたい共通ロジックの置き場所か
ありがとうございます、確かに欲しいですね ああ、JavaEEからOracleが手を引いたりしたら、JavaEEもNETBeansも
また昔みたく糞になるんだろうな・・。
昔のNetBeansとかForte for Javaとか、秀丸でソース書いてjavac でコンパイルした方が
いいという様な感じだったもんな・・。
初期のJavaEnterpriseなんて、ASP(ASP.NETじゃない)で、コリコリ書いてたほうが
よっぽど気楽だったもんな・・。
昔Strutsが出てきた頃、他のEJBとかのXML地獄が嫌になって、Javaやめたんだけど
今更、Struts真剣に触りだしたら、面白えなw 当時は、有り難みがあまりわからなかったけど。
>>743 そもそも趣味程度にしかやってない・・ RxJava2のBackPressureで質問です。
Flowable<Long> flowable = Flowable.interval(10L, TimeUnit.MILLISECONDS)
.observeOn(Schedulers.newThread())
.subscribe(new Subscriber<Long>() {
@Override
public void onNext(Long value) {
// ここで時間のかかる処理
this.subscription.request(1);
}
});
このようにPublisherとSubscriberを別スレッドで動作させたところ、request(1)のBackPressureがflowableまで
伝わらないようでobserveOnのバッファがいっぱいになったところでMissingBackPressureExceptionが
発生してしまいます。
スレッドをまたいでBackPressureを効かせるにはどのようにすればいいんでしょうか。
あるいは今のRxJava2(2.1.4を使用)では無理なんでしょうか。
Javaは今後消える可能性があるので別の言語で食いぶち探すわ
使いこなせない馬鹿が勝手に消えてくれる分にはJavaの未来は明るい
Bean Validationって検証エラーのあった項目のバックグラウンドカラーを変更する、的な処理は可能?
Bean Validationをなんだと思ってるんだこいつ
Bean ValidationとViewは全くの無関係なのでそんなことは出来ないよ
日本のビジネスアプリはValidationでViewを操作する要件はまず間違いなく必須なので
事実上Bean Validationの出番はないと言っていい
画面側でタグなりカスタムタグなりでバリデーションのエラー判定すりゃいくらでも出来る
っつーか普通にやるわ
Bean Validationでは出来ないってだけ
普通は他の手段でやる