Java入門・初心者質問スレ Part.7

■ このスレッドは過去ログ倉庫に格納されています
2018/01/10(水) 11:06:04.02ID:ijSgjgrG
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.6
http://mevius.2ch.net/test/read.cgi/tech/1513783473/
2018/03/19(月) 05:14:19.52ID:+TXdDyAd
>>206
基礎から理解したいならテキストエディタ
209デフォルトの名無しさん
垢版 |
2018/03/19(月) 12:42:20.12ID:/OLYcrDu
漢なら vi
2018/03/19(月) 13:36:33.44ID:lFWK67Qs
>>207
IntelliJ が素敵なんですけれども
2018/03/19(月) 16:14:48.17ID:naEw7xxp
VSCodeの普及率すげぇな・・・
https://insights.stackoverflow.com/survey/2018#technology-most-popular-development-environments
212デフォルトの名無しさん
垢版 |
2018/03/19(月) 22:00:34.37ID:63sVxUkl
javaのconfigファイルがxml形式で書かれているらしいのですが、
新しく定義を追加するたびに既存のものと新しいものとをWindiffを
使って違いを見つけてマージしています。
こういう操作が簡単にできるツールは無いでしょうか。
もしくはこうすれば簡単になるよというアドバイスお願いします。
2018/03/19(月) 22:08:00.70ID:CaqNxOQ+
バージョン管理ツール、リビジョン、差分

以上
2018/03/20(火) 07:13:55.19ID:XCS1ofTo
漢ならed
2018/03/20(火) 08:05:13.97ID:sV3uXBDp
eclipseで同じコードをもう一度実行しようとすると一回目は
main型が含まれていません
と出るんですが、他にもう一度実行する方法ありますか?
216デフォルトの名無しさん
垢版 |
2018/03/20(火) 09:36:30.08ID:hTANcqkS
>>215
君が何をしようとしているのかがよくわからない。
2018/03/20(火) 11:14:21.05ID:sV3uXBDp
>>216
一回実行して終了したあとに、もう一度同じプログラムを実行したいです。
218デフォルトの名無しさん
垢版 |
2018/03/20(火) 13:41:03.34ID:yXssLbct
main型が含まれていないとは?

ていうかソース公開したら?
2018/03/20(火) 14:52:05.44ID:AbOpxg6G
メニューから「実行」->「JUnitテスト」
見当違いだったらごめん。
2018/03/20(火) 16:02:43.56ID:ccpZZrDH
for文を何重にもしてそのトータルで例えば10万回ループさせてる時と、
for文一つで10万回ループさせた場合、
同じ数だけループさせてても前者の方が圧倒的に処理に時間かかるのだけど何故でしょうか
2018/03/20(火) 17:54:42.55ID:XCS1ofTo
>>220
またおまえか
2018/03/20(火) 18:00:57.71ID:QvDKuRRV
>>221
またおまえか
2018/03/20(火) 20:12:05.89ID:vJGdSsqG
てす
224デフォルトの名無しさん
垢版 |
2018/03/20(火) 20:32:41.95ID:Vjew7ieC
>>220
一つ一つのループにはそのループを抜けるための条件があるわけで・・・

しかし物凄く掛かる時間が違うというのならちょっとそのソースここで晒してみな。
2018/03/20(火) 20:40:14.03ID:UB5R42O4
>>213
そういうのをバッチか何かで人の目に頼らずにする方法ありませんか?
2018/03/20(火) 20:48:07.06ID:XCS1ofTo
>>222
誰だと思ってんだ?
2018/03/20(火) 20:54:45.16ID:XCS1ofTo
>>225
変更があってコンフリクトするなら人の目で判断しなきゃいけないだろう

XMLの構造は同じなのに改行や順番とかでコンフリクトするということなら
正規化してからコミットしたら
スペースを無視するdiff、VCSはある
2018/03/20(火) 21:07:49.25ID:aHaiWzOW
>>225
なんで既存のconfigに新しい定義を追加しないの?
そうすればマージ作業自体が不要だよ

