X



★★Java質問・相談スレッド181★★
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/02/10(土) 17:49:40.56ID:l9ZzjyKP
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    http://pc11.2ch.net/hp/
Webプログラミング http://pc11.2ch.net/php/
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド180★★
https://mevius.5ch.net/test/read.cgi/tech/1492780397/
0388デフォルトの名無しさん
垢版 |
2018/07/01(日) 12:11:03.57ID:oSgDfxs0
Java少し前に始めたけどprogateより参考書読んだ方が圧倒的に理解できるぞ
始めるきっかけでprogateは悪くはないと思うけど
0389デフォルトの名無しさん
垢版 |
2018/07/01(日) 14:26:54.09ID:yaDvqYhr
参考書を読む、試す、の繰り返しで良いんではないかな。
0391デフォルトの名無しさん
垢版 |
2018/07/02(月) 08:23:40.31ID:G0LOf4TF
スッキリわかるjava入門の命令実行の文の所の後半よくわからないんですが
読み飛ばしても後々問題ないですか?
0393デフォルトの名無しさん
垢版 |
2018/07/02(月) 09:42:59.20ID:/q8FZihl
その本に何が書いてあるかわからないので読み飛ばして良いかどうかもわからない。
その本が出る前に初心者ではなくなってしまったのでその本をこれから買う気は起きない。
0394デフォルトの名無しさん
垢版 |
2018/07/02(月) 09:47:04.17ID:HD8gmjU2
JVMが実行されるときにパイプライン上で分岐が生じるかどうかを聞いてるのだと思うけど(すげー適当)
0395デフォルトの名無しさん
垢版 |
2018/07/02(月) 10:23:37.86ID:G0LOf4TF
>>393
すいません。この本はjavaの初心者入門書で
System.out.println();←こんな感じの命令実行文の説明してる章(第2章)みたいなんですけど何を伝えたいのかよく分からなくて^^;
他にもSystem.out.printとかint. =Math.max (?)のこととか書かれてるんですけど…
こういう命令文もあるんだ〜程度に覚えて次に進んでも問題ないですかね・・それともガッツリ覚えてから行かないとどっかで躓きますかね・・・ 
0396デフォルトの名無しさん
垢版 |
2018/07/02(月) 11:34:34.56ID:9wGdj7CA
Ruby で書くと、
puts "あいう"

画面表示するだけの関数だから、一々、覚えなくてよい
0397デフォルトの名無しさん
垢版 |
2018/07/02(月) 11:57:56.38ID:G0LOf4TF
ここが命令を実行させる文とだけ覚えておけば問題ないですか・・ね
初心者すぎる質問でしたが答えていただきありがとうございました
0398デフォルトの名無しさん
垢版 |
2018/07/02(月) 12:27:22.30ID:HeCnpISr
良くできた本は最初から順にひとつづつ読んでいくのが一番良い。
このタイプの良本は教科書やロングセラーに多い。
適当に思い付きを並べた糞本は順に読んでも意味がない。
というかどう読んでも意味がない。
0400デフォルトの名無しさん
垢版 |
2018/07/02(月) 12:31:28.49ID:HeCnpISr
>>399
たとえばドラゴンブックはよくできた本の一つだな。
0401デフォルトの名無しさん
垢版 |
2018/07/02(月) 12:44:32.96ID:7ATQpDYX
普通はわからない所が出てきたら手前の方のページに説明が書いてあると思うのでそれ見れば良い。
必ずしもそうとは限らないが。その場合は索引見ればいいかな。
0403デフォルトの名無しさん
垢版 |
2018/07/02(月) 15:34:52.77ID:6MU/ELtX
>適当に思い付きを並べた糞本は順に読んでも意味がない。
Effective Javaのことか?w
0404デフォルトの名無しさん
垢版 |
2018/07/03(火) 13:59:37.26ID:CyvRpAiw
System.out.printlnはその本の後半で説明してるれるから飛ばしても問題ないよ
自分もその本の読んだけど個人的にはモウチョイ詳しく書いてほしかったな
printとprintlnの違いについてすら書いてなかったし
0405デフォルトの名無しさん
垢版 |
2018/07/04(水) 21:56:46.88ID:gFgZc5FG
NJG
0407デフォルトの名無しさん
垢版 |
2018/07/07(土) 16:05:41.45ID:aa52jsH+
よろしくお願いします