できない理由があるんだろうけど
それ次第で解決方法が違う
2018/03/20(火) 23:19:17.03ID:UB5R42O4
>>227-228
複数の開発者がアプリをリリースするときには自分に関係のあるconfigだけをリリースします。
それを重複のないようにマージして全アプリに共通のconfigを作るのが私の役目です。
単純に後ろに追加だと重複してしまいます。
2018/03/20(火) 23:21:51.60ID:UB5R42O4
追記
開発者がconfigをリリースするときは新しい定義部分だけでなく
既存のものもそのアプリ動作上必要なものは合わせてリリースされます。
リリースされるconfigには新しい部分と元のものから変わっていない部分とが
混在状態となっています。
2018/03/20(火) 23:34:24.71ID:aHaiWzOW
リリースってのは本番環境へデプロイする意味ではない?
最終的なアプリはマージしたconfigを必要としてるんだよね?
2018/03/20(火) 23:40:26.01ID:aHaiWzOW
ファイル自体を分割管理したいなら
分割したconfigのままでアプリを動くようにすべきだし
最終的に一つのconfigにすべきと考えてるなら
各開発者もその一つのconfigを編集すべきじゃないの?
2018/03/20(火) 23:42:01.61ID:UB5R42O4
>>231
ここで言っているリリースというのはconfigのマージ許可が出たということです。
マージした後本番環境にデプロイします。
2018/03/20(火) 23:47:33.49ID:UB5R42O4
>>232
一つのconfigでとの方針となっています。
いろんな会社の人が関わっているのでどこかでconfigのまとめ役が必要となり、
それが私となっています。
2018/03/21(水) 00:07:39.16ID:qUqb4QSc
config内でもセクションを分けておいて
差分確認しなくてもその”リリース”された会社単位の該当セクションを
丸っと入れ替えれば済むようにしておけば自動化は可能

最終的なconfig
<共通>…</共通>
<A社担当>…</A社担当>
<B社担当>…</B社担当>
<C社担当>…</C社担当>

A社分のconfig
<共通>…</共通>
<A社担当>…</A社担当>

この各社担当部分の中身を入れ替えればいい
共通部分は君のところで管理して各社が常に最新版にアクセス出来る必要がある

ただ共通部分の最新版を常にアクセス可能にできるなら
同じ要領でconfig全体の最新版を常にアクセス可能にできる気もする。。。
2018/03/21(水) 00:23:47.56ID:wxFTzoek
依存ライブラリを、他のプロジェクトと、マージする事は不可能

Node.js のnmp, Ruby のgem とか、各プロジェクトごとのインストール。
全体にインストールする場合は、install global とか

つまり、各プロジェクトごとか、全体か、の2択しかない

たいていのアプリは、古い・新しい依存ライブラリで動かないから、
1.5 〜 1.7 とか、依存ライブラリを範囲指定しているから
2018/03/21(水) 01:33:38.08ID:/yBGMcfP
>>229
重複かどうかはアプリケーションレベルの判断だからテキストのdiffじゃダメでしょ
最早java全く関係ないからxmlとかのスレじゃないの
2018/03/21(水) 01:56:25.58ID:RfH+S4mu
strutsconfig臭がすんげーしてくる
言ってる意味もわからんし
2018/03/21(水) 10:20:08.78ID:794JaRyB
>>235
そのA社がどこからどこまでかすら分からない状況です
>>237
他のファイルの拡張子をみたらjavaらしいからこちら
で聞いてみたのですがXMLスレで聞いてみます
みなさんありがとうございました
2018/03/21(水) 16:18:58.57ID:qUqb4QSc
>>239
>そのA社がどこからどこまでかすら分からない状況です

それを分かるようにするのが君の仕事でしょ
configのまとめ役がやらなくて誰がやるの?
241デフォルトの名無しさん
垢版 |
2018/03/22(木) 14:40:50.08ID:tPQcb8or
JavaでXML処理するプログラム作っちゃえばいいのにな
2018/03/23(金) 01:31:14.47ID:ed3VYfhs
ドット演算子は

クラス.メンバ変数
インスタンス.メンバ変数
クラス.メソッド
インスタンス.メソッド

などの形がありますが、たまに
A.B.C.D といった風に、2つも3つもドット演算子を付けているコードを見かけますが
それですとどんな形の場合があるのでしょうか?
243デフォルトの名無しさん
垢版 |
2018/03/23(金) 02:29:25.58ID:qYE2eSg6
>>242
new java.io.FileWriter("hoge") みたいな?
これの場合は import での省略をしないで直接クラス指定して new しているということね。
プログラムの最初の方で import java.io.*; 等とやっておけば new FileWriter("hoge") と書いても良い。
要するにクラス指定の時に import 指定してあるとパッケージ部分を省略して書くことができるけど
省略しないで書くこともできるということ。
2018/03/23(金) 03:42:45.40ID:5ABYeFvW
ドット演算子は基本的に左側の要素の中にある右側の要素へアクセスするもの
要素はJavaで指定できる識別子(パッケージ、クラス、インターフェース、変数/定数、メソッド)