public class HelloSampleActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
(略)
Button btClick=findViewById(R.id.btClick);
AListener listener=new AListener();
btClick.setOnClickListener(listener);
}
private class AListener implements View.OnClickListener{
@Override
public void onClick(View view){
}
}
}
onCreateメソッド内のsetOnClickListenerに関しての質問です。
Button型のインスタンス btClickが、なぜ(どうやって?)set.OnClickListenerメソッドを使えるようになっているのでしょうか?
0410デフォルトの名無しさん
垢版 |
2018/07/07(土) 16:19:54.19ID:9/rBHklo
>>407
ButtonがViewを継承してるからじゃねっすか
0412デフォルトの名無しさん
垢版 |
2018/07/08(日) 20:49:11.79ID:jlZqZIEk
ラズパイ+Netbeans+JavaFXでGUIアプリを作りたいんですけど、どうしても環境が作れません。

https://netbeans.org/kb/73/java/javafx-setup_ja.html
ここに従って新しいJavaプラットフォームを作るように言われて作るのですが、JavaFXタブがありません。
上記の環境を構築できた方いらっしゃらないでしょうか。
0416デフォルトの名無しさん
垢版 |
2018/07/08(日) 22:06:11.29ID:i8SXyieH
NetBeansとかIntelliJ IDEAとかはSwing製なので
まだまだイケるんじゃないかな
0419デフォルトの名無しさん
垢版 |
2018/07/08(日) 23:31:34.26ID:XkcpXb4y
普通にHTMLでよくね?
配布するならElectronとかでバッケージ化したくなるけど、
ラズパイならどうせ固定用途だろうからローカルサーバーで何の問題もないでしょ
0421デフォルトの名無しさん
垢版 |
2018/07/08(日) 23:36:30.10ID:jlZqZIEk
条件は変えないで、知識が在る方がいましたらアドバイスお願いします
違う方法のアドバイスはご遠慮します

>>419
できない

>>420
GPIOが必要な案件で尚且つGUIが必要
0422デフォルトの名無しさん
垢版 |
2018/07/08(日) 23:38:58.97ID:toxXARvC
JavaでGUIか
JavaFXのWebViewのみを使ってElectronみたいなのはアリかもな
Electronとの違いはJavaScriptではなくJavaで書けること
0425デフォルトの名無しさん
垢版 |
2018/07/09(月) 06:48:47.54ID:wOPKveTX
>>421
何ができないんだろう?
Spring Bootとかで普通にWebアプリとして作れば裏側はJavaで書けるしローカルで完結して動かすこともできるしライブラリがあればGPIOも使える
条件は完全に満たしてる
Javaのクライアントテクノロジなんて今から絶対に手を出してはいけない
0426デフォルトの名無しさん
垢版 |
2018/07/09(月) 13:53:15.39ID:RPo/jFjY
今は、クライアントを、Java にはしない

Ruby, Python, Java など、すべての言語で、HTML, CSS, JavaScript。
どのフレームワークでもそう

Rails でも、Node.js が必須。
jQuery, Vue.js とか

電子工作なら、Python
0427デフォルトの名無しさん
垢版 |
2018/07/09(月) 14:01:10.35ID:RPo/jFjY
5ch ブラウザなど、Java で画面を作っているアプリもあるけど、
結局、誰も保守できなくなるから、開発者がいなくなる

こういうのを技術的負債と言う

君「誰か、JavaでGUI を作れる人、いませんか?」
全員「いません!」w
0428デフォルトの名無しさん
垢版 |
2018/07/09(月) 14:52:34.10ID:5GBDda87
5chの専ブラは2chの頃にクローズドにしてフリーソフト閉め出したという特殊な事情があるからここで挙げる例としては適切ではないと思う。
0429デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:11:42.84ID:OMEWQnbN
これまじでいい
https://goo.gl/uAcy7u
0431デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:36:36.00ID:H+d2FLX/
基本情報とりたいし、phpとかrubyじゃなくてjavaやろうと思うんだがこれでいいの?CtoCのWebサービス作りたい
0432デフォルトの名無しさん
垢版 |
2018/07/09(月) 16:54:57.75ID:49BAkqpD
>>431
できなくはない
適切な答えを返すためには質問がいくつかある

・なぜ基本情報を取りたいのか?
・基本情報を取るかwebサービスを作るかどちらしかできないとしたらどちらをやる?
・html、css、javascriptを深く理解する気があるか否か
・そのサービスのスマホ連携の有無
0434デフォルトの名無しさん
垢版 |
2018/07/09(月) 17:03:21.82ID:H+d2FLX/
>>432
・基本情報は就職用。
・どっちかだけっていうならwebサービスを作りたい。
・html/cssは一通り勉強した。あれを深く理解するっていうのの意味がわからない…
・スマホとは連携させたい。

同じような自問をしたことがあるけど、やっぱり基本情報は表計算で乗り切ってphpとか勉強した方が良いんだろうか…
0435デフォルトの名無しさん
垢版 |
2018/07/09(月) 17:09:23.33ID:49BAkqpD
>>434
大体わかった
それを踏まえて最後の質問だ