メソッド呼び出しの場合は括弧が必須
X インスタンス.メソッド
O インスタンス.メソッド()

メソッド().メソッド()みたいなメソッドチェーンの場合は
左側のメソッドの実行結果の要素の中にある右側のメソッドを実行
2018/03/24(土) 11:13:06.71ID:RHp4dgWv
>>242
4+1+3=5+3だろ
System.out.printlnだってSystem.outが示すものがオブジェクトでそのprintlnだ
246デフォルトの名無しさん
垢版 |
2018/03/26(月) 15:23:12.52ID:cUizDvSd
例として
文字列を数字にしてそれに1足した数字51をだしたいのですが
String a = "50";
int b = Integer.parseInt(a);
System.out.print(a + 1);
を実行すると501になってしまうのですが51にするにはどうすればいいですか?
247デフォルトの名無しさん
垢版 |
2018/03/26(月) 15:35:30.48ID:cUizDvSd
>>246
見落としでした解決しました
2018/03/26(月) 15:57:44.10ID:trSxcqrm
ほっこりしたわ
2018/03/26(月) 22:51:38.25ID:gSozyPdf
b「あの・・・」
250デフォルトの名無しさん
垢版 |
2018/03/27(火) 12:40:05.55ID:NeN1yqDW
a「なにか?」
2018/03/27(火) 13:28:02.57ID:oop2CwUE
使われない変数はどんっどんしまっちゃおうねえ
2018/03/27(火) 13:43:32.60ID:Gztz/cJR
b可哀想すぎワロタ
2018/03/27(火) 17:27:11.48ID:XlZpfYbE
これはちょっと悩んだ

System.out.println("abc" + i + 1) ;
System.out.println("abc"+ (i + 1)) ;
254デフォルトの名無しさん
垢版 |
2018/03/27(火) 20:37:55.88ID:88Wd6i6J
初心者向けクイズとしてはいいかもな