・phpやrubyを使うであろうWeb系とjavaを使うであろう業務システム系、どちらに就職するつもり?
0436デフォルトの名無しさん
垢版 |
2018/07/09(月) 17:12:52.53ID:H+d2FLX/
>>435
webかなあ
0438デフォルトの名無しさん
垢版 |
2018/07/09(月) 17:18:59.36ID:49BAkqpD
>>436
OK
そうするとお前が学ぶ意味があるのはphpかrubyで間違いない
基本情報の資格はお前のキャリアに必要ない。当然javaに手を出す必要もない

ただしjavaやって資格取って業務系で食うよりも人生の難易度は上がるだろう
何か質問はある?
0439デフォルトの名無しさん
垢版 |
2018/07/09(月) 17:22:25.10ID:H+d2FLX/
>>438
特にない。ハードモード楽しみます。参考になりますた。
0441デフォルトの名無しさん
垢版 |
2018/07/09(月) 18:54:45.22ID:rKnQV5/G
いやWeb系でも自社事業やってるようなとこだとJavaや.NET使ってるのも珍しくないぞ
Web制作に近いようなとこより、大抵そういうとこの方が金払いいいし技術レベルも高い
0443デフォルトの名無しさん
垢版 |
2018/07/09(月) 19:24:11.29ID:mEAcYnRs
その一握りに入れないならWeb系に行く意味なんかないでしょ
大したスキルもなく裁量もなくゴミのような単価でクソを垂れ流すだけ
業務系の方が遥かにマシだ
0447jlZqZIEk
垢版 |
2018/07/09(月) 21:50:21.93ID:AGPubLJK
もう諦めてSwingで書くことにしました
JavaFX、NetBeans、RaspberryPiで検索すると海外でも同じことで悩んでいる人がいるみたいだけど、
どうにもならないみたいですので
みなさん、ありがとうございました。
0451デフォルトの名無しさん
垢版 |
2018/07/10(火) 07:44:34.52ID:LbQkaO6y
>>431-439
まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014

基本情報処理なら、スッキリで十分だろ

その後「たのしいRuby 第5版、2016」を読んで、
無料のRails チュートリアルをやる
0453デフォルトの名無しさん
垢版 |
2018/07/10(火) 09:26:50.98ID:lWNPDM52
>>450
自社サービスは自分で設計して自分で作るぞ
うちもエンジニアの大半は社員で全員コード書いてる
自社サービスには人員需要の波がないからエンジニアを抱えることに対して抵抗がないんだよ
0455デフォルトの名無しさん
垢版 |
2018/07/10(火) 12:53:17.79ID:lacLn2e2
9:30なら俺はまだ通勤の電車の中だな
0457デフォルトの名無しさん
垢版 |
2018/07/11(水) 21:35:10.75ID:sDWfv/VL
mainメソッド内の処理において、ポリモーフィズムでnewの使い分けする時ってif文使わない方が良い?
やはりファクトリクラス作って、ファクトリのメソッド内でif文使うべきなのか?
0458デフォルトの名無しさん
垢版 |
2018/07/12(木) 09:34:46.57ID:nIR9VMIg
規模や使用頻度によるのでは?
0461デフォルトの名無しさん
垢版 |
2018/07/13(金) 01:27:43.49ID:xF0Xme8F
返答ありがとう
mainメソッドにif文はあまりつけないべきか悩んでいたのだが、そんなに拘るものでもないのかな
参考になりました
0462デフォルトの名無しさん
垢版 |
2018/07/13(金) 16:30:20.76ID:GBG+HB3a
よろしくお願いします。

Intent intent=getIntent();
String stdNo=intent.getStrintExtra("stdNo");