System.out.println(1 + 2 + "a" + 3 + 4) ;
2018/03/27(火) 20:54:41.30ID:C4OGbWvJ
演算子の優先度は基本
2018/03/28(水) 06:43:55.09ID:0whBcTgL
まさに糞言語
257デフォルトの名無しさん
垢版 |
2018/03/28(水) 07:26:01.68ID:nxmxEJdd
文字列連結演算子ってもっと別なの無かったんかね
2018/03/28(水) 08:43:26.11ID:0whBcTgL
元々無かったんだよ。演算子のオーバーロードは糞という理由でねw
2018/03/28(水) 09:31:54.91ID:CQ8sVNRC
また馬鹿が自演始めたのかw
ほんとこいつ業務全然やったことないんだな
そらこんなレベルじゃ使えなさ過ぎて切られるわ
2018/03/28(水) 09:35:38.06ID:aDELhdbd
シフト演算子って何に使うのですか?
2018/03/28(水) 09:37:26.53ID:0whBcTgL
シフト以外の用途ということですか。それは謎ですね。
262デフォルトの名無しさん
垢版 |
2018/03/28(水) 09:42:14.50ID:fhRmItKh
>>258
オーバーロードできなくても他の演算子と同様に固定で何か作っとけばよかったって事では?
2018/03/28(水) 18:45:32.62ID:3XRG3cyG
せめてjavaにもhere documentがあれば…
2018/03/29(木) 00:39:40.48ID:HYrXjV+u
kotlin で """ を使いなさい。
2018/03/30(金) 00:23:33.73ID:DMdNV1t6
Javaにunsignedが欲しい
2018/03/30(金) 00:36:54.83ID:RNuPdbRv
char でも使いなさい。
267デフォルトの名無しさん
垢版 |
2018/03/30(金) 07:22:59.72ID:RCdlJ1AX
なんでunsignedならcharなの?
268デフォルトの名無しさん
垢版 |
2018/03/30(金) 09:18:39.12ID:TlFsJGTt
charだけが最初からunsigned
2018/03/31(土) 16:38:17.69ID:4s7VNOk8
一応 unsigned として扱うためのメソッドはある。
https://news.mynavi.jp/article/20140311-s_java8/12
2018/04/02(月) 03:45:37.10ID:QkUtOx82
xpathのcontainsで<br>を含む文字列を比較し条件に合った要素を抽出したいと思います
<\n>で試してみましたが出来ませんでした、td[contains(.,,'ABC')][contains(.,'def')]とすれば
出来ますがcontains一個で済ます方法は無いでしょうか

<td>
ABC
<br>
def
271デフォルトの名無しさん
垢版 |
2018/04/02(月) 11:30:27.98ID:IY8Jb2od
それはJavaの話か?
2018/04/02(月) 11:50:21.52ID:QkUtOx82
初心者なのでよくわかりません、どこからどこまでがJAVAなのですか
と言って細かな分類を記されても理解できるとは思えませんが
それゆえに初心者なわけで
273デフォルトの名無しさん
垢版 |
2018/04/02(月) 13:24:20.80ID:IY8Jb2od
>>272
それは HTML に埋め込んだりしてクライアント側のブラウザ上で動くものでコンパイルの必要のないものか?
ならばそれは Java ではなく JavaScript だ。
274デフォルトの名無しさん
垢版 |
2018/04/02(月) 14:22:33.49ID:RwwO23Cg
こんにちは
大変恐縮ですが
スマホだけで取っ掛かりだけでもプログラミングの勉強ってできますか?
2018/04/02(月) 15:34:29.57ID:3lJ3dDiL
できます
276デフォルトの名無しさん
垢版 |
2018/04/06(金) 15:22:11.98ID:EWHGItpg
swingまで学んだけど次何学べばいい?
ウェブ関係の奴じゃなくて、パソコン上のソフト開発をしたいんだけど
277デフォルトの名無しさん
垢版 |
2018/04/06(金) 17:34:55.92ID:FoSTO+1D
>>276
Androidなんかどうだ?
2018/04/06(金) 18:07:53.62ID:HICGyOGh
>>276
JSR-295 beans bindingとか。

ウチではbetterbeansbinding 1.3.0
使ってる。Java10でもきちんと動くよ。
2018/04/06(金) 18:35:42.43ID:cZGW1kuE
MySQLあたりだな。
2018/04/06(金) 19:33:53.76ID:Ah3/aILU
たまにこういう奴沸くけど
なんでJavaでデスクトップアプリ作りたいと思うのかがわからん
281デフォルトの名無しさん
垢版 |
2018/04/06(金) 19:47:43.99ID:21J2x/+3
C#だよね
2018/04/06(金) 20:55:50.36ID:cU5Ki5+d
>>280
ここがジャバスレだからやろなあ
2018/04/06(金) 20:56:25.62ID:cU5Ki5+d
>>281
c#は別スレやろなあ
284デフォルトの名無しさん
垢版 |
2018/04/06(金) 21:22:14.73ID:kq208CNi
むしろweb系以外でJavaって何に使われることが多いの?
swingなんて論外で、JavaFXですらまともに使われてなくない?
大人しくC#かelectronでやればいいんじゃないの?
2018/04/06(金) 21:38:59.15ID:x6lhJUWj
>>284
Web系以外ならAndroidだろう。嘘のように使われまくってるぞ。
286デフォルトの名無しさん
垢版 |
2018/04/06(金) 22:04:44.63ID:JeH9uig4
今後もkotlinと棲み分けていくんだろうか
2018/04/07(土) 01:47:55.25ID:V6nLcwUU
LocalDate.parse("yyyy年MM月dd日")でエラーとなりますが年月日はダメですか
2018/04/07(土) 03:09:34.12ID:ZNJF90jL
LocalDate.parse("9999年12年31日", DateTimeFormatter.ofPattern("yyyy年MM年dd日"))
2018/04/07(土) 03:23:23.02ID:V6nLcwUU
どうも、いろいろ足りませんでした
290デフォルトの名無しさん
垢版 |
2018/04/07(土) 17:16:17.45ID:6TnK6+sh
入力読み込みで
Scanner sc = new Scanner(System.in);

iInputStreamReader isr = new InputStreamReader(System.in);
BuffereReader br = new BufferedReader(isr);

があるんだけどどっちがいいの?どっちも読み込んでる作業は同じ?
2018/04/07(土) 17:21:55.15ID:jVz0WH5c
java.util.logging.SimpleFormatterで
%1$tbがJanとかFebのような英略称3文字にならないで1や2のように
数字になるんですが、どうすれば英略字3文字でログに出ますか?
292デフォルトの名無しさん
垢版 |
2018/04/07(土) 17:41:21.04ID:+hF6bNfk
>>291
aでいけそう
https://docs.oracle.com/javase/jp/7/api/java/util/Formatter.html#syntax
293デフォルトの名無しさん
垢版 |
2018/04/07(土) 17:43:59.47ID:+hF6bNfk
>>290
Scannerは読み込む前に数値か判定したり
数値に変換して読み込んだりできる
単語単位で読み込むときはScanner
行単位で読み込むときはBufferedReaderって感じかな俺は
294デフォルトの名無しさん
垢版 |
2018/04/07(土) 17:45:03.33ID:+hF6bNfk
>>292
曜日と月間違えてた、無視しておk
295デフォルトの名無しさん
垢版 |
2018/04/07(土) 17:46:11.52ID:+hF6bNfk
ロケールに依存してるからロケールを指定する方法があれば良いのか
2018/04/07(土) 23:02:19.15ID:a5Lxo59a
組込Javaはどうなったんだ
AndroidじゃなくてEmbeddedの方の
2018/04/08(日) 06:20:59.37ID:1mmlbc0v
>>290
普通は、Buffering で、バッファにためる。
面倒だから、1文字ずつ処理したりしない

ゲームなどで、キー入力したら、
即座に処理したい場合には、別のやり方を考えればよい
2018/04/08(日) 08:46:55.05ID:bMWcEeSO
Androidの世界から普通のJavaの世界に来たらLooperがいないんですけど、
普通のJavaの世界はwhile(true)でBlockedQueueでメッセージ受信ループを
作るみたいな実装は一般的ですか?
299デフォルトの名無しさん
垢版 |
2018/04/09(月) 03:46:55.69ID:ztjjLPRx
CDI+サーブレットでWebアプリを実装したのですが、(コンテナはTomcat9)
実際DIできているのですが、いつの時点でどのような形でオブジェクトを注入してるのかわかりません。
web.xmlでもfilter等呼び出しは一切してないので、素直に疑問です。
使っているjarはjbossのweld-servletぐらいです。

下記のような順番で処理されているのでしょうか。

リクエスト→Tomcat→クラスローダ→DI→Servlet→レスポンス
30035歳
垢版 |
2018/04/09(月) 08:44:16.96ID:Ptdpw/63
コード見てみないと分かりませんね。
2018/04/09(月) 21:10:38.18ID:Gpm8GpeQ
ググったらタイミング書いてるブログとか出てくるけどな
検索能力低すぎなんちゃう?
アノテーションの種類によっても注入タイミング違うみたいだし
filterみたいなめんどくさい記述無くすためにアノテーションがあるんだから
そんなもん書いてあるわけないじゃん頭大丈夫か?
2018/04/13(金) 07:30:53.48ID:gKD9KCbg
胴元のオラクルが特許ゴロっぽいですがjavaに未来はありますか

googleの件といい、いよいよ回収段階に入りそうでなんか怖いです
2018/04/13(金) 08:23:53.87ID:uvTNpodz
Javaに未来なんかある訳ねーだろ
2018/04/13(金) 08:52:03.60ID:2uthgf+p
>>303
Javaの未来は僕たちの未来だよ
JavaはSUNが潰れてから目覚ましい発展を遂げてる
ラムダ式やvarの導入など
Oracleを信じようよ、絶対正義だよ
2018/04/13(金) 09:13:39.38ID:jXj1f4DQ
でもjavaの方が好きだな
スクリプト言語?は読みづらい
型もはっきりしないし、なんか戸惑う…
2018/04/13(金) 09:20:24.67ID:UFohjy2n
varの利点がわからん
業務ではまず使われることはないだろうがこんなもん宣言できるようにしたが
オラクルなら早く潰れて欲しい
2018/04/13(金) 09:25:40.80ID:sjD16K6P
変数を呼ぶ時、毎回$を書かなきゃいけないのが面倒
エディタにもよるのかな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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