2行目のintentがインスタンスとして使われてるように見えるのですが
1行目のintent=getIntent();は、getIntent()というメソッドを変数intentに代入して
2行目で代入したgetIntent()のメソッド、getStrintExtra()を使っているということなのでしょか?
0463デフォルトの名無しさん
垢版 |
2018/07/13(金) 16:37:43.58ID:7jgvez+k
Javaではメソッドを変数に代入することはできない
getIntent()はIntentのインスタンスをreturnするメソッドなんだろ
getStrintExtra()でStringのインスタンスがreturnされてきて変数stdNoに入ってる二行目と一緒やん?
0464デフォルトの名無しさん
垢版 |
2018/07/13(金) 16:49:49.29ID:GBG+HB3a
>>463
ありがとうございます。1行目のintentはインスタンスなのですね。
インスタンスはnewで生成する以外にもreturnで取得する方法もあるのですね、勉強になります。
0467デフォルトの名無しさん
垢版 |
2018/07/14(土) 00:49:26.90ID:Qt+zgvv2
jdk11でjavafxが分離されるという話があるけど、
アプリにjavafxのライブラリを同梱するという形態になるんですか?
0468デフォルトの名無しさん
垢版 |
2018/07/14(土) 01:52:18.14ID:6eX3jxiA
>>467
分離じゃなくて廃止ね
オラクルとしては開発を放棄し、OpenJFXだけ残して提供終了
でOpenJFXというのはOracleの開発成果をGPLの下でソースを公開するだけの実体のない組織なので、開発継続の見込みはゼロ
もう無理や
0469デフォルトの名無しさん
垢版 |
2018/07/14(土) 06:08:21.38ID:KbpgtKf9
windowsでコマンドライン引数とかコンソールへの出力にユニコード使ってると、正しく処理できないっぽいですが、
そういうのちゃんとやってくれる定番のライブラリとかありますか?
0471デフォルトの名無しさん
垢版 |
2018/07/14(土) 08:24:20.86ID:rKXc4KlJ
>>467
これ俺も気になってる
JavaFXってJARだけでなくDLLなどのネイティブライブラリも必要なので
JavaFX(openjfx)使ったアプリの配布はプラットフォーム別に用意しないといけなくなるのかな?
0472デフォルトの名無しさん
垢版 |
2018/07/14(土) 10:21:43.78ID:zOneeAc4
OpenJDKやOpenJFXに部外者が参加しようと思ったら、私が提供する著作物はオラクル様が自由に使えます
絶対に訴えたりしませんっていう誓約書にサインしなきゃいけない
あれを見直さない限りコミュニティプロジェクトとしての発展はありえない
ただでさえJDK11の件でオラクルに対する不信感が高まってるのに今更誰がオラクルにケツを差し出す気になるだろう
0474デフォルトの名無しさん
垢版 |
2018/07/14(土) 12:57:15.02ID:Qt+zgvv2
JavaFXのJDKから廃止というのはJREからも廃止ですか?

OpenJDKのインストール方法を調べたらRedHatからダウンロードしろと。
しかもそれは開発者向けでエンドユーザー向けじゃない。
エンドユーザー向けJavaアプリが生き残る方法はあるのか?
0476デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:01:17.39ID:Qt+zgvv2
どれが嘘だと思いましたか?
0477デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:11:09.79ID:Qt+zgvv2
エンドユーザー向けのOpenJDKのインストール方法は見つからない。
つまり、環境変数の設定やコマンドラインを必要としないインストール方法が無い。
0479デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:23:07.56ID:6PGIbnJP
>>468
君がやればいい。

これにて一件落着。
0480デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:28:52.18ID:Qt+zgvv2
公式が配布するOpenJDKはtar.gz形式でwindowsの標準機能で解凍できない。

GPL感染はプロセスを超えないそうなので、
OpenJDKをパッケージに同梱してしまうのは解決策になるかもしれない。
その場合、起動スクリプトを組み込む必要があるし、OpenJDKのアップデートにどう対応するのかという問題がある。
windows向けOpenJDKインストーラ&アップデータを誰かが作る事も考えられる。
しかし、公式サイトへのポーリングや自動的なファイルのDLをしていいのかどうか。
0481デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:30:03.02ID:6PGIbnJP
>>469
windows でも cygwin 使ったり wsl 内で動かせば問題なくできるのでは?

ていうかそういうOSとか実行環境の問題をそこの中で動かされるプログラムでなんとかしようというのは考え方がおかしいのではないか?
どうしようもない場合は別としても、やはり実行環境側でやらねばならない事は実行環境側でやるべきだろう。
0482デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:38:51.88ID:6PGIbnJP
>>480
そういうの主要な Linux ディストリビューションだと悩まなくていいのにな。ネットワーク経由でアップデートする yum だの apt だのがあるから。
Windows には Windows Update があるが、あれはMS専用でMSが受け入れてセットしてくれない限り使えないよな。
0484デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:44:48.39ID:Qt+zgvv2
本当に自分の中でLinuxの評価が上がってる。
みんなそろそろLinuxデスクトップに移行すべきじゃないか。
ゲームエンジンはLinux向けビルドが出来るし、古いゲームでもおおむねWineで動く。
0485デフォルトの名無しさん
垢版 |
2018/07/14(土) 13:58:16.02ID:LIsDU/xs
>>474
スタンドアロンなJREは廃止
Java SE Subscription を契約した上でアプリに同梱して配布するのが正解
価格は、開発環境も実行環境も(!)PC1台一月あたり2.5ドルから
一日10円の御賽銭でオラクル神の手厚いサポートが受けられるんだから安いもんだよね
0487デフォルトの名無しさん
垢版 |
2018/07/14(土) 14:06:15.27ID:upwDNa7V
リナックスでもマックでもウインドウズでも
動くソフトはこれから何で作ればいいの?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況