X



Java入門・初心者質問スレ Part.10
レス数が1000を超えています。これ以上書き込みはできません。
0002デフォルトの名無しさん (ワッチョイ cb68-CuPJ)2020/04/01(水) 16:00:22.73ID:0bqmJzUx0
初歩的な質問ですみません。

win10でJavaをインストールしたのですが起動できません。

コントロールパネルにはアイコンを表示するにしても出来ず、

edgeでは使えないと書かれていたのでエクスプローラーでインストール
しても同じです。

どうすればいいでしょうか?
0007デフォルトの名無しさん (ワッチョイ cb68-CuPJ)2020/04/01(水) 16:44:41.63ID:0bqmJzUx0
すみません、オラクルのJavaとしかわかりません…

エクリプスって何でしょうか?

コマンドラインプロンプト、テキストエディタ、わかりません…

入門書を買って勉強します。
00086 (ワッチョイ 6d1d-AHN4)2020/04/01(水) 17:07:42.81ID:edSLH9KQ0
>>7
そのレベルでしたか…

確かに入門書を買った方がいいですね
スッキリわかるJava入門がお勧めです(何を買うか迷ってしまったら、の話です)
0009デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)2020/04/01(水) 17:11:23.06ID:XWi3lCYB0
>>7
あなたは何をする必要があってJavaをインストールしたのか?
また、そのインストールしたJavaとは何処から取得したものなのか?
0010デフォルトの名無しさん (ワッチョイ e5ad-KN+/)2020/04/01(水) 17:55:43.99ID:8LLFjcSO0
>>7
>エクリプスって何でしょうか?
>コマンドラインプロンプト
>テキストエディタ、わかりません…

さすがにそのレベルの単語は
覚えないとお話にならないね

入門者が開発環境を整えて動かすまでは
最初の難関なのでそこも学習だと思って
検索して調べながら試行錯誤して欲しい
0011デフォルトの名無しさん (アウアウウー Sae9-tptV)2020/04/01(水) 18:14:23.45ID:pJnjQUrHa
java silver se11 のテキスト買ったんだけど8の方が良かったりしますか?
0013デフォルトの名無しさん (ワッチョイ 8df0-2oQA)2020/04/01(水) 20:27:15.79ID:4oTiHvSR0
GUIアプリ作ろうと思ってるんだが、どのプログラミング言語がお勧め?
JavaでGUIアプリ作るならどういうフレームワークというかライブラリというかお勧め?
0014デフォルトの名無しさん (ワッチョイ 1b02-qwDX)2020/04/01(水) 21:02:04.37ID:SxDu2xEB0
>>13
Java でGUIアプリはやめた方が良い
ネイティブのメモリと JVM のメモリと、絵が一つでもグラフィックスメモリが2重(ひどいと3重)で存在してるって事が割とある
eclipse とか見てるとわかると思うが、とにかく 動作がくそ遅い

GUIのライブラリに関しては好みがあるから、お気に入りのアプリが使ってるライブラリでも調べてみると良い
0018デフォルトの名無しさん (ワッチョイ e5ad-KN+/)2020/04/01(水) 22:15:43.66ID:8LLFjcSO0
>>13
>GUIアプリ
そもそも公開しないなら
コマンドラインで済む場合があるし
公開するならWebアプリの方が便利な場合もある

ファイル名一括変換くらいだったら
Excel VBA のようなマクロ言語の方が
手軽に済む場合もよくある

そのうえでJavaでやるなら
メジャーなGUIフレームワークはSwingやJavaFX
Java8までの標準がSwingで8からFXが標準

>>15
Java以外ならたとえばPythonやRubyがあり
両者のGUIフレームワークにTkがある
0020デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/01(水) 23:15:26.37ID:TDY3Q3ap0
>>14
Eclipseが遅いというのは初耳
0022デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/01(水) 23:32:39.13ID:TDY3Q3ap0
じつは14まで出てるの・・・
0025デフォルトの名無しさん (ワッチョイ 5546-bVUD)2020/04/02(木) 01:01:28.78ID:Z4CmvsfA0
初心者未満のゴミがあーだこーだjavaと関係ない技術に興味持っても無意味だから黙って回れ右
どうしても自分語りしたいならお前らみたい馬鹿専用のSNS!
いい加減うざい
ここはおまえのバカの自己主張する場でも日記帳でもないから
0026デフォルトの名無しさん (ワッチョイ 8d3b-f5xi)2020/04/02(木) 01:04:25.32ID:nD3DB2A10
こればっかりは同意。そろそろ空気呼んで別のところでやってほしいわ
0027デフォルトの名無しさん (ワッチョイ 5546-bVUD)2020/04/02(木) 01:07:40.05ID:Z4CmvsfA0
ほんと馬鹿ほど自己主張の自分語りの自己顕示欲塊だからきしょくわりぃんだよな
バカのくせに根底にあるのが承認欲求しかないから
過疎スレには書き込まんくせにちょっと勢いあるスレになると
延々と馬鹿雑談やらバカ回答のレスし続けるんだよな
IPスレの方にいけ低能キチガイども
0029デフォルトの名無しさん (ワッチョイ 5546-bVUD)2020/04/02(木) 01:18:13.58ID:Z4CmvsfA0
ググって解決できない質問だけここでしろ
雑談はするな
文章まともに書けない池沼と知ったかと
自分でろくにアプリも作ったことのない馬鹿は絶対に回答側にまわらないように
0031デフォルトの名無しさん (ワッチョイ 6d1d-AHN4)2020/04/02(木) 01:31:38.22ID:KdcTkuOE0
>>30
う〜ん、それは出来ない相談やな
Javaに関係することならどんなことでも質問していいし、
それに答えられるんならどんなレベルの人でも回答していいと思うんだが

お前さん何の権限があってこのスレ仕切ろうとしてるんや?
0032デフォルトの名無しさん (ワッチョイ 5546-bVUD)2020/04/02(木) 01:40:20.70ID:Z4CmvsfA0
前スレからお前らの回答で解決できたことが一つでもあったか?
ないだろ池沼
前のチャイム君も俺の回答があったから解決したのに
同期化君とかお前とかが散々関係ないことのたまって荒らして酷いもんだったな
>>2の質問の回答だってSWTの3文字で解決する問題を
javaは遅いから〜とか「入門書買おう(キリッ」とか「そのレベルでしたか(キリッ」 とかお前が言うなレベルだし
お前らは全く存在価値がないからとりあえず一生ROMってろ
アホ
0033デフォルトの名無しさん2020/04/02(木) 01:54:00.30
俺結構Javaは好きだし、このスレも真面目なスレとして見たいから、反社会的コミュ症ゴミ病気障害者はスルーしてくれた方が助かる
ワッチョイ表示されてるから簡単にNG出来ることだし
003531 (ワッチョイ 6d1d-AHN4)2020/04/02(木) 02:59:54.83ID:KdcTkuOE0
>>33
もちろんそれも一つの手だと思うけど、
>>32のような奴でもこのスレの構成要素になってしまっている以上、
無視ばかりもしていられないと思うんだよね
前スレの終わりとか酷かったじゃん
0038デフォルトの名無しさん (ワッチョイ 4b2c-AHN4)2020/04/02(木) 08:12:58.23ID:BA8GpIv40
>>15
よくあるのが、ファイル名の数字の1 などを、001 などに変えるとか、
半角空白を、_ に変えるとか

Ruby のglob, fileutils で作るのが、間違いが少ない!

Windows に最初から入っている、PowerShell も、そこそこ使える。
ただし複雑なものは、やめた方がよい
004238 (ワッチョイ 4b2c-AHN4)2020/04/02(木) 17:10:40.09ID:BA8GpIv40
フォルダ内の該当する、すべてのファイル名を変換する

xxx1.txt → xxx001.txt

拡張子の直前に、3桁以下の数字があるので、0 埋めする

xxx には任意の文字が、任意の数だけ入る。
ただし、数字の直前の文字は、数字ではない
004638 (ワッチョイ 4b2c-AHN4)2020/04/02(木) 19:06:06.45ID:BA8GpIv40
漏れなら、ファイル名の後ろから走査して、. までを拡張子として分離する。
. から、さらに前へ走査して、数字以外の文字を見つけるまで、数字だけを取得する

ただし、ファイル名に、. は1つだけ存在すること!
0050デフォルトの名無しさん (ブーイモ MMa9-hzb7)2020/04/02(木) 19:59:02.90ID:x7hOGWuDM
通称プリン先生、本明はセルゲイ・プリン、性別は不明
28歳のときパナマの国立美術館から魔法のランプを盗もうとして捕まり
10年を刑務所で過ごしいまは古物商のコンサルタントをしつつ
Javaの初心者質問スレでググりが足りない質問者を教導するのが日課である
005238 (ワッチョイ 4b2c-AHN4)2020/04/02(木) 20:41:56.63ID:BA8GpIv40
Ruby で作った。ファイル名を左右反転して処理した。
xy4_12.txt → xy4_012.txt

NUMBERS = ( 0..9 ).to_a.map( &:to_s ) # 0〜9 の文字の配列

str = "xy4_12.txt"
str.reverse! # 左右反転

dot_pos = str.index( "." ) # 前から探す

num_pos = dot_pos + 1
while NUMBERS.include? str[ num_pos ] # 数字なら
num_pos += 1
end

return if num_pos == dot_pos + 1 # 数字が存在しない

nums = str[ dot_pos + 1...num_pos ]
nums.reverse! # 左右反転

zero_num = "%03d" % nums # 3桁、0 埋め
zero_num.reverse! # 左右反転

result = str[ 0..dot_pos ] + zero_num + str[ num_pos..-1 ]
result.reverse! # 左右反転

puts result
0055デフォルトの名無しさん (ワッチョイ e5ad-KN+/)2020/04/02(木) 21:24:06.64ID:4o7A/tXk0
>>46
>ファイル名に、. は1つだけ存在すること
こういう前提って現実に使用する時に
遵守することは難しくて
2つ以上のファイルがまぎれ込むのが普通

それでたとえば2つ以上あったら
エラーで落ちるとかだとまず使い物にならない

そこで最初にドットが2つ以上あるか走査するとか
いろいろなやり方があるだろう
0056デフォルトの名無しさん (ワッチョイ 5546-bVUD)2020/04/02(木) 21:29:57.54ID:Z4CmvsfA0
久々にスレ覗いたらまだゴミみたいなレスの応酬してるw
ゴミみたいなコード書いてる奴もいるし
ほんと自己顕示欲強いだけのゴミ初心者は回れ右してSNS行けってアホ
アホ
0057デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/02(木) 21:58:05.71ID:y7iYQLaY0
>>56
カニ好き?
0058デフォルトの名無しさん (ワッチョイ 25da-5QI3)2020/04/02(木) 22:08:11.95ID:ztiv7GD80
>>52
スレチだけど、それ、典型的なバグがありますよ。
'xy4_012.txt' を与えたら '012' が8進数として評価されて 'xy4_010.txt' と表示されます。
Rubyなら10進指定のプレフィクスがあるので、せめて
zero_num = "%03d" % ("0d" + nums)
とする必要があります。
どこで文字列が数値として評価されるか意識しないと、
型がゆるいスクリプト系だとよく起きる(もちろんJavaでも起きうる)タイプのミスです。
0059デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/02(木) 22:19:52.93ID:y7iYQLaY0
ナイスデバッグと言わざるを得ない
プリン代理として
0060デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/02(木) 22:21:23.40ID:y7iYQLaY0
カニは好き
プリン代理として
0063デフォルトの名無しさん (ワッチョイ 25da-5QI3)2020/04/03(金) 00:32:03.93ID:i/ruiNDl0
>>61
ああ、そうか to_i で良いんですね。

あとJava でも Integer.parseInt(String) は10進数として解析するので、>>58 の 'Javaでも起きうる' は間違いですね。
数値リテラルとして 0123 と書くと10進数値で 83 ですが、Integer.parseInt("0123") は 123 にしかなりませんね。
訂正します。すみませんでした。
0067デフォルトの名無しさん (ワントンキン MMa3-29Cv)2020/04/03(金) 08:46:06.68ID:u9Ip9RjNM
スレが入門初心者向けなんだからレベル低くて当たり前。

なんで怒ってるのかね?
0069デフォルトの名無しさん (ワッチョイ 859f-vnOL)2020/04/03(金) 09:32:26.88ID:yWt1Tau80
むかしむかし、あるところにプリンちゃんという偏屈なプログラマーがいました
プリンちゃんは思い込みが激しく他人とうまく関われません
いつも見下されているように感じ日々ストレスを抱えていました
プログラミング知識が心の拠り所です
「世の中アホばっかりじゃ!」
ある日、初心者スレならイキり散らしてストレス発散できるのではと気付きました
「これは有頂天じゃなあ!ワハハ」
しかし怒った住人たちにアンロードやクラス変数の記憶違いを指摘され笑い者になってしましました
プリンちゃんは発狂して荒らしになってしまいましたとさ
おわり
007038 (ワッチョイ 4b2c-AHN4)2020/04/03(金) 11:50:24.87ID:tv+k2Xei0
>>52
さすがに、糞コード過ぎたw

それに拡張子(ドット)が、0以上すべての場合に、動くように作るべきだった

>>65
スッキリわかる Java入門 第2版、2014

ベストセラーはこの本で、文法・オブジェクト指向を学ぶ本
0072デフォルトの名無しさん (アウアウエー Sa13-bVUD)2020/04/03(金) 22:05:56.82ID:9+J0Mjhva
オーバーロードのありがたい例というのはありませんか?
例として挙げられているのはありがたみがよくわかりません。
同じメソッド名で別の機能を実現するというのはバグの原因になりませんか?
0073デフォルトの名無しさん2020/04/03(金) 22:31:56.65
このスレって入門スレだけど、答えれる奴らですら入門書を1冊終えられたレベルなんじゃね?

最低限、入門書・アルゴリズムとデータ構造・リファクタリング・JSP&サーブレットの入門ぐらいは終えてる奴のレスを聞きたいもんなんだがな
007465 (ワッチョイ 6d1d-AHN4)2020/04/03(金) 23:15:43.99ID:DwkbiooS0
>>70
スッキリは俺も(大体)良書だと思うけど、
文字列入力を、
String str = new java.util.Scanner(System.in).nextLine();
としてその後補足説明を加えてない所が気に入らなかった

別スレに書いたけど、
例えば名前と年齢をキーボード入力して出力するコードが
public class Main {
__public static void main(String[] args) {
____System.out.println("名前を入力して下さい");
____String name = new java.util.Scanner(System.in).nextLine();
____System.out.println("年齢を入力して下さい");
____int age = new java.util.Scanner(System.in).nextInt();
____System.out.println("私は" + age + "歳の" + name + "と申します");
__}
}
のような感じで解答例に載っている
これは冗長でもあるが、それに加え処理系によってはエラーになってしまう
インスタンス化に触れる前に教えないといけなかったからこうなったんだろうが、
import java.util.*;
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
と分けて教えるべきだと思う
0076デフォルトの名無しさん (ワッチョイ 859f-vnOL)2020/04/04(土) 02:45:28.50ID:LAu3z5a90
>>72
例としてはStringBuilderのappendメソッドがObjectと全プリミティブをオーバーロードしてるのはありがたいと思う
いちいちappendLongとかappendCharとか呼び分けさせられたらアホかと思うし、用途的にオーバーロードも適さない

ほかにもJavaが言語仕様としてデフォルト値や名前付きの引数をサポートしたり、JEP360がらみでKotlinでいうsealed classのような代数的データ型を効率的にサポートするようになったりするまでは次善の策として便利な言語仕様だと思う

用途の異なるメソッドに同じ名前を付けたらそりゃ有害だけど、名付けが狂ってることの有害性はオーバーロード以前の問題でもあるし
0078デフォルトの名無しさん (ワッチョイ e5ad-KN+/)2020/04/04(土) 03:00:42.77ID:H0jGuf/J0
>>72
オーバーロードがイヤなら別にIF文でもいいが
複雑なIF文の分岐だってバグの原因になるだろう?

個人的にはネストしたIF文よりマシだと考えてる
なおポリモーフィズムも似たようなことね


>>75
Goは手続き型でCの後継言語みたいなもんだから
Javaとはぜんぜん方向性が違う
0083デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/04(土) 22:06:06.38ID:VszBH+2q0
>>82
Rubyは良いよねーbashもみたいなー
0084デフォルトの名無しさん (ワッチョイ 5546-bVUD)2020/04/05(日) 04:48:10.79ID:SaaZBTLi0
あのなぁ・・
ここは初心者未満のチンパンの糞コード発表会の場じゃねーんだよ
ぼくのオナニー見せあいっこはSNSでやれゴミ
初心者未満が集まるとこうやって
低レベルな糞コード貼り付けだすからホントきっしょくわりぃんだよな
0086デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/05(日) 09:52:01.31ID:zIZWZqA70
プリン先生の秀逸コードでぐうの音も出ないほど黙らせて欲しい
0093デフォルトの名無しさん2020/04/06(月) 01:24:44.52
XMLで読み込んだ要素が数値って分かっている場合、
一々、Integer.parseInt(ほにゃらら〜)って使わずに直で数値として値を得る方法って無い?
0094デフォルトの名無しさん2020/04/06(月) 01:27:45.19
例えば,今Elementクラスの変数elemがXMLの要素(何でもいいけど、例えば、<hello>要素)を指してて、
その属性値が数値だと分かってる時、例えば<hello price="500">の時、
一々、Integer.parseInt(elem.attr("price"))って書くよりももっと綺麗な方法はあるかな?って質問。
0101デフォルトの名無しさん (アウアウエー Sa13-/I61)2020/04/06(月) 20:21:47.15ID:umYPTPrba
2次元のレイキャスティングを作成しようとしてます。

ttps://github.com/OneLoneCoder/olcPixelGameEngine/blob/master/Videos/OneLoneCoder_PGE_ShadowCasting2D.cpp
にあるコードを現在javaで書いており、

ttps://youtu.be/fc3nnG2CG8U?t=1519
のように縦に長く1本線が出来てほしいのですが、
縦やにブロックを並べた時に、なぜか1ブロックごとに線が出来てしまいます。

どうすれば動画みたいに、縦に長い1本線が出来ますでしょうか?
コードは
ttps://ideone.com/spxzNE
に載せてみました。
0102デフォルトの名無しさん (ワッチョイ 252d-8H9x)2020/04/06(月) 22:28:34.88ID:P4MdIkNl0
ByteBufferに書き込みと読み込みの2スレッドからアクセスしています。
読み込み側でFlipしてLimitが設定されたあと、Get、Clearし終わる前に
書き込み側が書き込みにより、Limitを超えるPositionを設定しようとしてしまい、停止してしまいます。
読み込み側でGetし終わるまで、書き込みアクセスをブロックするような方法はありますか。
0103デフォルトの名無しさん (ワッチョイ b501-8H9x)2020/04/07(火) 00:39:34.07ID:wUV5q4P30
>>100
おまえあわしろいくやだろ。
イジメはホドホドにしとけよ。
評判悪いぞ。
0106デフォルトの名無しさん (アウアウエー Sa13-/I61)2020/04/07(火) 06:59:58.35ID:XRD7rma9a
>>104
ありがとうございます!
1本の長い線が作成されるようになりました。
0107デフォルトの名無しさん (ワッチョイ 1b01-Ingx)2020/04/07(火) 21:18:47.78ID:FjzreXxw0
>>102
synchronizedでアトミックに処理したいところを囲んで
2つのスレッドでロックオブジェクトを共有したら良いよ
0108デフォルトの名無しさん (ワッチョイ 9b61-kpEi)2020/04/08(水) 20:36:38.74ID:GpkpcZyx0
整数が複数入った配列があり
そこからランダムで一つ選びポイントとして加算していき10を超えたら終了というゲームがある
たとえば [ 10, 4 ] なら最低1回最大3回で終了し
確率は1回1/2, 2回1/4, 3回1/4 となる
最低1回最大3回選択でき、且つすべてを等確率にするにはどのような配列にすればいいか
0112デフォルトの名無しさん (ワッチョイ 67da-T+Vk)2020/04/11(土) 21:19:35.40ID:NxmUAXAj0
java 初心者でyoutube検索かけるとyoutuberが毎回mac買おうmac買おうって言ってるけどなんでそんなにmac推すんだ?
osなんてlinuxで十分だろ
0113デフォルトの名無しさん (ワッチョイ e2ad-l44b)2020/04/12(日) 00:30:28.02ID:NWUkpCEz0
うん
0114デフォルトの名無しさん2020/04/12(日) 07:39:10.17
JavaでLibreOfficeのファイルを読み込んで処理したい
現状、LibreOffice と LibreOffice_6.4.2_Win_x64_sdk.msi はインストールしました。

出来ればLibreOffice Calcのシート1のセルA1で1+1の計算結果の表示までをさせたいんだが、ここからどうすればいいのかが分からん

Eclipseは起動済み
一応新規プロジェクトも作った
ここからどんなファイルのロードやコーディングをすれば良いのかが分からん
0117デフォルトの名無しさん (ワッチョイ e2ad-l44b)2020/04/12(日) 17:15:53.35ID:NWUkpCEz0
>>114
ここ見れば何かわかるのでは?

LibreOffice 6.2 API Documentation
https://api.libreoffice.org/
0118デフォルトの名無しさん2020/04/12(日) 20:28:18.70
>>117
普通外部のAPIを取り込む時って、Eclipseのプロジェクトのプロパティから外部Jarを読み込んで、サンプルコードを見ながら簡単に「Hello World」が試せるもんなんだけど、
LibreOfficeはそんなシンプルなサンプルが全然無いし、探してもクラスの解説してるサイトが全然見つからなくて、マジで何して良いか全然分からん感じ
0119デフォルトの名無しさん (ワッチョイ 0e01-Lt5s)2020/04/12(日) 21:03:52.22ID:j0O/fDVx0
>>118
何をしたいの?
LibreOfficeのオートメーションがやりたいの?
OpenDocumentを読み書きしたいの?
0120デフォルトの名無しさん (ワッチョイ 0e01-Lt5s)2020/04/12(日) 21:09:22.69ID:j0O/fDVx0
プログラムでファイル作るだけだったら
LibreOfficeはOpenXMLも扱えるから
Apache POIでOpenXMLの読み書きするのが良いと思うけど
0121デフォルトの名無しさん2020/04/12(日) 21:15:48.42
>>119
今俺が持ってる表計算ファイルの各セルには、文字列が規則的に分類されて並んでるから、
それらをJavaで一括で抽出整理してXMLファイル等に出力したい
0124デフォルトの名無しさん (ワッチョイ 0e01-Lt5s)2020/04/12(日) 21:55:17.95ID:j0O/fDVx0
>>121
拡張子は何なん?
xls, xlsxならpoiで
odfならhttps://github.com/jferard/fastodsこれとか
0125デフォルトの名無しさん2020/04/12(日) 21:59:07.11
>>124
>>124のライブラリが簡潔っぽそうだな
俺が今取り扱いしたい表計算ファイルの拡張子は「.ods」
特に複雑な計算をしたいわけじゃ無く、各セル内の文字列を逐次に抽出できたらそれで良しって感じ
0128デフォルトの名無しさん (スップ Sd22-yHi7)2020/04/13(月) 03:49:16.77ID:Et+Waja0d
androidアプリで5chブラウザのようなもの(別の掲示板向け)作りたいんだけど、Java初めての場合おすすめの参考書とかサイトありますか?PG未経験です。
0131デフォルトの名無しさん2020/04/13(月) 11:25:55.56
ってか、FastODSって
It won't even read ods files.
ってLimitationの所に書いてたんだが、書き出し専用APIなんか?
だとしたら俺の望む所じゃ無い
0135デフォルトの名無しさん (ワッチョイ d7ad-LdNq)2020/04/13(月) 13:54:48.88ID:Kp4LtUp30
>>128
掲示板にはサーバが必要になるはずなので
Webアプリとして作ることになるだろう

Java一本だけでいけなくもないんだけど
レンタルサーバが高くついてしまうので
別言語(PHPとか)を覚える必要がある

未経験でいきなり掲示板は難しいので
やさしいサンプルからスタートしよう

https://www.javadrive.jp/start/
0137デフォルトの名無しさん (ワッチョイ d7ad-LdNq)2020/04/13(月) 14:11:03.68ID:Kp4LtUp30
>>136
ブラウザで表示するにも
サーバサイドは必要だろ?
それがどういうものにしろ

クライアント側(アンドロイドのアプリ)では
2ちゃんの専ブラみたいなものを
作ることになるだろうけど
2ちゃん本体に相当する掲示板の
Webアプリ(サーバ)が必要
0140デフォルトの名無しさん (ワッチョイ 679f-E/Gb)2020/04/13(月) 16:38:01.43ID:e1fjgL/o0
>>137
質問者が「別の掲示板向け」って言ってるんだからどこか既存の掲示板に対して専ブラを作りたいって話だと考えるのが自然だよ
フルスクラッチで掲示板システムを開発したいならこういう聞き方にはならない
0142デフォルトの名無しさん2020/04/14(火) 04:38:10.57
>>124
POIをつかってエクセルファイルを読み込むサンプルに挑戦しています

https://itsakura.com/java-poi

ここのいう通りにやってるんだが、上手く行かない。
Mavenはインストールが面倒だから飛ばしたんだが、これって飛ばしたらダメなん?
「2.Jarファイルの取得」ってところの1.Mavenの〜ってのを飛ばした。

MavenってJavaプログラムをビルドするためのツールらしいんだが、こんなシンプルなプログラムに挑戦してるんだから、Mavenは飛ばしてもよさそうなんだが?
0145デフォルトの名無しさん (ブーイモ MM93-KyoU)2020/04/14(火) 08:33:09.87ID:eDdyGy/EM
>>142
メイブン使うとライブラリ用意するのが楽になるってだけだと思う
ライブラリをクラスパスに追加すれば問題ない
何がどうなってうまくいかないと思ったのかを言って
もらわないとアドバイスしにくいっす
ってプリンちゃんが言ってました
0146デフォルトの名無しさん2020/04/14(火) 09:17:52.73
>>145
レスサンキュー。
Mavenについては俺もその感じで理解してた。>>142のページの説明が下手なだけで、Mavenの所で読み込んでたライブラリを外部Jarとして読み込むようにさせたら上手く行けた。

あと、反社会性人格障害のゴミ産廃はとうの昔にNGしてて、改めて視界には入れたくないから言及はしなくて大丈夫
0151デフォルトの名無しさん (ワッチョイ 6f46-AglQ)2020/04/14(火) 13:13:37.48ID:ZPVHYeKd0
自分の馬鹿を棚に上げてサイトの説明にする低能初心者怖すぎだろ
●でID隠してからID出してる方で自演して一生懸命レスつけてるし
バレれてないと思ってんのかねコイツw
アホ
0153デフォルトの名無しさん (ワッチョイ 6f46-AglQ)2020/04/14(火) 14:35:27.81ID:ZPVHYeKd0
まともな文章書けない
IDEの使い方もわからない
ググってもmavenが何かも理解できない
超絶池沼くせにやたら偉そうなレスつけてるのがヤバすぎなんだよなコイツ
で、自演と文章書けない池沼同士でレスつけあってるっていう構図
THE アホ
0154デフォルトの名無しさん (ワッチョイ 0e02-rQSA)2020/04/14(火) 14:52:56.12ID:kyFUFNMa0
Maven は、リポジトリがない、生 jar ライブラリ の扱いが面倒くさくね?
今はなんか簡単にできるようになってたりする?

ビルドスクリプト的なのも、Java で書いたほうが楽…
Groovy は eclipse のプラグインがうんこだから限定的にしか使ってない
0158デフォルトの名無しさん (ワッチョイ e261-kpEi)2020/04/14(火) 16:53:27.92ID:TTg6G5FI0
pipもnpmなどに比べたらダメな方の代表格だろw
0159デフォルトの名無しさん (ワッチョイ 062c-5WFu)2020/04/14(火) 21:08:44.73ID:CfDohWIc0
npm, yarn は、Ruby のBundler のコピーだから

Android で使う、Groovy のGradle は、どう?
mavenCentral リポジトリだろ

これも、Bundler そっくりじゃないの?
Bundler は、rubygems.org リポジトリ
0160デフォルトの名無しさん2020/04/14(火) 23:04:00.20
JavaでXMLファイルを書き出す方法って何種類かあるんだな
どこがどう違うんかな
0161デフォルトの名無しさん2020/04/14(火) 23:39:13.95
Document doc = Jsoup.parse("", "", Parser.xmlParser());

(docに対して色んな要素を追加(略))

Transformer tf = tfFactory.newTransformer();
tf.transform(new DOMSource(doc), new StreamResult(new File(【ファイルパス】)));


↑このコードは「コンストラクター DOMSource(Document) は未定義です」となってエラーとなるので、
docを適切に変換しなきゃ行けなくなりますが、どうすればいいですか?
それとも、docをファイル出力する方法として別の良いやり方はありますか?
0162デフォルトの名無しさん2020/04/15(水) 00:01:02.58
>>161だけど、
今俺がやろうとしてることは、Jsoupを使って、全く無の所からXML文書を作ろうとしてるんだけど、

Document doc = Jsoup.parse("", "", Parser.xmlParser());

こういう書き方でいいんかな?
JsoupはHTMLを解析する用のライブラリっぽいから、XMLを扱いたいという意味で↑上の書き方をしたんだが。
0165デフォルトの名無しさん2020/04/15(水) 01:10:29.93
org.jsoup.nodes.Documentで作った(XML)ドキュメントをファイルに書き出す方法が分からん
0166デフォルトの名無しさん2020/04/15(水) 07:44:07.17
ファイルのダウンロード方法をググっても色々流儀があるようでどれがベストなのか分かりません
どういう基準でどういうやり方を取れば良いですか?

俺が今やろうとしてることは、ローカルのテキストファイルにダウンロードリンクがあるので、それを読み取りながら逐次5MB程度のファイルをダウンロードしたいって感じ
0168デフォルトの名無しさん (ワッチョイ 1f08-1fuy)2020/04/15(水) 15:43:03.00ID:fTV4we0n0
>>153
うわっ!君ここにも張り付いてたのか…病院行けよマジ
0169デフォルトの名無しさん (JP 0Hdf-QI7b)2020/04/15(水) 15:49:16.66ID:cSYRT69TH
simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0

UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0

連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0

4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0

matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0

ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0

SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
0177デフォルトの名無しさん (ワッチョイ bf70-KN4L)2020/04/20(月) 18:03:37.13ID:nu8M1bCu0
ここで質問すべきか迷いましたが中身がJavaなのでここで質問します。
Webシステムでよくあるパスワード初期化メールについてです。
URLパラメーターが暗号化されたアドレスにアクセスすると思いますが、こういうのってどんなプロトコルを使ってパラメーター暗号化してるのでしょうか。
0179デフォルトの名無しさん (ワッチョイ bf70-KN4L)2020/04/20(月) 21:52:01.51ID:nu8M1bCu0
>>178
AES-GCMちょっと確認してみます。
パスリセを例として出したのは例として分かりやすいかなぐらいな感じで、要は解読できないパラメーターがどんな風な作りになってるのか知りたかったんです。
0180デフォルトの名無しさん (ワッチョイ ba02-Lf76)2020/04/26(日) 20:29:46.21ID:aAS4CHj70
エクリプスでjunit使いたいんですけど、うまくいきません…
ここ見れば使い方わかるみたいなサイトってありますか?
自分でも調べたんですけど、「テストランナーjunit4のテストが見つかりません」と出てしまい困ってます…
0184デフォルトの名無しさん2020/04/27(月) 15:52:24.24
複数のPDFファイルを沢山ダウンロードしたいんだが、逐一だととても遅くてやってられない
並列処理で効率化したい
あと、ダウンロードエラー時のリジューム機能も実装できたら文句なし
0185デフォルトの名無しさん2020/04/27(月) 16:01:28.73
ファイルをダウンロードする処理って
Files.copyでやるやり方と

byte dataBuffer[] = new byte[1024];
int bytesRead;
while ((bytesRead = in.read(dataBuffer, 0, 1024)) != -1) {
fos.write(dataBuffer, 0, bytesRead);
}

でやるやり方があるけど、どっちがどう違うん?
0188デフォルトの名無しさん (ラクッペペ MM8f-agxw)2020/04/29(水) 02:26:48.65ID:IXK0ODvaM
うんち
0190デフォルトの名無しさん (ワッチョイ 7f2c-1Vtn)2020/04/29(水) 03:45:31.82ID:Cpi+Il5+0
>>180
例えば、Ruby on Rails なら、test フォルダ以下のすべてのファイルをテストする

# (test/ 以下の)すべてのテストを実行する
$ bin/rails test

# 複数のフォルダ以下のすべてのテストを実行する
$ bin/rails test test/models test/jobs

>>184
wget, curl などで、並列ダウンロードは出来ないの?
0192デフォルトの名無しさん (ワッチョイ a746-ts7H)2020/04/29(水) 12:34:13.70ID:xJZA+e2e0
ググれば解決するようなアホな質問をなぜか上から目線でする
己の糞馬鹿を棚にあげてよく言うわ
クソガキッズはID変えて自演するまえに自分の馬鹿さを自覚しろ
0196デフォルトの名無しさん (ワッチョイ 5f23-4AVG)2020/04/30(木) 12:31:53.52ID:Ne/WC50y0
ここってほんまに初心者質問スレなんか
0199デフォルトの名無しさん (アウアウウー Sa1d-Cnva)2020/05/15(金) 18:31:44.88ID:k5r7gRgVa
>>184
マルチスレッドでやれば良いのではないかな。
シングルスレッドでやってやれないこともないだろうが面倒になりそう。
0200デフォルトの名無しさん (ワッチョイ 5b1d-s4/3)2020/05/20(水) 17:23:36.58ID:mYNR9VNU0
質問です。
戻り値のあるメソッドの作成において、条件によってはSystem.exit()で処理を終了
させたいのですが、「return文が無い」とコンパイルエラーになってしまいます。
どうせexitメソッドの後の文は実行されないので無駄だと思うのですが、
コンパイルを通すためだけにどうでもいい値をreturnしないといけないでしょうか?

例)
if (isFlag) {
__return 1;
} else {
__System.exit(3);
__return 0; // ←この文です
}
0201デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/20(水) 17:40:15.80ID:i5a3FP8I0
>>200
そうです

普通はJVMを終了させるようなメソッド書かないよ
例外投げて呼び出し元でSystem.exitしたがいんじゃない?
0203デフォルトの名無しさん (ワッチョイ 5b46-crVl)2020/05/20(水) 17:43:35.87ID:dX3YGYcq0
5日ぶりについた糞な質問に20分でアホな回答つけてるとか自演か?
自演じゃなくてもなんで即レスでアホな回答する馬鹿しかここにはいないのか
ほんと理解に苦しむ
0204デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/20(水) 17:44:09.05ID:i5a3FP8I0
>>202
まあまあ

普通はどうやるんだろ
・Eitherで正常値と異常値をわける
・OptinalでEmptyを返す
・例外を投げる
あたりかなー
jvmを終了させるのはないわー
そんな凶悪メソッド使いたくないわー
0205デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/20(水) 17:44:39.98ID:i5a3FP8I0
>>203
おいプリン俺を誰だと思ってるんだ
プリン先生の大ファンです、サインください
0207200 (ワッチョイ 5b1d-s4/3)2020/05/20(水) 18:19:50.74ID:mYNR9VNU0
答えてくれた方、ありがとうございました。

>>204
exit()を使うより、例外を発生させて終わった方がいいですか?
0209デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/20(水) 18:43:45.91ID:i5a3FP8I0
>>207
値を返すメソッドの中でjvmを終了させない方が良いよ

それはそれとして終了ステータスを3にしてるのはjavaを実行したあとに
終了ステータスで処理を変えたいとかがあるわけっしょ?
そういうのがなくてなんとなく3にしてるだけだったら
例外投げて終わりでよいと思うけど、何をしたいのかわからないので
System.exitを使わなくてよいかはわからぬよ

System.exitを使うならmainメソッドで使ったが良い
0210200 (ワッチョイ 5b1d-s4/3)2020/05/20(水) 18:48:51.78ID:mYNR9VNU0
>>208
それ俺の質問です!
その時は別の解決策を見つけたんでよかったのですが(finallyをせずに処理を書く)、
今度はうまくいかなかったんです。

例外を検討してみます。
ありがとうございました。
0211200 (ワッチョイ 5b1d-s4/3)2020/05/20(水) 18:58:53.26ID:mYNR9VNU0
>>209
参考までに書いているコードをアップします。
https://pastebin.com/62aSxerK

じゃんけんをするプレーヤークラスのサブクラスを書いています。
5回誤入力があると、主工程の次のステップに進ませず終了させたいので、
exitメソッドを思い付きました。

前述の通り例外を発生させたいと思います。
0212デフォルトの名無しさん (ワッチョイ 339f-obnW)2020/05/20(水) 19:34:03.56ID:XP47V45A0
これは終了理由のエラーメッセージも詰め込んで例外スローだな
一介のPlayerクラスがVMの命運を握ってるのはおかしいので
古典的には不正な入力に対して-1を返してもいい
それをもっとJavaっぽく書くならグー、チョキ、パー、不正の4値のenumで
0214デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)2020/05/20(水) 20:08:48.94ID:WJVU+U120
>>211
>exitメソッドを思い付きました

っつってもJavaだけやっててexitなんてそうそう思い付くモンじゃないよ
たぶんC言語からの流れじゃね
0219デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/21(木) 20:27:42.73ID:ROmcCwHn0
>>218
うるせえ!黙ってろハゲ
0221デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/21(木) 21:19:51.39ID:ROmcCwHn0
質問した人と僕が同一人物だと疑ってるわけですね
それが事実だったとして一番得をするのはプリン先生です
つまり犯人はプリン先生です

プリン先生は僕の才能に嫉妬しています
僕はプリン先生の一番弟子としてそれを誇りに思うしプリン先生を尊敬しています
0222デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/21(木) 21:34:09.74ID:ROmcCwHn0
『プリン先生の深層心理』

質問した人と僕が同一人物だと, どうしてプリン先生が得をするか
それは, 僕の才能あふれる回答が自作自演によるものならプリン先生が僕の才能を否定できるからです
そればかりか卑劣な行いとして僕を糾弾する正義の立場に立てるからです

プリン先生は自分よりも才能のある人を恐れています
自分の方が優秀だと思いつつも僕の才気あふれる回答を目にしてとまどっています
質問した人と僕が同一人物ならばその葛藤に折り合いをつけることができます

このことが原因でバイアスが発生します
おそらくプリン先生はそのことを自覚していません
深層心理は無意識下で働き, 意識の表層には苛立ちとして現れます
俗に言う嫉妬です
0223デフォルトの名無しさん (ワッチョイ 8b01-oW4g)2020/05/21(木) 21:34:56.39ID:a/mGIkT10
女が友達がヤバかった話するときは、自分がヤバかった話だからな。
0224200 (ワッチョイ 5b1d-s4/3)2020/05/22(金) 01:41:56.50ID:lEHu0gid0
まだ話続いてたんですね…。

>>217
ありがとうございます。
しかしJava8までしか知らないので読めないです…。

例外処理で終了するようコードを修正しました。
https://pastebin.com/8hjNRc4C

それと先(>>211)のコードでは、数字以外を入力したときにうまく動作しないので、
改行文字を読み捨てるようnextLineメソッドを追加しています。
0226デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/22(金) 09:47:22.48ID:MygyNOFw0
>>225
5回試行してそれでもダメなら例外なので
良いと思うけどね
0227デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/22(金) 09:50:13.09ID:MygyNOFw0
想定される例外なら検査例外そうでないなら実行時例外というわけ方はあるけれども
検査例外を捕まえるのは正常フローから外れた処理を正常フローに引き戻すという目的があって
やることなので今回の場合はプログラムを終了させたいわけだから実行時例外で問題ないと思うけどね
0228デフォルトの名無しさん (アウアウウー Sac7-8pht)2020/05/22(金) 10:01:18.04ID:I4qPJ3i7a
検査例外はそもそも大失敗な機能なんで正しく運用するなんて不可能
GroovyやKotlin等の後発JVM言語にすら省かれてるし、Java自身もラムダと相性悪過ぎてついに失敗を認めUncheckedIOException追加しちゃった
0229デフォルトの名無しさん (ワッチョイ cb12-WyE1)2020/05/22(金) 10:31:49.68ID:+nON9XYM0
単純にはもともとがexitなのだから代替はRuntimeExceptionでもいいとは思うが、
これは複数人のじゃんけんなんだろうから、そのたった一人の入力ミスが
exitやRuntimeExceptionで全体を強制終了に追い込むのは、それもおかしい。
0231デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/22(金) 13:38:30.38ID:MygyNOFw0
>>229
なるほど、それもそうか

>>228
HDDに対するIOの例外は検査例外ではなくて実行時例外であるべきだとは思うけど
それ以外の検査例外もなくして良いかは微妙なところ
検査例外の利点は例外のハンドリングが抜けてることにコンパイル時に気づけることなのであっても良いと思う

Javaを設計したゴスリンは航空機のシステムを開発してて例外のハンドリングが抜けてることを見落として
航空機が墜落することを経験してたから検査例外を作りましたっていう物語を読んだことがある
Javaでミッションクリティカルなシステムを作ってる人は少ないだろうけど
0232デフォルトの名無しさん (ワッチョイ 4e10-Edk2)2020/05/22(金) 13:42:32.29ID:kWW4bzxt0
知っていますか、そのじゃんけんプログラムを書いた御仁は、
Javaをもう二年以上勉強していて、
Javaはマスターした、オブジェクト指向は完璧に理解したと豪語しているということを
0233デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/22(金) 13:43:34.34ID:MygyNOFw0
質実剛健、完璧堅牢、Java
0235デフォルトの名無しさん (ワッチョイ 3761-f9m4)2020/05/22(金) 18:46:31.08ID:QUisHt510
RuntimeExceptionなんて名前を付けちゃったから混乱するんだけど、
IOExceptionやSQLExecptionなども「実行時例外」ではあるぞ。
0236デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/22(金) 18:56:33.04ID:MygyNOFw0
すごーい
0238デフォルトの名無しさん (ワッチョイ 9a61-f9m4)2020/05/23(土) 11:41:11.01ID:VbPuW/L00
Javaは非チェック例外をRuntimeExceptionとしたが、
チェック例外も非チェック例外も実行時例外であることに変わりない(だからカッコ付けたんだけど)。
RuntimeExceptionを実行時例外と訳すのは、Classクラスをクラスクラスと訳してしまう同じ過ち。
0239デフォルトの名無しさん (ワッチョイ 979c-ebFg)2020/05/23(土) 11:56:00.95ID:UKShC8hO0
>>238
文法や構文の誤りはコンパイル時に検出されるけど例外は実行時にスローされるのだからすべて「実行時例外」だという主張ですか?
実行時例外をそんな意味で使ってる人見たことないです
0240デフォルトの名無しさん (ワッチョイ 9aad-SEkD)2020/05/24(日) 05:08:04.89ID:vB1Q/4mw0
Kotlinもよろしく
0242デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/25(月) 00:25:50.67ID:Ou5xo5qn0
>>241
ScannerがInputStreamをバッファリングして読み込んでてInputStreamが空になってるからでしょ
Scannerを共有すれば良い
0243241 (ワッチョイ 5b1d-s4/3)2020/05/25(月) 15:20:08.37ID:6axksZvO0
>>242
回答ありがとうございます。
でも俺頭が悪いのでそれがどういうことなのかよく分からないです…。

修正はしてみました。
https://ideone.com/ZA15Gv
こんな感じでよろしいでしょうか?
0246241 (ワッチョイ 5b1d-s4/3)2020/05/25(月) 16:10:14.87ID:6axksZvO0
>>245
回答ありがとうございます。

>>241>>244では別メソッドという観点からアプローチしましたが、
本当は>>243のように別のクラスでどうか、という観点でやりたかったんです。

JPCERTの記事はまだ理解出来ていませんが、
・別メソッドでScannerを使う場合は、そのクラスのフィールドでscanner変数を宣言してそれぞれ利用
・別クラスで使う場合は、scanner変数ををstatic付きで(Mainクラス等に)宣言し、クラス変数としてそれぞれ利用
という理解でいいですかね?

以下は、後者の場合のコード作成例です。
https://ideone.com/3YvgD5
0247デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/25(月) 17:11:26.36ID:Ou5xo5qn0
>>246
どうしてエラーになるかの説明でリンクを貼った

どういう理由でクラス分けようとしてるのかわからないけど
フィールドにScannerをもたせるならこうじゃないかな
https://paiza.io/projects/kIlKd0LmbbTwohyXEL0Glw

可変のフィールドをパブリックに公開するのは責任の範囲がわからなくなるので
よろしくないし、それに依存するクラスもよろしくないと思うよ
0248デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/25(月) 17:24:28.23ID:Ou5xo5qn0
一般論としてはだけどね
結局のところなんでもあり
0249デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/25(月) 17:25:10.64ID:Ou5xo5qn0
動けば正義
0250241 (ワッチョイ 5b1d-s4/3)2020/05/25(月) 18:09:13.78ID:6axksZvO0
>>247-249
ありがとうございました。

理解できてないというのは、意図が分からないということではなく、
読んでみたものの内容が理解できなかったという意味です。

ちょっと俺にはその水準のコードはまだ書けないですね。
もう少し本を読んでみようと思います。
0251デフォルトの名無しさん (ワッチョイ 5a7c-rJCj)2020/05/26(火) 13:44:52.25ID:RAWR5qso0
超はじめたてです。質問があります。

関係演算子と分岐分を用いる問題です。

「int型の変数a,b,cを宣言し、それぞれ適当な整数を代入する。
a.b.cのうち最大値を求めてその値を表示してください」というコードはどうすればいいですか?
0252デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 13:58:27.88ID:rvZgOtV/0
>>251
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 System.out.println(max(max(a, b), c));
}

static int max(int x, int y) {
 if (x >= y) {
  return x;
 } else {
  return y;
 }
}
0253デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:01:28.38ID:rvZgOtV/0
もしくはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 if (a >= b) {
  if (a >= c) {
   System.out.println(a);
  } else {
   System.out.println(c);
  }
 } else {
  if (b >= c) {
   System.out.println(b);
  } else {
   System.out.println(c);
  }
 }
}
0254デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:03:04.65ID:rvZgOtV/0
あるいはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 System.out.println(Stream.of(a, b, c).max(Integer::compareTo).get());
}
0255デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:04:39.34ID:rvZgOtV/0
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 System.out.println(Stream.of(a, b, c).reduce((x, y) -> x >= y ? x : y).get());
}
0257デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:09:36.09ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 int[] xs = {a, b, c};
 Arrays.sort(xs);
 System.out.println(xs[xs.length - 1]);
}
0258デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:11:53.33ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 TreeSet<Integer> tree = new TreeSet<Integer>();
 tree.add(a);
 tree.add(b);
 tree.add(c);

 System.out.println(tree.last());
}
0259デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:17:23.59ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(Comparator.reverseOrder());
 maxHeap.add(a);
 maxHeap.add(b);
 maxHeap.add(c);

 System.out.println(maxHeap.remove());
}
0260デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:19:48.13ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 int[] xs = {a, b, c};
 int max = 0;

 for (int i = 0; i < xs.length; i++) {
  if (i == 0 || xs[i] > max) {
   max = xs[i];
  }
 }

 System.out.println(max);
}
0261デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:21:57.57ID:rvZgOtV/0
>>256
またはこう
public static void main(String[] args) {
 int a = 3;
 int b = 1;
 int c = 2;

 int max = a;

 if (b > max) {
  max = b;
 }

 if (c > max) {
  max = c;
 }

 System.out.println(max);
}
0262デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:25:18.85ID:rvZgOtV/0
>>253
これバグってるwごめん
0263デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:42:03.35ID:rvZgOtV/0
あれバグってなかった、天才でごめん
0264デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 14:44:26.65ID:rvZgOtV/0
>>256
つまりこう
public static void main(String[] args) {
 int a = 1;
 int b = 2;
 int c = 3;

 System.out.println(a >= b ? a >= c ? a : c : b >= c ? b : c);
}
0265デフォルトの名無しさん (ワッチョイ ba52-NhWw)2020/05/26(火) 14:46:23.47ID:gtoMtdIk0
>>251
3枚のトランプa,b,cがあったとき、どうやって一番大きい数字のカードを見つけるかを、まずは日本語で順を追って書いてみな。
初めから効率とかきれいに書こうとか考えず、漏れなく正しく判断する手順を考える。
選んだカードの比較結果によって次に行う手順が変わるから、そういう可能性を漏れなく考えて、a,b,cがどんな組み合わせでも大丈夫な方法を見つける。
ここまででちゃんときてから、実際にJavaのコードを書き始めてみな。
0268デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 15:59:31.21ID:rvZgOtV/0
>>256
どこまでできたん?
0269デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 15:59:55.46ID:rvZgOtV/0
あ、ごめん、間違えた
0270デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 16:00:27.57ID:rvZgOtV/0
>>251
どこまでできたん?
0274デフォルトの名無しさん (ワッチョイ 7601-o1js)2020/05/26(火) 17:12:24.95ID:rvZgOtV/0
プリン先生のキレが悪い
0279デフォルトの名無しさん (ワッチョイ cb12-WyE1)2020/05/26(火) 21:18:50.58ID:xHxMFosX0
>>278
お前が37歳だかの無職荒らし発達障害者なのか?
人のせいにしてるんじゃねーよ。

>人のやり取りに文句ばかり言って自分は何もしない奴のせい
自分のことだろ。他人を検索システムや採点システムとしてしか見ていないで
ただ人に行為に甘えるだけの努力しない幼児が。
0281デフォルトの名無しさん (ワッチョイ 511d-MDw3)2020/05/27(水) 17:20:06.78ID:UfstZGFs0
>>232
>Javaはマスターした、オブジェクト指向は完璧に理解したと豪語しているということを
そんなことは言ってない

>>279
>自分のことだろ。他人を検索システムや採点システムとしてしか見ていないで
>ただ人に行為に甘えるだけの努力しない幼児が。
そんなことはない 黙ってろ
0282デフォルトの名無しさん (ワッチョイ 93b9-AV50)2020/05/27(水) 18:23:32.22ID:cA9U77a90
>>7ってまだ続けられてるのかな
0284デフォルトの名無しさん (ワッチョイ 4101-XI5K)2020/05/28(木) 07:53:13.38ID:/Vusj6Nw0
過去にはこんな事も

720 名前: ◆BrBq2CJg6HGd [sage]
:2019/01/15(火) 17:39:56.71 ID:fyCw1kpR
>>711
Amazonで評判のいい本の内、なか見検索があるものということであの本になった。
それとスッキリ入門はマスター。
0287デフォルトの名無しさん (ワッチョイ 93ad-atjb)2020/05/29(金) 21:26:51.69ID:Ey9K/+fw0
throw
0289デフォルトの名無しさん (ワッチョイ d99c-6p2H)2020/05/31(日) 12:10:18.82ID:wcfOBf6F0
うん、それはソースコードをUTF-8で書いてるってことだからとても良いことだよ
ソースコードをShift_JISで書けば-encoding指定を省略できるけど、いまさらShift_JISファイルを量産するのはおすすめしない
0290デフォルトの名無しさん (ワッチョイ db01-5TGn)2020/05/31(日) 13:00:48.17ID:0XZA+K880
>>288
ideでソース書いて実行する人がほとんどだと思う
javacを手打ちしてる人は少ないんじゃないかな
試しにjavacを実行してみたけど-encodingの指定は必要だった
入力するのが面倒ならbatファイルやps1ファイルにパラメータを書いておいて
batやpowershellからjavacを実行したり
gradleやmaven、antなどのビルドシステムを使ったり
ide使ったりとか
0291デフォルトの名無しさん (オッペケ Sr8d-moxv)2020/05/31(日) 17:10:18.30ID:mlVfSsWXr
Robert Sedgewick & Kevin Wayne著『Algorithms 4th Edition』に以下の記述があります。

『One of Java's characteristic features is its policy that references cannot be modified.』

この意味が分かりません。リファレンスを変更できないとはどういうことですか?
0293デフォルトの名無しさん (オッペケ Sr8d-moxv)2020/05/31(日) 17:20:54.04ID:mlVfSsWXr
>>292

回答、ありがとうございました。

メモリ上に存在しているオブジェクトのインスタンスの場所を動かせないという意味でしょうか?

たとえば、1000番地にあるオブジェクトのインスタンスを2000番地に動かせないということですか?

もし、そういう意味だとしての質問なのですが、オブジェクトのインスタンスを動かす必要なんて起こる場合があるんですか?
0295デフォルトの名無しさん (ワッチョイ 9961-DnWm)2020/05/31(日) 17:52:43.57ID:hHIdU/aR0
>>293
いや、Cだと、
BYTE *ptr = top;
for ( i = 0; i < 100; i++ ) {
 (ptrを使った処理)
 ptr++;
}
とできるが、このptr++のようにポインタを変更する処理がJavaではできないという意味と見た。
なお、Javaでも、
TYPE aaa = new TYPE;
としておいて、もう一度、新たに
aaa = new TYPE;
とすることは出来るはずだが。
0296デフォルトの名無しさん (ワッチョイ a19f-67EO)2020/05/31(日) 17:56:08.91ID:hm54d19c0
ちょっと違うと思う
modify referenceと言うように参照側を動かせるかどうかの話
Cの場合、たとえば配列を参照しているポインタをひとつインクリメントすると配列の次の要素を参照する
ポインタが指し示す番地を書き換えられるということ
Javaの場合、オブジェクトや配列に対する参照に加算するような概念がない
変数に新たな参照を代入して上書きすることはできても、既に作られた参照をずらしたり書き換えたりができない

その意味はJavaがCのような言語と比べて高級言語であるということ
0299デフォルトの名無しさん (ワッチョイ 9961-DnWm)2020/05/31(日) 18:15:50.91ID:hHIdU/aR0
Javaは、アドレス演算子も無くて、Cの
BYTE *ptr = buf + i;
BYTE *ptr = &buf[i];
TYPE *ptr = &type_data_s[i];
に相当することができなかったと思う。
だから、結構めんどくさい事になる。
0300デフォルトの名無しさん (ワッチョイ d99c-6p2H)2020/05/31(日) 19:17:38.10ID:wcfOBf6F0
インスタンスの配置されたメモリアドレスを変更できないという理解でいいよ
そうすることで「効率的なガベージコレクションができる」と説明が続いているので

プログラマーが勝手にインスタンスのアドレスを変更したり他のメモリーに複製できてしまったらガベージコレクタがそのインスタンスを破棄できなくなる
0301デフォルトの名無しさん (ワッチョイ db02-sq2C)2020/06/01(月) 00:31:11.05ID:7+WAnHBR0
「プログラマが」メモリアドレスを変更できない

ガーベッジコレクタがメモリアドレスいじる場合もある
どれくらいの頻度でそういう事するのか知らんけど
0302デフォルトの名無しさん (ワッチョイ 85e9-Alfg)2020/06/03(水) 08:08:11.97ID:zIcbPltb0
swing を使ってプログラムを書いてるんですが、SwingWorker のなかで

@Override
public Integer doInBackground() {
int[] a = {0, 1};
System.out.println(a[2]);
・・・
}

とやってもEclipseのコンソールにエラーが表示されないんですけど、どうしてでしょう?
例外自体は投げられてるようで、その後のコードは無視されます。
0303デフォルトの名無しさん (ワッチョイ a99c-m9VU)2020/06/03(水) 08:25:05.25ID:mZPhGC330
Javaでは別スレッドで例外が発生しても無視される
その別スレッドが終了するだけでメインスレッドは何事もなかったかのように継続する

別スレッドの例外を補足したい場合はThread.uncaugtExceptionでリスナーを登録してね
0305デフォルトの名無しさん (ワッチョイ 3e01-cXqP)2020/06/03(水) 09:49:55.55ID:KDlF+5RH0
SwingWorkerは
doInBackgroundが別スレッドで処理されて
doneがedtで処理されて
doneの中で結果をgetするときに例外投げられるはず
0310デフォルトの名無しさん (ワッチョイ 3e02-Minv)2020/06/06(土) 09:43:08.60ID:jRzpaj1H0
instanceof が遅いって昔聞いて頻繁に呼ばれる箇所で使うの躊躇してたんだんけど
さらっと調べた限りじゃ、今はそんなことねーんかな
こういうのは実環境で実際ためしてみないとあれだけども
0311デフォルトの名無しさん (ワッチョイ 5d9f-/HF9)2020/06/06(土) 11:22:41.14ID:+gqsQGig0
今も昔もそんなことない
昔遅いと言われていたのはリフレクション

早すぎる最適化は諸悪の根元というセオリーがある
10倍100倍遅いと聞いてビックリして忌避するのは素人
たったの100倍、10万回呼ぶようなときに気にすればいい

instanceofは別の理由であまり使わない
オブジェクト設計が失敗してると多用しがち
0313デフォルトの名無しさん (ワッチョイ 3e1d-dR+O)2020/06/06(土) 20:10:57.73ID:30RcyY5a0
eclipse(プレアデス)で書いてます
同じパッケージに二つのクラスをいれて片方にコンストラクタ、片方はmain型でnewを実行しているのですが、
実行した際にメイン型が含まれていないと言われます
異常を示すマーカーはないです
0314デフォルトの名無しさん (ワッチョイ 3e01-cXqP)2020/06/06(土) 20:18:01.06ID:zvKvpyo/0
>>313
mainのソース見せて
0315デフォルトの名無しさん (ワッチョイ 3e1d-dR+O)2020/06/06(土) 20:50:55.03ID:30RcyY5a0
package ex3;
public class Naming{
public static void main(String[] args) {
Nanashi nanashi = new Nanashi(10, 10);
System.out.println(nanashi);
}
こんな感じです
NamingクラスからNanashiクラスのことは認識できているようです
0317デフォルトの名無しさん (ワッチョイ 3e01-cXqP)2020/06/06(土) 22:01:32.73ID:zvKvpyo/0
>>315
mainは問題なさそう
0318313 (ワッチョイ 3e1d-dR+O)2020/06/06(土) 22:51:02.81ID:30RcyY5a0
>>316
実行するときに選択したのはパッケージなんですがそれで動かないです
Naming選択するとJavaアプリケーションでなくサーバーで実行しかできなくなります
0319デフォルトの名無しさん (オッペケ Sred-uikQ)2020/06/06(土) 23:34:51.73ID:8vbqghVGr
https://ideone.com/LpcGxJ

↑のコードですが、ideoneでは意図通りに動作します。

ところが、Eclipseで標準入力から用意した整数の入ったファイルを読み込ませても、最後の"Hello World"がプリントされません。
というか、プログラムが終了しません。

原因は何でしょうか?
0320313 (ワッチョイ 3e1d-dR+O)2020/06/07(日) 00:09:23.06ID:Mpyn5lAA0
他の方に聞いて解決しました。
身バレ防ぐために改変したあたりが間違い箇所でした。本当に申し訳ありません。
ご指導ありがとうございました。
0322デフォルトの名無しさん (ワッチョイ 3e01-cXqP)2020/06/07(日) 00:14:47.65ID:Trgw7Kao0
あるある
0323デフォルトの名無しさん (ワッチョイ 3e01-cXqP)2020/06/07(日) 00:16:25.37ID:Trgw7Kao0
>>319
Windowsなら標準入力を終わらせるためにCtrl + zを入力しないといけないよ
0326デフォルトの名無しさん (ワッチョイ 85e9-Alfg)2020/06/07(日) 17:49:55.63ID:Xfgj1cuV0
Eclipse でインポート文が突然アクセスできないってエラーになります。
コードを何もいじってないのに、突然エラーになって、import 文を削除して改めて Eclipse にインポートとしてもらうか、
あと関係ない部分のコードをいじると直ってしまうとか、謎な振る舞いをするんですが、これって何なんでしょうか?
この二つのインポート文にそういう症状が出ています。

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
0330328 (ワッチョイ 151d-nxLJ)2020/06/08(月) 19:43:28.03ID:ND80n/By0
>>329
ありがとうございます。

でもインタフェースは抽象メソッドしか持てないって本には書いてありましたが…
0331デフォルトの名無しさん (ワッチョイ caad-wk5h)2020/06/08(月) 20:44:02.49ID:F/O1Xj+m0
interfaceそのものにはなくてもクラスに実装された形でnewされればどんなクラスでもObjectクラスから派生したクラスのインスタンスになるからなあ。
0332328 (ワッチョイ 151d-nxLJ)2020/06/09(火) 00:22:03.69ID:pvFN20Lx0
>>331
ではインタフェースにはtoStringやequalsの抽象メソッドだけ
宣言されているのですか?
例えば
/* public abstract */ String toString();
のような感じで
0333デフォルトの名無しさん (ワッチョイ 4af4-sQYz)2020/06/09(火) 01:02:51.85ID:d94QyX7D0
>>332
されてないんです。
0335デフォルトの名無しさん (ワッチョイ 3e02-Minv)2020/06/09(火) 12:01:41.56ID:hk0ndr/Y0
Java で正規表現やるとぐちゃぐちゃにならん?
(?<!\\\\)(?:\\\\\\\\)*
とか、どんだけバックスラッシュだらけやねんて感じ
二重にエスケープ入るのほんとうんこだよね
0338デフォルトの名無しさん (ワッチョイ 2501-4AZV)2020/06/09(火) 19:32:51.80ID:LnPmrJe00
初めまして。大学生でJAVA未経験のものです。以下のような課題が出ました。

ユークリッドの互除法に従い,while文を利用して変数m=12707と変数n=12319の最大公約数を求めてください.
コンソールには,結果の最大公約数に加えて,変数m,nの値の変化も出力してください.

分かる方いらっしゃいましたら教えてください。環境はできています。
0339デフォルトの名無しさん (ワッチョイ 3e02-Minv)2020/06/09(火) 19:52:13.23ID:hk0ndr/Y0
>>338
それは質問じゃなくて丸投げ
何がわからないん?

ユークリッド互除法のアルゴリズムがわからないのか、
プログラムの書き方がわからないのか
やってみようとしてどこまでできて何がわからないのか
0340デフォルトの名無しさん (ワッチョイ 2501-4AZV)2020/06/09(火) 20:36:36.47ID:LnPmrJe00
>>339
レスありがとうございます。
プログラムの書き方がわからないんです。
今まで int x = ~までしからなかったので、数が複数出てきたとき?でした。

私が自力でできたのはここまでです。
int x = 1;
while(x < 100){
x = x * 2;
System.out.println(x);
0341デフォルトの名無しさん (ワッチョイ 5d2c-uyHd)2020/06/09(火) 23:07:33.36ID:8tnKNbCs0
漏れが、Haxe で、互除法を書いたもの

最大公約数 : greatest common divisor, Greatest common factor
最小公倍数 : least common multiple
公式 : a * b = G * L

static function gcd ( a:Int32, b:Int32 ) :Int32 {
var min = a, max = b;
if ( a > b ) { min = b; max = a; } // min/max を設定

while ( true ) {
var mod = max % min;
if ( mod == 0 ) { break; } // 割り切れたら
max = min; min = mod;
}
return min;
}

// gcd を使って、lcm を求める
static function lcm ( a:Int32, b:Int32 ): Array<Int32> {
var res: Array<Int32> = [ ];
res[0] = gcd ( a, b );
res[1] = Std.int ( a / res[0] ) * b;
return res;
}
0344デフォルトの名無しさん (アウアウウー Sa67-3sqf)2020/06/11(木) 08:34:18.47ID:tM5anncba
Java世界では直行性は利便性よりも優先される
直行する関心事はクラスとして分離され、必要に応じて組み合わせて使用できなければならない
これはJava誕生時点から続く絶対不可侵な設計思想なので、気に入らないならJava自体やめた方がいい
0348デフォルトの名無しさん (アウアウウー Sa67-Ooer)2020/06/12(金) 13:13:50.67ID:Qkj+08r5a
そうそう。Kotlinなら例えなくても後から作れる。
0349デフォルトの名無しさん (ワッチョイ 6f02-x9ez)2020/06/12(金) 16:15:25.18ID:QrZcUNbI0
プロジェクトが eclipse に強依存してる
Kotlin が eclipse でまともに使えるようになったら起こして(現時点で使えるなら教えて)
Groovy と lombok でしのいでるけど、Groovy editor もバグりまくりで結構うんち
0353デフォルトの名無しさん (ワッチョイ ffa5-QS4R)2020/06/13(土) 12:10:51.25ID:9P4ZHk760
知らん
「spring document」と検索してトップに出てきた
所要時間二秒

つまり公式ページからは探してない
「探しても見つからない」って言ってんだから別の方法で探せばいいし、
そう言われてて再度公式ページは漁りたくない
0355デフォルトの名無しさん (ワッチョイ 6f02-x9ez)2020/06/14(日) 17:05:05.57ID:Ax2ZQ2Xq0
eclipse ってラムダ式に全然最適化されてないよね
一回 eclipse まるごと何回再起動してもフリーズして、
外部エディタでラムダ式の書き方変えないとだめだった事あるわ
補完もかなり雑
0360デフォルトの名無しさん (ワッチョイ 6f01-xx+x)2020/06/14(日) 18:05:23.43ID:shDbklTU0
>>358
調べなくても書けるけど補完が利くと便利ですよ

>>359
それはさすがに・・・

IDEAのJavaエディタだけ移植することできないものなのかね
0361デフォルトの名無しさん (ワッチョイ 0346-NjyN)2020/06/15(月) 00:21:36.56ID:JKPEWg760
同じ奴だと思うけどちょくちょくエクリプソン使えない馬鹿が騒ぐよなここ
新卒あたりだろうけどエクリプソンすら使いこなせない奴は迷惑だからとっとと転職しとけ
アホ
0362デフォルトの名無しさん (ワッチョイ 6f01-xx+x)2020/06/15(月) 00:46:25.08ID:7xMM9RPC0
>>361
騒いでないしeclipseはラムダ式が苦手なんよeclipseエアプなん?eclipseキチガイなん?
0363デフォルトの名無しさん (ワッチョイ 6f02-x9ez)2020/06/15(月) 02:22:26.04ID:l+Pa5rRA0
IntelliJ って Swing だったのか
クソクソ言われ続けた Swing くんでも本気出せばあそこまで作り込めるんだな
eclipse RCP みたいな、もしくは SWT/JFace みたいな、
IDEで使ってる UI コンポーネントのセットみたいなライブラリって IntelliJ にもあります?
0366デフォルトの名無しさん (ワッチョイ 6f01-gQ8P)2020/06/16(火) 19:38:02.20ID:GWa7wGoJ0
いまどきフィールドくらいCにもあるやろ
0367デフォルトの名無しさん (ワッチョイ ff01-NdOG)2020/06/16(火) 21:00:30.33ID:JkKVZycg0
スコープの違い

ローカル変数 => メソッド/コンストラクタ/ブロック内のローカル変数
インスタンス変数 => 俗に言うフィールド
クラス変数 => static変数
0368デフォルトの名無しさん (ワッチョイ 5a2c-BbDI)2020/06/17(水) 01:41:42.72ID:H0Dcbe9T0
Ruby でもクラスに、外からインスタンス変数にアクセスできる、
accessor(setter/getter)を定義したら、
関数だけど、変数のように見える

@hello は、インスタンス変数

class A
def hello # getter
@hello
end

def hello=( val ) # setter
@hello = val
end
end

a = A.new

a.hello = "ハロー"
p a.hello #=> "ハロー"
0369デフォルトの名無しさん (ワッチョイ 7601-KnoZ)2020/06/17(水) 01:49:23.80ID:gwOMFOnj0
>>368
なんかダサくない? Javaの方が良くない?
0376デフォルトの名無しさん (ワッチョイ 1aa5-JYV+)2020/06/17(水) 13:08:59.31ID:NHOh2pyw0
classとstructを分けなかったC++の設計は正しかったのか・・・
0377デフォルトの名無しさん (ワッチョイ 179c-NuIp)2020/06/17(水) 13:29:12.83ID:77mAKNPg0
C++のclassとstructは違うよ
structにも関数が定義できるからclassと同じだと思ってる人いるけどさ
structはメンバーがデフォルトpublicなんだよね
だから従来通り構造体にはstruct使うのが適してる

Javaにもstruct欲しかったなー
アクセサ絶対作れおじさんとかうるさいんだもん
0379デフォルトの名無しさん (ワッチョイ 2be9-1/Nl)2020/06/18(木) 18:02:53.51ID:5l1ileUM0
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffc10d4f98a, pid=16056, tid=3844
#
# JRE version: OpenJDK Runtime Environment (13.0.1+9) (build 13.0.1+9)
# Java VM: OpenJDK 64-Bit Server VM (13.0.1+9, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C [awt.dll+0x8f98a]

以上のようなエラーが出ます。
swingを使っているせいだと思います。swingを使わないプログラムだと出ません。
Eclipse 2020 だとJDK14、及びJDK11でこのエラーが出ます。
JDK8に戻すとエラーが出なくなります。
Eclipse2019だとJDK13でこのエラーが出て、JDK11でエラーが出ません。
今は2019のEclipse、JDK11で使っていますが、どうしたらいいんでしょうか?
0382デフォルトの名無しさん (アウアウエー Sa52-f3e5)2020/06/18(木) 20:51:11.15ID:ao9b7VBWa
>>379
オラクルJDK11を使ってswingで書いたのを
OpenJDK13でコンパイルしようとしてるの?
JRE13のawt.dllのアクセス違反って出てるから
エクリプスの実行環境設定を変えるか
Windows10のコントロールパネルのJavaアイコンから環境設定のチェックしてみたら?
0385デフォルトの名無しさん (ワッチョイ 2be9-1/Nl)2020/06/19(金) 07:02:33.99ID:TxCC/8VB0
>>382
設定 → Java → コンパイラー
コンパイラー準拠レベル 13 にしておいて、

プロジェクトのJREシステム・ライブラリーを11と13で切り替えると13でエラーになります。
0389デフォルトの名無しさん (ワッチョイ b761-LS63)2020/06/19(金) 21:17:36.67ID:usppWfs40
>>387
だまされんなw
0391デフォルトの名無しさん (ワッチョイ 4e1f-d4zk)2020/06/20(土) 04:24:46.92ID:Os5dy8je0
コレクションクラスで、要素の昇順の取りだしとその削除を同時にでき、かつならび順を判定するデータに重複を許すクラスはありますか?やりたいことは例えば、

作業のリストから最も優先度の高いものを取りだし作業した結果、さらに複数の作業が発生し、それを優先度のつきで元の作業リストに追加登録したあと、更新後の作業リストについて同じことを繰り返す。(同じ優先度の作業が複数存在する)

といったことです。(実際の処理はもう少し複雑です)
0392デフォルトの名無しさん (ワッチョイ 4e1f-d4zk)2020/06/20(土) 04:39:38.15ID:Os5dy8je0
Comparable なオブジェクトを TreeSet に入れてみましたが、compareTo()==0 な2つオブジェクトは共存できずダメでした。(Comparable の API ドキュメントのequalsの説明どおり)
0395デフォルトの名無しさん (ワッチョイ 3f7c-1TtA)2020/06/25(木) 17:52:44.82ID:Xb49DC620
Java初心者です。
プロパティーファイルを読み込む問題でエラーが出てしまい困っております。

まずeclipse上でプロパティーファイルを作成して、次にFileInputStreamを使ってファイルのストリームを作成して、propertiesクラスを使ってストリームからロードし、try-catch-finallyを用いて、
nation1,nation2に対応するプロパティーをそれぞれ表示するコードを作成したいです。

私は以下のように作成したのですが2つうまくいかない点があります。

・最後にfinallyを用いてストリームを閉じたいのですが、pr.close();とするとエラーが出ます。

・相対パスを用いて “Users/Shared/java/properties/java. properties”とファイルの場所を指定したのですが、実行する事が出来ません。


重い様なので二つに分けますね。
0396デフォルトの名無しさん (ワッチョイ 3f7c-1TtA)2020/06/25(木) 17:54:34.75ID:Xb49DC620
ーーーーーーーーーーーーーーー
<プロパティーファイル名:java.properties>
#国の名前を表示したい
nation1=japan
nation2=china
nation3=brazil
ーーーーーーーーーーーーーーー
0397デフォルトの名無しさん (ワッチョイ 3f7c-1TtA)2020/06/25(木) 17:54:46.85ID:Xb49DC620
以下の様に作成しましたがエラーが出ます。
ーーーーーーーーーーーーーーー
package main;
import java .io.FileInputStream;
import java .io.IOException;
import java .io.InputStream;
import java . until.Properties;
public class Main{
public static void main(String[] Argos){
properties pr= new properties();
String strpass = “Users/Shared/java/properties/java. properties”;//ファイルが見つかりません
try{
InputStream istream =new FileInputStream(strpass);
pr.load(istream);
System.out.println(pr.getProperty(“nation1”));
System.out.println(pr.getProperty(“nation2”));
}
catch(IOException e) {
e.printStackTrace();
}
finally{
pr.close();//エラー表示
}
}
}
ーーーーーーーーーーーーーーー

こちらのサイトを参考にしました
https://www.sejuku.net/blog/20794
0398デフォルトの名無しさん (ワッチョイ 8fe9-5fXH)2020/06/25(木) 18:08:20.89ID:mBx+9mpL0
文字コードかも
try {
InputStream istream = new FileInputStream(propertiesPass);
InputStreamReader isr = new InputStreamReader(istream, "UTF-8");
properties.load(isr);
} catch (IOException e) {
e.printStackTrace();
}
0400デフォルトの名無しさん (ワッチョイ 3f7c-1TtA)2020/06/25(木) 18:18:05.89ID:Xb49DC620
>>399
コピペではなくて手打ちですね。
確かにjava.propertiesの所にスペースが入ってました。すみません。
0402デフォルトの名無しさん (ワッチョイ ff01-fk+3)2020/06/25(木) 18:52:36.61ID:jGqj5Ydq0
>>395
>・最後にfinallyを用いてストリームを閉じたいのですが、pr.close();とするとエラーが出ます。

prはProperties型の変数
Propertiesはストリームではないしcloseメソッドはないよ

>・相対パスを用いて “Users/Shared/java/properties/java. properties”とファイルの場所を指定したのですが、実行する事が出来ません。

実行時のカレントディレクトリからの相対パスだから
実行時のカレントディレクトリがどこなのかわからんから相対パスの指定が正しいかわからない
ファイルが見つからないのなら間違ってると思う

> https://www.sejuku.net/blog/20794

リソースリークしまくり・・・これを真に受けてプログラムを覚える人がいると思うと・・・
0403デフォルトの名無しさん (ワッチョイ ff01-fk+3)2020/06/25(木) 18:56:00.97ID:jGqj5Ydq0
try (var in = new FileInputStream(strpass)) {
  pr.load(in);
}

ストリームを閉じるのはこれでよい
0404デフォルトの名無しさん (ワッチョイ 3f7c-1TtA)2020/06/25(木) 19:58:50.86ID:Xb49DC620
>>401
絶対パスにして実行しても何も起きないですね…
String strpass = “java.properties”;

>>402
ありがとうございます。
eclipseで相対パスを求めるにはどうすれば良いですか?
無知ですみません。

>>403
すみません。問題にfinallyを用いてストリームを閉じるようにとの指定があるので…
0405デフォルトの名無しさん (ワッチョイ 3fa5-C4gh)2020/06/25(木) 19:59:42.08ID:YILGQb5k0
そのサイトは先にC言語でもゴミを排出してる

侍エンジニア塾のC言語のサンプルがヤバすぎる。 - Qiita
ttps://qiita.com/hamichamp/items/7b7a7ee091a6856ac900

ハッキリ言ってこの世に存在しちゃいけないクオリティだよ
日本の生産性下げるためにわざと、としか思えない
0406デフォルトの名無しさん (ワッチョイ 3f7c-1TtA)2020/06/25(木) 20:47:36.04ID:Xb49DC620
>>405
そうなんですね。信用していたのですが…
教えて頂いてありがとうございます。
0407デフォルトの名無しさん (ワッチョイ ff01-fk+3)2020/06/26(金) 01:56:48.85ID:Pmgb6tek0
>>404
> String strpass = “java.properties”;
コレハ絶対パスとは言わないよ、ファイル名だよ、ルートディレクトリからのパスを記述するのが絶対パス

> eclipseで相対パスを求めるにはどうすれば良いですか?
System.out.println(Path.of("").toAbsolutePath().normalize());

> 問題にfinallyを用いてストリームを閉じるようにとの指定があるので…

明示的に閉じるならこんな感じ

var in = new FileInputStream(strpass);
try {
  pr.load(in);
} finally {
  in.close();
}

tryの中で例外が投げられてfinallyでも例外が投げられると
例外の情報が上書きされてしまうから業務でプログラム書くことになったら
try-with-resourcesを使ったが良いよ
0408デフォルトの名無しさん (ワッチョイ 3f7c-1TtA)2020/06/26(金) 16:19:11.98ID:xWZZRBL00
>>407
絶対パスで実行したところうまく行くことが出来ました。
もっと勉強します。

みなさん本当にありがとうございました。
0409デフォルトの名無しさん (アウアウウー Sad3-L1xV)2020/06/28(日) 10:13:11.31ID:cGnhG6nOa
>>2さんがちょっと進歩したくらいの超初心者です
オープンJDK最新版(14.0.1)インストールして環境設定?みたいなのもググって見よう見まねでやりました
それでメモ帳とコマンドプロンプトでまたも見よう見まねで簡単なコードを書いてコンパイルして実行しようとするとエラー
調べてみるとJREのバージョンが古いから最新のやつには対応してないみたいな感じでした
JDKにはJREも含まれてるはずなのでおかしいなと思いましたがPCに元から入っているJREが悪さをしてるんじゃないかと思ってJRE8(1.8.0?)を1度削除しました
そして再度実行しようとすると今度はJREがないので実行できないと…
結局JRE8をインストールしなおしJDKのバージョンを8まで下げて解決させましたがどういうことだったんでしょうか
無知ですみません
0410デフォルトの名無しさん (ワッチョイ ff01-fk+3)2020/06/28(日) 10:42:25.35ID:qNzQpEfW0
>>409
Java 14でコンパイルしたものをJava 8で実行しようとしたのじゃないかな
0411デフォルトの名無しさん (アウアウウー Sad3-L1xV)2020/06/28(日) 11:50:16.52ID:cGnhG6nOa
>>410
それはそうなんですが、JDK14ってインストールするだけ(正確にはそうではないですが)で書くのも実行もできるようになってるんじゃないんですか?
自分はそう思ってたんですが…
0412デフォルトの名無しさん (ワッチョイ ff01-fk+3)2020/06/28(日) 11:54:41.46ID:qNzQpEfW0
>>411
それは知らない
僕は事象だけみて説明がつく理屈を考えた
0414デフォルトの名無しさん (ワッチョイ 0f9f-MvId)2020/06/28(日) 13:32:14.06ID:gpvPUA3V0
OSさんからしてみりゃ、どっちのjava.exeですか?弊社にはjava.exeは2人おりますが…ってな感じだ
環境変数でパスを通す方法と優先順位を調べるとよい
0415デフォルトの名無しさん (アウアウエー Sabf-PKxn)2020/06/28(日) 16:07:45.40ID:h6Ozp34ka
javac コマンドにtarget 1.8オプションなかったけ?
0416デフォルトの名無しさん (ワッチョイ 3fad-p8b5)2020/06/28(日) 21:19:16.18ID:7UQn/xBi0
>>409
よくわからないが8のjreだけでなくjdkもアンインストールしてみたら?
0417デフォルトの名無しさん (ワッチョイ cf2c-wMgy)2020/06/29(月) 03:23:18.98ID:ze6DZkOI0
例えばコマンドプロンプトで、メモ帳の.exe を探す。
もし複数表示されたら、上の方が実行される

where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe

つまりグローバルで、notepad というコマンドは、
上の方の.exe に関連付けられている

これが環境変数PATH。
環境変数には、(ユーザー)環境変数とシステム環境変数の2つある。
(ユーザー)環境変数は、そのユーザーだけに適用されるが、
システム環境変数は、すべてのユーザーに適用される

環境変数PATHを知らない香具師は、すべてのOS でプログラミングできない!
0418デフォルトの名無しさん (ワッチョイ 3f61-x+MM)2020/06/29(月) 16:34:52.03ID:aYLVTpU+0
Rubyいわないんだ。
0421デフォルトの名無しさん (ワッチョイ 3fad-p8b5)2020/06/29(月) 21:21:37.32ID:o17FnYvx0
アンダーグラウンドというよりは昔から便所の落書き
0423デフォルトの名無しさん (ワッチョイ ff02-l8dZ)2020/06/30(火) 09:58:33.47ID:qX2MPAZ00
Java の正規表現で、メタ文字じゃないのにエスケープできる文字って、単にミスを回避する目的のためだけですかね?
例えばセミコロンとか正規表現のメタ文字じゃないからエスケープする必要ないけど、\; と書いてもエラーでませんよね?
0427デフォルトの名無しさん (ワッチョイ 3fa5-C4gh)2020/06/30(火) 20:32:26.69ID:+e+FbMSY0
perl時代の謎機能を引き摺ってるとか
正規表現のパターンそのものをprintしたいとか
その時は全部の文字の前にとりあえず¥を差し込めばいい

なんにせよ正規表現の闇は深い
0431デフォルトの名無しさん (アウアウウー Sacf-Im8i)2020/07/03(金) 20:58:37.91ID:utx4gTp9a
>>428
java logger とかのキーワードで検索すると沢山出てくると思う。
0433デフォルトの名無しさん (ワッチョイ 53aa-EvCz)2020/08/06(木) 08:56:12.42ID:KV4/CgyK0
swingでウィンドウアプリケーション作りたいんやがやり方がわからんので教えて頂きたいです。
とりあえず一旦ウィンドウ表示させる所からやりたいんやけどそのやり方が分からん。
言語はJavaで開発環境はAtom
ドシロート丸出しの質問失礼しますm(_ _)m
0435デフォルトの名無しさん (ワッチョイ 137e-oq3e)2020/08/06(木) 09:15:53.80ID:sL8T8qE90
そうそう、ドシロート丸出しじゃないですよ。
ドシロートというのは自分で調べる努力くらいはしているものです。
よって、何がわからないかくらいは把握しているものです。

あなたの場合は、努力を放棄して、全てを召使にでもやらせる感覚ですね。
人間のクズ丸出し、とでも申しましょうか。
他人を便利な道具としてしか見ていない、まあ端的に申しまして
ただのキチガイでございますね。
0438デフォルトの名無しさん (ワッチョイ d352-IP9Q)2020/08/06(木) 09:35:23.02ID:Z0IRQC5l0
>>437
ここで手取り足取り教えることなんてできないんだから、質問内容をもっと具体的に絞り混んだりしないと答えようがないよ。
まずは一通りやりたいことがかかれてる入門書を買って頭から順に学習して、具体的に分からないことが出てきたらそれを質問してみたら誰か答えてくれると思うよ。
0440デフォルトの名無しさん (ワッチョイ a99c-BxcQ)2020/08/06(木) 10:00:15.02ID:HKTR85QV0
掲示板でSwingのウィンドウの出し方から教えるってのは無理があるねえ
初歩から解説してる良いサイトないですか?という質問だったら分からなくもないんだが

Googleで検索したら解説サイトくらい見つかるだろ?
プログラミングは躓く部分多いから検索の仕方を覚えることから始めたほうがいいよ
0441デフォルトの名無しさん (ワッチョイ 1b01-h+bK)2020/08/06(木) 10:55:29.86ID:VfUrQYoq0
>>440
NetBeansでJFrameを作成して実行すればいい
1行で説明可能
0442デフォルトの名無しさん (ワッチョイ 1b01-h+bK)2020/08/06(木) 10:57:05.73ID:VfUrQYoq0
Atomは窓から投げ捨てます
0444デフォルトの名無しさん (テテンテンテン MM8b-/Jt2)2020/08/06(木) 13:00:45.70ID:2+xjLJ7WM
>>433
JavaDrive
Home
Swingを使ってみよう
https://www.javadrive.jp/tutorial/
メモ帳にコピペしてjavacでコンパイルしてjavaで実行するべし

import javax.swing.JFrame;

class JSample1_2{
  public static void main(String args[]){
    JFrame frame = new JFrame("MyTitle");
    frame.setBounds(100, 100, 600, 400);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
}
0445Sample.java (テテンテンテン MM8b-y2l/)2020/08/06(木) 14:57:33.42ID:9yBY+nPJM
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Container;
import java.awt.BorderLayout;

class Sample extends JFrame{
 public static void main(String args[]){
  Sample frame = new Sample("MyTitle");
  frame.setVisible(true);
 }

 Sample(String title){
  setTitle(title);
  setBounds(100, 100, 600, 400);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

  Container contentPane = getContentPane();

  JButton nbtn = new JButton("NORTH_Button");
  contentPane.add(nbtn, BorderLayout.NORTH);
  JButton sbtn = new JButton("SOUTH_Button");
  contentPane.add(sbtn, BorderLayout.SOUTH);
  JButton ebtn = new JButton("EAST_Button");
  contentPane.add(ebtn, BorderLayout.EAST);
  JButton wbtn = new JButton("WEST_Button");
  contentPane.add(wbtn, BorderLayout.WEST);
  JButton cbtn = new JButton("CENTER_Button");
  contentPane.add(cbtn, BorderLayout.CENTER);
 }
}
0446デフォルトの名無しさん (ワッチョイ 1b01-h+bK)2020/08/06(木) 19:08:30.52ID:VfUrQYoq0
>>444,445
お前ら・・・

SwingのイベントはEvent Dispatch Threadで処理されるのだけれども
SwingのコンポネントはスレッドセーフではないのでEDT以外のスレッドで
インスタンス作ったり状態を変えたりするとデータ競合が起こるよ

mainメソッドはmainスレッドで処理されるのだけれども
mainスレッドはEDTとは違うものなので例外ではないよ

ちゃんと書くならこう
public static void main(String[] args) {
 EventQueue.invokeLater(new Runnable() {
  public void run() {
   try {
    MainFrame frame = new MainFrame();
    frame.setVisible(true);
   } catch (Exception e) {
    e.printStackTrace();
   }
  }
 });
}

GUIデザイナを使えばソースが自動生成されるからそれを参考にするのが良いと思う
GUIデザイナはNetBeansなら最初から使える、EclipseならMarketplaceでWindowBuilderをインストールできる
EclipseのWindowBuilderはOracle JDK8じゃないと動かないかも
0447デフォルトの名無しさん (アウアウカー Saad-/Jt2)2020/08/06(木) 19:18:36.12ID:nx4HEXSEa
//んどくせぇからコレで良いよ
import javax.swing.JFrame;
class a{ public static void main(String a[]){
  new JFrame().setVisible(true);
} }
0449デフォルトの名無しさん (ワッチョイ e122-Ea0s)2020/08/08(土) 05:56:10.26ID:Dj/VOa590
このようなバグが出ました
オラクルのサイトの説明等も見たのですがよくわかりませんでした。
改善方法等わかる方いましたら教えていただけると幸いです。


  # EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffcee97f74a, pid=12912, tid=8984
#
# JRE version: Java(TM) SE Runtime Environment (14.0.2+12) (build 14.0.2+12-46)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (14.0.2+12-46, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C [awt.dll+0x8f74a]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
0450デフォルトの名無しさん (ワッチョイ 1361-I3qO)2020/08/08(土) 06:37:17.17ID:+mzacAgD0
JVM側のバグじゃないか?
グダグダ悩むよりバージョン乃至リビジョンを変えてみるのがいいだろう。
0452デフォルトの名無しさん (ワッチョイ 1b02-I3qO)2020/08/08(土) 07:05:34.92ID:7VAw6OMl0
>>448
エスパー募集ってちゃんと書いとけ
0453デフォルトの名無しさん (ワッチョイ e122-Ea0s)2020/08/08(土) 07:19:37.31ID:Dj/VOa590
>>450
JDK入れなおします
推奨のヴァージョンとかってありますか?
0455デフォルトの名無しさん (ワッチョイ e122-Ea0s)2020/08/08(土) 08:34:16.98ID:Dj/VOa590
>>454
14から13に落としてもダメだった…
0457デフォルトの名無しさん (ワッチョイ e122-Ea0s)2020/08/08(土) 09:00:07.11ID:Dj/VOa590
>>456
11もダメだった
1.8やってみる
0458デフォルトの名無しさん (ワッチョイ a99c-BxcQ)2020/08/08(土) 09:06:25.21ID:Teg6jmuF0
いやメジャーバージョンだけでなくマイナーバージョンも変えてみて
たとえばIntellJのawt.dllクラッシュはJDK11.0.6で発生してたけどJDK11.0.5では発生しないとかあった
バグフィックスはマイナーバージョンのほうが重要
0460デフォルトの名無しさん (ワッチョイ e122-Ea0s)2020/08/08(土) 09:16:50.07ID:Dj/VOa590
>>458
>>459
アドバイス見れてなかったすまん
とりあえず1.8にしてできるようにはなりました
このアドバイスは後々の参考にします
ありがとうございます
教えてくださった皆さんありがとうございました。
0461デフォルトの名無しさん (ワッチョイ c1e9-FoHg)2020/08/08(土) 09:32:40.91ID:hMmkStZ70
この先ずっと1.8を使い続けなければならないのか、そこが不安なんですけど。
最新のJDKで使えるようにする方法があるのか、または今後修整されるのか、そこはどうなんでしょうね。
0462デフォルトの名無しさん (ワッチョイ 1361-I3qO)2020/08/08(土) 14:56:25.41ID:HH2BebFt0
$JAVA_HOMEで簡単にJVM/JDKを切り替える方法も覚えておくといい。
0463デフォルトの名無しさん (ワッチョイ 533c-wHtq)2020/08/08(土) 23:37:08.18ID:f7NhkLiO0
JavaEEってなんか他の団体に寄贈されたんだろ?

まだ、使ってるところあるのか?SpringFrameworkとかすげえつかわれてんのか?

俺はその昔、JavaとかOracleだけで覚えるのが精一杯だったのに、さらにStrutsとかEEサーバーとか
弄くらされて頭パンクしてから、もうホントJavaは嫌になった。

JSP(JSTL)とサーブレットだけのシンプルな奴で勘弁してくれてほんとに。
0464デフォルトの名無しさん (ワッチョイ 533c-wHtq)2020/08/08(土) 23:38:37.76ID:f7NhkLiO0
Websphereとかはまだいいけど、JBossとか死んでくれて。まじで。
0465デフォルトの名無しさん (ワッチョイ 533c-wHtq)2020/08/08(土) 23:40:44.44ID:f7NhkLiO0
ApacheとかTomcatとかフリーウェアはノイローゼの元にしかならんかったな・・・

素直にマイクロソフトに従ってれば良かったわ。当時はASPだった。まだ、ドットネットはなかった。
0466デフォルトの名無しさん (ワッチョイ 1b01-h+bK)2020/08/08(土) 23:42:11.59ID:ifN2bgU40
>>465
渋いね、生のサーブレットと生のASP
シンプルで良い
0467デフォルトの名無しさん (ワッチョイ 533c-wHtq)2020/08/08(土) 23:42:29.12ID:f7NhkLiO0
JavaFXが廃止になって、「今もっともモダンなGUIプログラミングSWING」みたいな本が
CUTTSYSTEMから出てるのは爆笑を超えて呆れ果てるしかない。
0470デフォルトの名無しさん (ワッチョイ e122-Ea0s)2020/08/09(日) 08:26:58.44ID:sHgnidrN0
class studentCard{
int id;
String name;
int age;
}
public class lesson22{
static void PCI(studentCard card){/*studentCardのインスタンスの参照をcardという変数で受け取る*/
System.out.println("IDは"+card.id);
System.out.println("名前は"+card.name);
System.out.println("年齢は"+card.age);
}
static void CCI(studentCard card){
card.id = 0;
card.name = "未定";
}
public static void main(String[] args) {
studentCard a = new studentCard();
a.id = 1234;
a.name = "KK";
a.age = 18;
PCI(a);
CCI(a);
PCI(a);
}
}
実行結果が
IDは1234 名前はKK 年齢は18
IDは0 名前は未定 年齢は18
こうなるんだが
PCI(a);
CCI(a);
PCI(a);←これが動いてないのはなぜ?
0472デフォルトの名無しさん (ワッチョイ a99c-BxcQ)2020/08/09(日) 09:49:35.86ID:xuz2Z0h20
PCI = Print Card Instance
CCI = Clear Card Instance
かな

CCIを呼び出すとIDと名前がクリアされるからその後のPCI呼び出しではID 0、名前 未定が表示されるのは正しい

ていうかこれで何を学ばせたいんだろうな
出題してる先生もあまりプログラミング分かってないんじゃないか
0474デフォルトの名無しさん (ワッチョイ 319f-ioEs)2020/08/09(日) 10:44:39.46ID:0YrfFsHe0
1回しかnewしていないんだから値を変えたらメソッドを跨いでも変更は反映されたまま
参照渡しと値渡し的なものの不理解をはっきりさせるコードだな
0477デフォルトの名無しさん (テテンテンテン MM8b-/Jt2)2020/08/09(日) 11:24:38.12ID:vWm9zQuTM
意味が分からん
0478デフォルトの名無しさん (ワッチョイ 319f-ioEs)2020/08/09(日) 11:39:04.17ID:0YrfFsHe0
「動いてない」というのは間違ってて
「期待した値とは違う値で動いてる」というのが正しい理解
些細な言葉尻の問題のようで意外と大事なこと

そのうえで、期待した値と違う理由は上で説明した通り
0480デフォルトの名無しさん (ワッチョイ 13a5-w77N)2020/08/09(日) 13:11:00.89ID:r8wfwf1H0
・CCIでageを消去してない
・そもそもカードの中身を書き換えて新しいカードを作る・使い回すってのはおかしい
カードそのものの破棄をしないと学生証としてはヤバい
ならメンバが全部finalになってないとダメ

Javaは全て参照ってのを言いたいんだろうけど、例題が悪すぎる
0484デフォルトの名無しさん (ワッチョイ 13ad-Jb2s)2020/08/10(月) 00:30:07.27ID:Z7zFlWuQ0
>>470
動いてんじゃん
0485デフォルトの名無しさん (ワッチョイ 13ad-Jb2s)2020/08/10(月) 00:31:24.71ID:Z7zFlWuQ0
>>473
そんなことはない。
何かと勘違いしてないか?
0487デフォルトの名無しさん (ワッチョイ e122-Ea0s)2020/08/10(月) 07:43:05.88ID:YjzD0LUA0
「serialVersionUIDが定義されていません」
これの解決方求む(・ω・)
Qiitaの記事見てもよくわからなんだ
ただ動作は普通にしてるし無視してもいいのだろうか。
0488デフォルトの名無しさん (ワッチョイ 1361-I3qO)2020/08/10(月) 08:22:27.86ID:vvFDA/fb0
>>487
そのクラスをデータ(フィールド)の運搬役として使わないと断言できるなら無視していい。
詳しくはSerializationで調べる。
0490デフォルトの名無しさん (ワッチョイ 319f-JHnX)2020/08/17(月) 11:40:31.07ID:NfdS9Mmq0
何もわからなくて不安な場合はおまじないでこれ書いておけばイイよ
private static final long serialVersionUID = 1L;
手抜きだけど、シリアル化を積極的に活用していない場合これでまず問題ない
0492デフォルトの名無しさん (ワッチョイ 319f-JHnX)2020/08/17(月) 16:01:27.48ID:NfdS9Mmq0
1Lは単に警告を消すだけのおまじないではないよ
省略すると、異なるVM間でのやりとりで望まない例外が出るケースもある
起こってから対処してもいいから、心配性でないなら無視が手っ取り早いのは確か
0493デフォルトの名無しさん (ワッチョイ ed9c-WhRV)2020/08/17(月) 16:36:37.08ID:Sn2sMCzX0
クラス構成が変わるとシリアライズした結果のバイト列も変わる
クラス構成を変えたらUIDも変える
これで異なるクラスバージョンで直列化・復元がおこなわれないようにチェックできる
UIDを-1に固定するというのはクラス構成が変わっても直列化互換性がありますと宣言していることになる
訳も分からず -1 を指定するのはオススメしない
むしろIDEでランダムUID振ったほうがいい
0494デフォルトの名無しさん (ワッチョイ 4601-gKdG)2020/08/17(月) 16:57:43.98ID:4e6PsksO0
シリアライズすることなんて一生無いだろ
0495デフォルトの名無しさん (ワッチョイ ed9c-WhRV)2020/08/17(月) 17:09:18.96ID:Sn2sMCzX0
たしかに
他のホストに送るとか長期的に復元したいならJSONとか汎用フォーマット使ったほうがいいからね
でもAndroidだとアクティビティの状態保存でシリアライズ多用するぞ
0496デフォルトの名無しさん (ワッチョイ e23c-r5Zy)2020/08/17(月) 21:13:19.56ID:yvXNt/LA0
俺、ubuntu使いだけど、JavaFX始めるのOpenJDKとかOracleJDKとかめっちゃ苦労した。

で、liberikaJDKとかいうの入れたら一発でコンパイル&実行できるようになった。

OpenJDKとかOracleのJDKはなんであんなにJavaFXを使いにくくしてるのか?
今どきSwingを使えというのか?ちょっと考えてくれ。
0497デフォルトの名無しさん (ワッチョイ e23c-r5Zy)2020/08/17(月) 21:25:54.94ID:yvXNt/LA0
Ubuntuで音楽再生ソフトとか簡単なやつ作るのにJavaFXがちょうどいいんだよ。

WindowsはC#で作ったけど、Ubuntuだと適当なのなくてPythonとかも音楽周りは以外に面倒であとはQtQuickとか割と良さそうだけどそうでもないし、JavaFXが一番いいんだよ。

SwingでつくるならJMFだったかそんなん使わないとだめだろ?

頼むて!
0500デフォルトの名無しさん (ワッチョイ 42ad-1fRW)2020/08/18(火) 06:15:34.39ID:dt1Ebxxn0
>>499
Javaの実行環境に含めて一緒に配布するのを止めただけでは?
0501デフォルトの名無しさん (ワッチョイ c261-QlkZ)2020/08/18(火) 07:31:04.85ID:BimbjRax0
JavaFXってPure Javaだっけ?
0502デフォルトの名無しさん (ワッチョイ ed9c-WhRV)2020/08/18(火) 07:38:03.82ID:M2QC6gPH0
Pure Javaってなんだっけ?
ネイティブコード使わないんだっけ?
もしそうならJavaFXはPure Javaではない
レンダラーとかDLL/SOだらけだよ
だからJavaFXが提供されているプラットフォームでしか動かない
0504デフォルトの名無しさん (アウアウエー Sa7f-WzHs)2020/08/20(木) 17:38:45.60ID:gw+nW9Uya
質問です。
Java8とTomcat 8.5のWebシステムの環境構築をしています。

プロジェクトがいくつかあってSVNからソースを落とすのですが、
プロジェクトAはビルドするとWebContent配下のjarファイルがWeb Appライブラリーに入るのに、
プロジェクトBはそのようになりません。

プロジェクトを右クリ→プロパティ→Javaのビルドパス→ライブラリー→Web Appライブラリー→編集
からプロジェクトの設定はしています。リフレッシュやクリーン、Eclipseの再起動も試しました。

丸コピする手も一応はありますが、
後学のためにどうすればWeb Appライブラリーにコピーされるようになるのか設定方法を教えてください。
よろしくお願いします。
0505デフォルトの名無しさん (ワッチョイ ff01-dFmy)2020/08/20(木) 20:23:16.03ID:BhReT/u10
>>504
FacetsでDynamic Web Projectにチェックを付ければOK
0507デフォルトの名無しさん (ワッチョイ 9f01-i6pf)2020/08/21(金) 00:06:34.64ID:Q2DXCe4b0
関東の玉出と言われるマルエツか。
0508デフォルトの名無しさん (ワッチョイ 7f3c-m4He)2020/08/23(日) 22:05:43.72ID:oYq459dG0
JavaでWindowsのスリープはどうやるんですか?

「Java スリープ」とかサスペンドとかハイバーネートとかぐぐると
Threadクラスの情報やら果てはHibernate(ORマッピング?)の情報しかでてきません。

キーワードだけでもいいので教えてくれたら嬉しいです。
0510デフォルトの名無しさん (ワッチョイ 1f2c-3Lde)2020/08/24(月) 03:43:31.71ID:seWRIuQk0
単なる1つのアプリが、OS をスリープさせる?
そんな事が、できるわけない

OSとは、システム全体のこと

個別ユーザーには、出来ない。
すべてのユーザーが、OSを使っているから

OSの支配者・アドミニストレーターしかできない!
0511デフォルトの名無しさん (ワッチョイ 7fad-mHL/)2020/08/24(月) 04:09:39.41ID:8Ar+AlN+0
管理者権限で動かせば出来るね。
0512デフォルトの名無しさん (ワッチョイ 9f48-FAgh)2020/08/24(月) 06:38:08.38ID:wbn0QRvM0
java単体じゃ難しいね
てかキーロガーとかもそうだけどモノによってはやり方書くの違法じゃなかった?

一応javaから他のソフトとかexeファイルとか実行できるよ
とは教えておくわ
0513デフォルトの名無しさん (ワッチョイ ff02-pYtf)2020/08/24(月) 07:34:17.03ID:Ln0wzo/i0
>>512
> てかキーロガーとかもそうだけどモノによってはやり方書くの違法じゃなかった?
そんな話聞いたことない
法令名なんじゃい
0515デフォルトの名無しさん (テテンテンテン MM4f-Is5t)2020/08/24(月) 08:24:53.08ID:xbF3iq7dM
幇助(ほうじょ)とは、刑法において、実行行為以外の行為で正犯の実行行為を容易にする行為一般を指す。

幇助行為を行った者は、刑法第62条1項で従犯(幇助犯)とされる。
0516デフォルトの名無しさん (オッペケ Sr73-748B)2020/08/24(月) 08:29:21.57ID:G2gDGYknr
得体の知れないアプリを管理者権限で動かすってこと自体がウイルス歓迎の自殺行為なんだよ
スリープさせるくらいなんでもない
普通にWindowsAPIを呼べばいいだけだから、マルチプラットフォームを志向するJavaじゃなく、PowershellなりC#なり呼び出せばいい
0517デフォルトの名無しさん (オッペケ Sr73-748B)2020/08/24(月) 08:32:37.00ID:G2gDGYknr
スリープ状態を変えたりOSをシャットダウンさせるフリーソフトなんてごまんとある
配布サイトはさしずめ悪の枢軸組織ギフハブみたいなもんか?
線引きに勘違いがあることに気付いてほしい
0519デフォルトの名無しさん (ワッチョイ ff01-dFmy)2020/08/24(月) 11:04:04.76ID:+IQOtOJW0
お前ら無限ループ実装して逮捕されそうw
0520デフォルトの名無しさん (ワッチョイ 7f3c-m4He)2020/08/24(月) 12:59:15.43ID:x/nbMOjm0
for文で5000回メール流してプロバイダに赤チン食らったバカならしってる。
0522デフォルトの名無しさん (ワッチョイ ff01-dFmy)2020/08/24(月) 13:53:56.38ID:+IQOtOJW0
技術的に新しいのはJavaFXだけれどもJavaFXは標準ライブラリから削除された
標準ライブラに残ってるSwingが主流ともみなせるので好きにしたら良い
0523デフォルトの名無しさん (ワッチョイ 7f3c-m4He)2020/08/24(月) 14:58:02.23ID:x/nbMOjm0
Runtime.getRuntime().exec m9(^Д^)<wwwwwwwwwwwwwwwwwwwww
0524デフォルトの名無しさん (ワッチョイ ff02-pYtf)2020/08/24(月) 15:06:49.58ID:Ln0wzo/i0
>>515
幇助犯の線引きは曖昧だから、判例なしに素人が幇助だと言っても意味は殆どないと思う
0526デフォルトの名無しさん (ワッチョイ 7fad-mHL/)2020/08/24(月) 17:06:52.72ID:8Ar+AlN+0
JavaFX。あいつはいいやつだった。
0529デフォルトの名無しさん (ワッチョイ ff63-fg/N)2020/08/24(月) 21:20:41.31ID:HcNsafA/0
>>521
swing + awtかSWTの二択。

Swingでワイアーシャークのような解析アプリを作ったけど、途中から素直にC#で作るべきだったと後悔しながらコーディングしてた。
Windowsでしか動かさないなら.net使った方がいい。
0530デフォルトの名無しさん (ワッチョイ 7fad-YpYZ)2020/08/25(火) 03:31:35.10ID:FtyQX/H10
Kotlin もよろしく
0531デフォルトの名無しさん (ワッチョイ 8255-1etN)2020/08/26(水) 12:23:33.92ID:jQHqTTLQ0
Iteratorインターフェイスを実装するクラスに必要なメソッドは

hasNext(), remove(), next()

だとRobert Sedgewick & Kevin WayneのAlgorithms 4th Editionに書いてありました。

ですが、Eclipseでそのようなクラスを作ろうとして、自動生成された雛形となるメソッドは、
hasNext()とnext()しか用意されませんでした。

remove()がなくてもOKみたいですが、これはどういうことでしょうか?
0536デフォルトの名無しさん (ワッチョイ 452c-VQ5f)2020/08/26(水) 15:12:20.91ID:BpaQECb00
ab, c では、どっちが先か?

アルファベット順なら、ab が先だが、
文字数なら、1文字のc が先になる

つまり、何が基準か分からないので、デフォルトの実装は書けない

でも、次の要素があるかないかは、次がnull pointer なら、要素はないと言える
0537デフォルトの名無しさん (ワッチョイ a23c-hC0y)2020/08/27(木) 22:03:04.74ID:mX8L6piK0
JavaFXの音楽再生について教えてください。ちなみに、よそでも質問しててマルチポストです。

だれか、教えてくれ。
0539デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/08/28(金) 07:47:44.03ID:JtEwWOif0
>>534
わかる、欲しいよね
0540デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/08/28(金) 07:57:49.11ID:JtEwWOif0
>>533
> そのデフォルトの実装を確認する方法はありませんか?

ソースコードはこちらで見れます

jdk/Iterator.java at master ・ openjdk/jdk ・ GitHub
https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/java/util/Iterator.java

> default void remove() {
>  throw new UnsupportedOperationException("remove");
> }

removeのデフォルトの実装は例外投げてるだけですね
削除の機能が必要ならオーバーライドしてください
削除の機能が必要ないなら実装しなくていいですって感じ

hasNext()やnext()はIteratorの動作上必要なので実装しないとダメなのよ
0541デフォルトの名無しさん (ワッチョイ 7901-Jo2y)2020/08/29(土) 05:04:06.64ID:EjjA84a90
Arrays.binarySearch使いたくて
ソート対象のオブジェクトに対して
@compareTo実装したら
Aequalsも実装しろと警告でたから実装したら
Bequals実装するならhashCodeも実装しろと警告しやがった💢
0542デフォルトの名無しさん (ワッチョイ 82a5-oC+/)2020/08/29(土) 10:15:40.49ID:+QUdJXvJ0
それがヤクの毛刈りですよ。
次から次へとやるべきことがワンサカ湧いてくる、これが楽しい毛刈りです
0543デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/08/29(土) 16:50:45.75ID:0Qp+2/1q0
>>541
自動的に実装してくれたら良いのにね
0544デフォルトの名無しさん (ワッチョイ 7901-JMbW)2020/08/30(日) 10:57:16.71ID:KNmh9A/H0
なんで自動実装できないかわからないってかわいそうだな
何を持って同値とみなすか、お前が作ったクラスにどんなメンバがあるかなんて分かりようがないだろ
0546デフォルトの名無しさん (ワッチョイ 4d9c-6dCy)2020/08/30(日) 11:55:46.77ID:bFKi9fjF0
まあ分からなくはないな
IDE使うとフィールドを元にhashCodeとequalsを自動生成できたりするから
JavaコンパイラかJavaVMで同じことしてくれよって思う人もいるだろう
そして登場するのがRecordな
フィールドを元にhashCodeとequalsが自動生成されるよ
0549デフォルトの名無しさん (ワッチョイ 7901-Jo2y)2020/08/31(月) 17:23:32.24ID:1dx8I1bu0
>>544
いや、@compareToだけで十分なはずの状況でも
A,Bの実装を強いられるのがクソ
といいたい
0550デフォルトの名無しさん (ワッチョイ 7901-Jo2y)2020/08/31(月) 17:25:04.35ID:1dx8I1bu0
Java💢
0552デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/08/31(月) 17:53:40.86ID:RyTJNMW10
>>549
実装を強いているのはJavaなの?
おせっかいなIDEの仕業じゃない?
0553デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/08/31(月) 17:55:39.21ID:RyTJNMW10
Javaが女とするとIDEは妹
にーにequalsも実装して欲しいの
と言われたらたとえ必要なくても嬉しいだろ
そういうことです
0554デフォルトの名無しさん (ブーイモ MMf6-+bDe)2020/08/31(月) 18:33:13.47ID:SaPbM6u7M
Javaは細かい不満が積み重なって大きなストレスになってる

プロパティが言語機能じゃない
yield returnがない
async awaitがない
ジェネリックが型消去
ラムダが検査例外に引っかかる
null合体演算子がない
null伝搬演算子がない
標準のDIが使いにくい
文字が==で比較できない
実数型の四則演算がメソッド
例外メッセージが不親切
アノテーションだらけで気持ち悪い


数え上げたらキリがないね
0557デフォルトの名無しさん (ワッチョイ 7901-Jo2y)2020/08/31(月) 22:28:55.46ID:1dx8I1bu0
強く推奨されちゃってるからLintとかに引っかかる
→ コミットできない(職場のルール)
0558デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/09/01(火) 09:37:19.67ID:PZXbhIm50
強く推奨されるのなら仕方がない
0560デフォルトの名無しさん (ワッチョイ 119f-kQsB)2020/09/01(火) 12:56:40.40ID:cIJrFHrq0
Java氏の生きづらさの主因は既に普及しすぎていること
船頭多くして船動かず、役人多くして事絶えず
ちょっとした予約語すら追加できやしない
幸せになるには皆がえいやとKotlinに移行するしかない
0562デフォルトの名無しさん (ブーイモ MMf6-+bDe)2020/09/01(火) 14:01:53.89ID:I+5m/p/nM
genericが型消去になるとか構造体がない問題とか
ランタイムまで修正しないと対応できないっぽいクソが結構あるからなあ
リフレクション使ったコードにも影響でそう
javaはもう詰んでる感じがする
0563デフォルトの名無しさん (テテンテンテン MM66-AzDg)2020/09/01(火) 14:31:08.49ID:LNiTvfH2M
なんかハリボテジェネリクス問題ばかりが変にフィーチャーされたせいで、JVMの仕様弄るなんてとんでもない絶対無理みたいな謎の認識がある人が多いみたいだけど、
実際にはOracleになってからJVMは拡張されまくってるんだよ
単純に資金力の問題でしかないの
0564デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/09/01(火) 15:04:59.55ID:PZXbhIm50
お前らがサンを買わなかったせいだぞ!
0565デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/09/01(火) 15:06:54.57ID:PZXbhIm50
型を一生懸命やりたければScalaがある
コードを簡潔に書きたければKotlinがある
Javaは互換性持たせつつベストを尽くしてる
0567デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/09/01(火) 15:34:51.80ID:PZXbhIm50
じゃあなんですか、RubyもPythonもJavaじゃないというんですか!?
0568デフォルトの名無しさん (ワッチョイ 7901-yRqa)2020/09/01(火) 15:49:58.58ID:/xk9LnpH0
PythonはJavaだけど、RubyはPerlでしょ。
0569デフォルトの名無しさん (ワッチョイ 119f-kQsB)2020/09/01(火) 15:56:49.36ID:cIJrFHrq0
Javaが拡張を積極的にやってるのはわかる
でもパターンマッチングひとつ実現するのにJava20くらいまで待たされそうなペースじゃん
null安全がやって来るのはJava40くらいか?
みんな老人になってしまったとさ
めでたしめでたし
0570デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/09/01(火) 16:57:58.81ID:PZXbhIm50
僕はnull好きだぞ、nullは友達だよ
0572デフォルトの名無しさん (ワッチョイ 7901-Jo2y)2020/09/01(火) 18:20:30.29ID:Z9W01AEm0
Genericsの型消去のせいで
new T()できないんだね
0575デフォルトの名無しさん (ワッチョイ 7901-Jo2y)2020/09/01(火) 19:39:29.54ID:Z9W01AEm0
Javaから別の言語にトランスパイルして移行
とか現実的に可能だろうか
0578デフォルトの名無しさん (ワッチョイ 8601-4Kjr)2020/09/01(火) 19:49:42.84ID:PZXbhIm50
>>573
マジで、ドトネトすごい
0580デフォルトの名無しさん (ワッチョイ 8602-vr3K)2020/09/01(火) 23:58:08.93ID:eZGqCDxn0
有料で配信してる動画を保存するスクリプト作るのってむずかしいです?
0581デフォルトの名無しさん (ワッチョイ 5fad-XrX+)2020/09/02(水) 02:37:45.44ID:R9sLvDbu0
Kotlin もよろしく
0582デフォルトの名無しさん (ワッチョイ 7f63-aZLl)2020/09/02(水) 08:41:21.79ID:yy35G5fq0
>>560
kotlinバカは死んでいいよ。
Javaに出張ってくんなカス。
0583デフォルトの名無しさん (ワッチョイ 0701-P8XZ)2020/09/02(水) 19:01:19.84ID:9/rkp9iy0
Java初心者質問スレでこぞってJavaこき下ろしててわろた
0584デフォルトの名無しさん (ワッチョイ bf01-YWaO)2020/09/03(木) 10:58:06.77ID:9qPM9lLi0
MET10-J. compareTo() メソッドを実装する場合メソッドの一般契約に従う
https://www.jpcert.or.jp/m/java-rules/met10-j.html

こういうのがあるんだーねー
たしかに比較するときにequals使えば良いのかcompareTo使えば良いのか
迷うようなオブジェクトは嫌だわー
0585デフォルトの名無しさん (ブーイモ MMcf-za2j)2020/09/04(金) 12:19:02.23ID:n9bltVZHM
C#でこういうことができるんだけどJavaで出来る?

void F(A a) { WriteLine("A"); }
void F(B b) { WriteLine("B"); }
void F(object o) { throw ArgumentException("TypeMissMatch"); }

void InvokeF(object o) { F(o as dynamic); }

InvokeF(new A()); // F(A)が呼ばれる
InvokeF(new B()); // F(B)が呼ばれる

一個一個instanceofで分岐しないとだめかな
0587デフォルトの名無しさん (ワッチョイ df32-OjAs)2020/09/05(土) 02:46:07.99ID:9Silsq9N0
初めまして。

割り込んですみません。突然なんですが、掲示板を利用している者が
アク禁で規制が掛けられた場合、自分で解く方法はないでしょうか?。
0595デフォルトの名無しさん (ドコグロ MMcb-VEkq)2020/09/08(火) 11:16:07.71ID:16zRjsyPM
何でほっと出来るんだろうな。
自分でライセンス読まないやつはそのうち痛い目に合うぞ。
後で嘘だとわかってもOracleは知ったことでないから遠慮なく金取るよ。
0596デフォルトの名無しさん (ササクッテロ Spbb-16Fo)2020/09/08(火) 12:52:12.70ID:czqs/X8sp
許諾される個人使用はもとより、インストールもしていない状況です
使うにしても個人の学習用でしかなかったのですが、万一ライセンスに抵触したらと不安になり、インストールせず削除しました
0599デフォルトの名無しさん (ワッチョイ bf01-YWaO)2020/09/08(火) 14:07:14.61ID:r41CjiKh0
おじさんの90%はバイアスでできています
0602デフォルトの名無しさん (ワッチョイ bf01-YWaO)2020/09/08(火) 21:21:02.03ID:r41CjiKh0
バイアスおじさんだ
0604デフォルトの名無しさん (ワッチョイ 5fad-KyQf)2020/09/08(火) 23:58:50.51ID:h7Ynbo6B0
これにしとけ
https://adoptopenjdk.net/
0608デフォルトの名無しさん (ワッチョイ eaad-oSME)2020/09/11(金) 13:41:30.96ID:PBBl1CU30
Kotlin もよろしく
0610デフォルトの名無しさん (ブーイモ MM8e-KR08)2020/09/12(土) 00:44:56.25ID:41TrRnRRM
スクリプトのはオブジェクトを変更して後からメソッドを生やすから異端だけど
C#のやってることは単にmethod(obj, p1, p2, ...)の糖衣構文でしかないから別に異端と言うほどのことでもない
0612デフォルトの名無しさん (ワッチョイ a95f-Sism)2020/09/12(土) 22:11:46.86ID:wMTnI8uy0
>>611
オブジェクト指向の話は理解できなくても、スルーして進めた方がいいよ。

強制的にコードがオブジェクト指向設計風になるのはJavaの欠点だから。
0614デフォルトの名無しさん (アウアウオー Sa12-QmsY)2020/09/14(月) 16:20:21.11ID:Im1fOuuHa
Javaがコンパイルできず、困っております。
超基本のコードですがコンパイルすることができません…。

class Greeting {
public static void main(String[] args) {
System.out.println("Hello World");
}
}


これをコンパイルしようとすると

PS C:\Users\Owner\Desktop\jp> javac Greeting.java
Greeting.java:1: エラー: Greetingの書込み中にエラーが発生しました:
C:\Users\Owner\Desktop\jp\Greeting.class
class Greeting {
^
エラー1個

コマンド プロンプトで
\Users\Owner\Desktop\jp内にあることを確認し、
拡張子もjavaで保存してます。

ネットで見た他の人の質問では、javaのファイル場所の問題でしたが
場所を変えてもコンパイルできませんでした。

もし解決策分かれば教えてください!!
0615デフォルトの名無しさん (ワッチョイ 9e01-bFss)2020/09/14(月) 16:55:14.17ID:I0h6BMX60
>>614
Greeting.class
が存在していて読み取り専用になってるんじゃないかな
0616デフォルトの名無しさん (ワッチョイ 6aa5-6XXA)2020/09/14(月) 17:10:37.19ID:xV8mpaUY0
Cドライブ直下に
my_source_code
というフォルダを作って、あとはそこでやる
0617デフォルトの名無しさん (ワッチョイ d702-e1Kg)2020/09/17(木) 17:32:58.00ID:IOLH/98P0
適切なスレが判断出来ないので生きているここで質問させて下さい。
これからJavaを学ぶに当たりメモリ16G、i7 3770のPCでスペックは足りるでしょうか?
調べてもふわっとした解答やら幅があり判断しかねています。
そろそろ潮時とは思っているのですが、いざ新調する場合は別件でDTMと多少ゲームをするので、半端なものよりはある程度のスペックまで盛ろうと思っています。
宜しくお願いします。
0621デフォルトの名無しさん (ワッチョイ bf01-xr7l)2020/09/17(木) 19:07:35.20ID:H8Ldt8Jg0
オーバーオール
0623デフォルトの名無しさん (ワッチョイ b72c-qc2B)2020/09/17(木) 19:25:07.99ID:NHfa1bvj0
DTM なら、CPU-i7 で保証期間は最大、メモリ最大(32, 64GB)まで積む

SSD は、256GB 以上。
128GB では、仮想OS では少なすぎる。
Windows・Linux 各50GB ずつで足りない

Windows 10 も、Docker が必要なので、プロ版にする。
プリインストールなら5千円ぐらいで、後で入れると高いかも
0624617 (ワッチョイ d702-e1Kg)2020/09/17(木) 19:46:16.44ID:IOLH/98P0
沢山のレス有難う御座います。
現状でもプログラミングには足りるようなので、DTMに合わせたスペックでじっくり考えたいと思います。
流石にDTMには余裕が無くなってきたので早めに買いたいんですけどね(チラ裏
>>623
後半全く知識がない部分なのでメモさせて頂きました。

皆さん有難う御座いました。
0627デフォルトの名無しさん (アウアウクー MMcb-VvsD)2020/09/18(金) 22:48:57.99ID:udr5OOFCM
パソコン初心者レベルの話だなw
0628デフォルトの名無しさん (アウアウオー Sadf-lMKa)2020/09/19(土) 16:37:58.10ID:BU6HDwC+a
614です。回答ありがとうございます。
classファイル、ファイル位置も含め色々とやってみましたが
javacできませんでした。。。

インストールからやり直してみたいと思います。
ありがとうございました!
0629デフォルトの名無しさん (ワッチョイ c31a-4jgY)2020/09/30(水) 16:51:29.76ID:EGMYSLZG0
Javaを始めたばかりです
別クラス内の配列(要素数が数千ほどの整数)を使いたいのですが、どのように使ったら良いでしょう

1.ゲッターで毎回配列の先頭アドレスを得て値を取り出す(コストが大きいですか?
2.ゲッターで得た配列の先頭アドレスを、配列を使うクラスのポインタにコピーして、値を取り出す
3.ゲッターに配列のインデックスを渡して、要素を得る(安全?

検索をかけてもよく分からないため、一般的な方法を教えて下さいm(_ _)m
0631デフォルトの名無しさん (ワッチョイ b39c-c2zx)2020/09/30(水) 18:09:08.65ID:zgB55E/r0
>>629
1の方法でも大丈夫ですよコストが高いということはないです
あなたが先頭のアドレスと書いている通りJavaの配列はヒープ上に存在するオブジェクトであり参照を介してアクセスされます
メソッドの戻り値を受け取って他の配列(これも参照)に代入しても数千の要素がコピーされることはありません
0634デフォルトの名無しさん (ワッチョイ 6f02-PYlA)2020/10/01(木) 04:02:18.23ID:Z7yFiYSE0
いまや GB オーダーのメモリ積むのが普通だから
整数数千なんて桁がいくつかあがっても余裕
ADVゲームなんかでも、文章をメモリに全のせ余裕
メモリ関連のボトルネックは大体がグラフィクス
0635デフォルトの名無しさん (ワッチョイ f35f-67ZW)2020/10/02(金) 01:54:11.05ID:ChxT/cO/0
>>629
Javaを無理やりC言語風にしたいの?

getterメソッドがただの関数になっていて、オブジェクトに対して直接、参照するのは、Javaかどうかの話ではないぞ。
0636デフォルトの名無しさん (ワッチョイ f35f-67ZW)2020/10/02(金) 01:58:33.07ID:ChxT/cO/0
>>634
Javaの仕様、OSの仕様、ハードウェアの仕様で、数ギガバイトは大きな壁になる境界です。

すべてをメモリ上に読み込むのは、すぐに破綻する設計で初心者がよくやらかします。
0637デフォルトの名無しさん (ワッチョイ f35f-67ZW)2020/10/02(金) 02:02:10.42ID:ChxT/cO/0
>>632
参照渡しと値渡しはJava以前の話。
0639デフォルトの名無しさん (ワッチョイ 33a0-CZuY)2020/10/02(金) 07:21:03.95ID:pjFaN42j0
Javaをインストールしたパソコンでしか動かせないのに。そしてVM経由で遅いとのこと。
どうせWindowsしか使わないのに、多数存在するプログラム言語の中で、なぜJavaなのか。
0642デフォルトの名無しさん (ワッチョイ d32c-G8Sl)2020/10/02(金) 10:43:43.01ID:ooD45Zz30
セレブエンジニアのフリーエンジニア・クリエイターの小松和貴

Javaの学習だけはやめとけ!その先にあるものは・・絶望
https://www.youtube.com/watch?v=bH3XIIzZxoI

Java をやる会社は、スマホ・インターネット禁止だから、本で調べるw
また、ブラック企業で過労死・いじめられるから、うつ病になって一生終わる
0644デフォルトの名無しさん (ワッチョイ d31b-G3GW)2020/10/02(金) 15:59:13.74ID:Yktgr9r30
おまいら、すまないが助けてほしいのだか。。。
LINE notifyを使って自分のライングループに数文字程度のメッセージをテストで送りたい。

今、android studioでコードくんでるのだがうまくいかない。。。。【java】
もう、1weekぐらい悩んでる。。。。
サンプル的なサイト、コードないだろうか?
javaやりだしてまもないから、なんかC#とちがうな。。
0649デフォルトの名無しさん (ワッチョイ b301-DXem)2020/10/03(土) 16:19:00.16ID:5Ix2WENy0
>>638
えっ?
0652デフォルトの名無しさん (ワッチョイ 6f02-PYlA)2020/10/03(土) 19:16:42.79ID:vTsN20CK0
あぁなんだ、GBオーダーのメインメモリを搭載してるPCが普通っていったのを、
この人は数ギガバイトレベルのメモリを使うのが大きな壁とかトンチンカンな事答えてるのか

ADVゲームの文章メモリ全部のせって書いたが、文庫本一冊全部メモリに載せても、数百KB 程度
Java の仕様上重複して文字列保持してたとしても、オーダーが全然違う
ましてや上の質問のは数字配列だぞ
0653デフォルトの名無しさん (ワッチョイ f35f-YiW6)2020/10/04(日) 11:36:28.62ID:2xSNSE5O0
仕様ですから
0654デフォルトの名無しさん (ワッチョイ ffad-EdVv)2020/10/04(日) 13:09:42.25ID:4IGvE5yV0
しようがないなあ
0655デフォルトの名無しさん (ワッチョイ f35f-YiW6)2020/10/06(火) 01:10:23.43ID:1k+Imlj60
>>652
32ビットという意識すべき壁がある、メモリは無尽蔵ではないと初心者に指導すべき責任を感じろ。
0656デフォルトの名無しさん (ワッチョイ 6f02-PYlA)2020/10/06(火) 08:26:05.16ID:jmTyfSuH0
メモリのオーダーの違いとボトルネック意識すれば、無尽蔵じゃないなんてわかりきってると思うんだが
32ビットに関しては何がいいたいかわからん
0657デフォルトの名無しさん (ワッチョイ 6f01-TclZ)2020/10/06(火) 19:05:33.30ID:FgWldxW40
>>656
32ビットだ、Javaを使ってればわかるだろ
0660デフォルトの名無しさん (ワッチョイ c602-5vwO)2020/10/08(木) 00:07:46.56ID:5T/kK73g0
配列インデックスが int でそれを 「32bit という壁」と表現してるのか?

配列のインデックスを Java の上限まで詰め込んだらって言うのはそれこそ桁の違う話
要素が 4byte だとしても、8GB になる

小説の文章や上の例の数値配列ではメモリ容量のオーダーが小さいという話をしてるのに、
なぜそんな何桁も違う話が出てくるのか

配列の要素数の上限(桁違い)を意識してプログラム組むなんてクソレアケースを、
Java 使ってるならわかってるだろみたいに言われても困る
0664デフォルトの名無しさん (ワッチョイ c602-5vwO)2020/10/08(木) 13:47:06.05ID:5T/kK73g0
組み込みでメモリ容量が小さいことを意識する必要はあるのは分かるけど
それこそメモリの桁を意識してプログラム組むべきだしな
配列インデックスは無関係
0670デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)2020/10/08(木) 19:19:33.08ID:ZCkj+l3u0
同時実行の概念がないのは初心者スレだから仕方ない
0671デフォルトの名無しさん (ワッチョイ de2c-+Jfp)2020/10/09(金) 00:26:11.49ID:FAqhEt6k0
初心者です、知識無し一人で導入からコンパイルまでできたので褒めて下さい
0672デフォルトの名無しさん (アウアウカー Sacb-SIKU)2020/10/09(金) 00:55:37.54ID:J6R+g92oa
🏵よくできました💮
0674デフォルトの名無しさん (ワッチョイ 4a55-xYNh)2020/10/09(金) 18:00:44.63ID:krGKjD1a0
>>673
おすすめの言語を教えて下さい。
Robert Sedgewick and Kevin Wayne著『Algorithms 4th Edition』では使用言語がJavaです。
非常にスッキリ書けて良い言語だと思ったのですが、どこがまずいんですか?
0675デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)2020/10/09(金) 19:44:29.60ID:0VIrgV670
>>674
気にするな
0676◆QZaw55cn4c (ワッチョイ 3798-dG+a)2020/10/09(金) 22:03:17.99ID:GYOgwMU+0
>>673
apache poi は Java で記述されているのみなんですが、誰か C++ とかに移植してくれませんか? OLE2 とかわけがわかんなくって‥‥
0677デフォルトの名無しさん (ワッチョイ c602-5vwO)2020/10/09(金) 23:08:52.22ID:7DevG1H+0
>>674
分野による

最近の AI 関連のライブラリ とかは Python が多いし
デスクトップアプリ作りたいなら、C# とか、Electron (js) とか(デスクトップアプリは言語より、GUIライブラリ見て決めたほうが良い/軽快に動作するアプリが何を使ってるか調べる)
科学技術関連の計算(物理シミュレーション)とかなら、C/C++ や Python が多い(細分化してるので、専門分野で主流の言語を調べる)
Web 系なら、Javascript が必須

Algorithms 4th Edition ってのは読んだこと無いが、レビュー見ると Java であることに文句言ってる人もいる
古い本だから Java 使ってるだけじゃないの
10 年経てば、かなり進化するよこの分野

Java をスッキリ書けて良い言語ってのは他の言語知らないから言えることで、Java はそれ以降の言語と比較してかなり冗長
かつ、歴史がそこそこ長いので、レガシーな仕様と最近の仕様で2通りにも3通りにもやり方があったりして、
どれが最新で適切な方法なのかいちいち調べる必要があり、初心者は混乱すると思う
他の言語にも少なからずそういう点はあるけど、Java は顕著
標準ライブラリの中にスペルミスがあるけど、互換性のためにそのままになってるのは有名な話

あとは、OSネイティブの機能にアクセスしづらい
別に必要ないと思うかもしれないが、今はいろんな言語でいろんなライブラリが書かれてるので、多言語で書かれたプロセスへのアクセスが不便なのは結構問題になることが多い
Windows API とかも叩こうと思えば叩けるけど、かなり面倒な手順が必要

良い点は、過去の遺産(ライブラリ)がたくさんあることだから、それを利用しなければいけない状況やメンテが必要なら使わざるを得ないが
今から新しくプログラミングを勉強する人が、はじめて学ぶ言語として Java というのは現在はもう不適切

C/C++ とかは、Java よりも歴史が古く複雑化してるけど、こちらはまた話が別で、勉強する価値はあると思う
機械語に近い内容が学べるので
0678デフォルトの名無しさん (ワッチョイ 8a01-nrYP)2020/10/09(金) 23:20:05.79ID:mOpqVRBo0
Robert SedgewickのAlgorithm本は今も多くのCSコースで使われてる超有名教科書やぞ
元々はC++だったもの

Javaにこだわる必要もないが
あの本を真面目にやりきるレベルの人間ならJavaから始めても別にいいよ
0679デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)2020/10/09(金) 23:21:31.01ID:0VIrgV670
>>677
よくもまあ、そんなにどうでもいいことを書けるね。
0680デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)2020/10/09(金) 23:22:47.79ID:0VIrgV670
>>677
Pythonについては知ったかぶり
0681デフォルトの名無しさん (ワッチョイ c601-9xIK)2020/10/09(金) 23:52:02.82ID:lC8K76Tw0
Pythonマウントおじさんかな?
0682デフォルトの名無しさん (ワッチョイ de2c-+Jfp)2020/10/10(土) 00:22:24.37ID:AL04749p0
javaでコンパイルしたことを褒められにきたのに別言語オススメされているこれは一体
java含めて一度調べなおしてきますね
後ARで仕事探すならどの言語が有利ですか?JS?
0683デフォルトの名無しさん (ワッチョイ de2c-+Jfp)2020/10/10(土) 00:35:28.26ID:AL04749p0
すいません、寝惚けて変なレスしてしまいました
普通にスレ違ですね
0684デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)2020/10/10(土) 00:39:54.87ID:R7+H1l6x0
>>677 の知識の薄っぺらさは雑誌の編集者か何かか?

ライブラリの話をこのスレで持ち出すのはよくわからない。

PythonはJava以上にハードウェアから離れた存在なんだから。
0685デフォルトの名無しさん (ワッチョイ c601-9xIK)2020/10/10(土) 00:49:37.83ID:iOujIiR/0
自分の方が詳しいと言いたいおじさんかな?
0686デフォルトの名無しさん (ワッチョイ 672c-Dl/i)2020/10/10(土) 01:05:22.56ID:BjcbKuib0
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

アラフォー大逆転プログラマー たけ

【Rails】(送信時のリロード無し!)Action CableでSlack風チャットアプリを作成
https://www.youtube.com/watch?v=o6PuxDr8Meg

プログラミングを始めて半年で、Java からRuby へ移って、
こういうのを作って発表する怪物もいる

この人は、数学の博士課程まで行ってた人。
地頭さえ良ければ、Ruby on Rails 1年で、他言語の10年ぐらいの実力がつく
0687デフォルトの名無しさん (オッペケ Sr03-EsYS)2020/10/10(土) 07:06:49.66ID:ta2oLv5lr
言語障壁で守られた業界だから、どんどん判りづらくして保身を図らないといけない
英語通訳なんかと違うのは、言語の仕様をどんどん変更して年寄りをついていけなくできること

Javaの文法は、「山田家の山田太郎さんに山田太郎の名刺をもらった」みたいにムダが多すぎる
「山田太郎さんに名刺をもらった」で済む話
0688デフォルトの名無しさん (ワッチョイ 1b52-ExlM)2020/10/10(土) 07:09:49.62ID:uolNZ8vJ0
>>687
書く側としては前者はだるいが
読む側としては不確定要素がなくてありがたい

貰ったのは誰の名刺?山田太郎ってどの山田太郎?ってな認識のズレが起こらないから
不都合なミスが置きにくい
大規模開発に向くわけだよね
0690デフォルトの名無しさん (ワッチョイ 4a55-xYNh)2020/10/10(土) 10:29:14.72ID:nCYLAi000
>>677
ありがとうございました。
Algorithms 4th EditionでJavaが採用されたのは、著者らがやはりデータ構造を記述する上で良い言語だと思ったからだと思います。
C言語を少し知っている状態で勉強していますが、データ構造とアルゴリズムのプログラムでのジェネリクス使用には感動しました。
0691デフォルトの名無しさん (ワッチョイ 9e02-XjuN)2020/10/10(土) 11:15:02.56ID:fniCsZ690
>>690
Javaはまだ無料だった頃、絶大な人気だったってだけだよ。
仕事で使う時にお布施しないと訴えられるかもってなったから、みんな逃げちゃって・・・。
オープンソースのJavaもあるけど、色々しがらみあるっぽい。

似た文法でC#が仕事で使うにも大人数になったり大儲けしたら払ってねとか、クラウド鯖にAzure使ってねとか、そう言う無料の意図が見えて安心かな。

データ構造やアルゴリズムならHaskellが一番美しい言語だけど、関数型言語だからね・・・。
需要が無いんだ・・・。

Haskell -> オブジェクト指向言語が学習曲線緩やかで良いと思うんだが。
0694デフォルトの名無しさん (ワッチョイ 5f9c-wKx7)2020/10/10(土) 15:18:57.02ID:lmvlajWr0
Javaは昔から無料だったし有料でもあった
昔からSun/Oracleとのサポート契約は有料だった
そして有料契約ではJavaの一部の高度機能を使うことができた
昔は有料だと機能アップ&サポート付きだった

Oracleは無償版をOpenJDKに移管することにした
このとき有料だった機能も無料のOpenJDKで使えるようにした
現在では有料サポート契約ができるOracleJDKと無料のOracle OpenJDKの2つがある
実際はIBMやマイクロソフトなどが支援している無数のOpenJDKが存在するが
Oracle自身がOracle OpenJDKを提供していることに注目してくれ
OracleはOracle OpenJDKとOracle JDKには機能差・性能差はないと明言している
違いはサポート契約だけだと
0695デフォルトの名無しさん (ワッチョイ 5f9c-wKx7)2020/10/10(土) 15:21:15.67ID:lmvlajWr0
昔は有料だった高度な機能がOpenJDKに移管されたことで無料で使えるようになったのだから
むしろ「有料だったJavaが無料になった」と言ってもいいくらいなんだよ
0696◆QZaw55cn4c (ワッチョイ 3798-dG+a)2020/10/10(土) 15:43:57.22ID:viEJhGtz0
>>691
haskell より前に偉大なる lisp 様がいるというのに、その lisp 様を差し置いて haskell を従容するとは、恥知らずですね‥‥
0697デフォルトの名無しさん (ワッチョイ caad-cB9D)2020/10/10(土) 16:27:58.04ID:Hb/htTou0
Kotlinもよろしく
0698デフォルトの名無しさん (ワッチョイ c601-9xIK)2020/10/10(土) 16:32:10.47ID:iOujIiR/0
Java Mission Controlも昔は有料だったけど無料化されたよねーいい時代になったわー
0699デフォルトの名無しさん (ワッチョイ 8a01-nrYP)2020/10/10(土) 16:58:17.59ID:zxwCdOcf0
Oracle JDKとOpenJDKの一番重要な違いはアップデートを入手できるバージョンとその間隔
有償サポートを全く受けない場合は現行バージョンが6ヶ月でサポート切れになり
それ以降はセキュリティアップデートも入手できない

Javaの主戦場の業務アプリだと
6ヶ月ごとのバージョンアップにキャッチアップしていくのは非現実的なので
事実上何かしらの有償サポートを受けることが必須になってる

ただOracleJDK+Oracleのサポートである必要はなく
IBMやRedHatなど有償サポートを提供しているベンダーとその指定JDKを選択可能
0700デフォルトの名無しさん (ワッチョイ 5f9c-wKx7)2020/10/10(土) 17:38:02.07ID:lmvlajWr0
>>699
おしい
それはOracleJDKとOpenJDKの違いではなくOracleJDKとOracle OpenJDKの違いだよ

他のOpenJDKディストリビューションではJava8やJava11をLTSと位置付けていてセキュリティアップデートが手に入る
いまは11.0.8まで来た
有料でないと長期サポートが得られないなんてことはないから安心してね

ちなみに俺のお気に入りはLibericaJDKとAdoptOpenJDK
Oracle OpenJDKは使ってない
無料とはいえOracleのユーザーアカウント作らないとダウンロードできなきのが面倒でね
0701デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)2020/10/10(土) 23:01:43.97ID:R7+H1l6x0
オラクルアカウントを作るのが面倒などというやつは、製品マニュアルの存在も知らないんだろうな。
0702デフォルトの名無しさん (ワッチョイ 9f61-ZhtZ)2020/10/14(水) 10:42:07.58ID:i5SUiAKM0
マニュアルだけなら完全有償製品のものでもアカウント無しで見られるだろ。
KROWNとかになると無理だけどさ。
0703デフォルトの名無しさん (アウアウクー MM0f-snog)2020/10/14(水) 16:52:40.47ID:8Gl9kIuoM
知識が古い
0704デフォルトの名無しさん (ワッチョイ 3901-Unsc)2020/10/22(木) 14:57:06.13ID:VEHOj23m0
openjdkでもマイクラ動いた
もうオラクルさんいらない
0707デフォルトの名無しさん (テテンテンテン MM4b-SRQc)2020/11/14(土) 23:17:59.11ID:d6b+JZmtM
オラクルが無くなったときに起きることとして考えられる最悪のケースは、
オラクルの死の間際に特許がパテントトロールに売却され、
オリジナルから改変されてJavaとしての正式なライセンスを受けていない非公式なOpenJDKのフォークに対して特許訴訟を起こされること
今はそういうのはグレーとして黙認されてるけど、特許訴訟のリスクがあるんだよね
0708デフォルトの名無しさん (ワッチョイ 1b01-5VKD)2020/11/14(土) 23:20:34.71ID:VsfC1nTY0
名前変えればいんじゃない
0710デフォルトの名無しさん (ワッチョイ cd9c-tKQa)2020/11/15(日) 06:59:23.43ID:z250o8Kw0
>>709
ちがうよ
公開したり業務で使うなら有償サポート付きのOracleJDKか、無料で使い続けられるOpenJDKどちらかを選択してね
OracleJDKに無断で業務利用はしないでねってことだよ
0711デフォルトの名無しさん (ワッチョイ 0d59-qPUn)2020/11/15(日) 10:50:25.69ID:LpTJTM9H0
OpenJDKを業務で使ってもいいよ
ただし各バージョンがセキュリティーアップデートを保証する期間は昔より短いから定期的にJavaをメジャーアップデートしないと危ないよ
入れ換えの度にテストを頑張るか、多少止まっても困らない業務で使ってね
日本だと品質神話を妄執していて些細な不具合でも執拗に責め立てられるから後者は難しいだろうけどね
ディストリビューションを使えばサポート期間は長くなるよ
0712デフォルトの名無しさん (ワッチョイ cd9c-tKQa)2020/11/15(日) 12:36:19.33ID:z250o8Kw0
>>711
それもちがうよ
セキュリティアップデートが短いのはOracle OpenJDK固有の話だよ
他のAdoptOpenJDKやLibericaJDKは8/11をLTSと位置付けていてOracleJDKよりも長い期間アップデートを提供すると表明しているよ

OpenJDKすべてがサポートが短いというのはよくある勘違い
0713デフォルトの名無しさん (ワントンキン MM79-SRQc)2020/11/15(日) 13:13:01.67ID:4GmgsxnfM
>>710
ちがうよ
OrackeJDKは商用か非商用かを問わず開発に使うだけなら無償、運用したら有償
個人的なエロ画像収集ツールであっても、作ったものを実際に自慰行為のために使ったらアウト
0714デフォルトの名無しさん (ワッチョイ 2361-gWUl)2020/11/15(日) 13:15:06.62ID:q0avyo/10
OpenJDK8はFXが別だからいつまでも存続させる価値があるのかどうか。
さっさと11に移行してしまえばいいのに。
0717デフォルトの名無しさん (アウアウウー Saa9-5xO/)2020/11/16(月) 13:15:06.03ID:5wnRi0CFa
くぱあ
0719デフォルトの名無しさん (ワッチョイ ed5f-CUAx)2020/11/16(月) 23:25:54.34ID:tGtTcv1a0
>>709
Oracle DatabaseだってExpressは無料で商用できて、JDK8もサポートがいらないなら、無料。
0720デフォルトの名無しさん (ワッチョイ e501-g/iO)2020/11/17(火) 00:16:43.00ID:f5Tz3QSD0
>>651
えっ??
0722デフォルトの名無しさん (ワッチョイ e501-g/iO)2020/11/17(火) 00:34:27.22ID:f5Tz3QSD0
>>721
すぅ・・・(息を吸う音)
、えっ???

もう参照渡しとは言わせない
https://qiita.com/mdstoy/items/2ef4ada6f88341466783
↑少なくともこの人は2つ目のコードで自分が何やってるか分かってないよね
0723デフォルトの名無しさん (ワッチョイ e501-g/iO)2020/11/17(火) 01:23:45.72ID:f5Tz3QSD0
分かってないアホのおバカちゃんは私でしたー
0726デフォルトの名無しさん (ワッチョイ cd9c-pJly)2020/11/17(火) 11:56:01.43ID:kWAljDCR0
・メソッドの仮引数aのメンバーを書き換えれば呼び出し元にも結果が反映される
・メソッドの仮引数aに別のインスタンスを代入しても呼び出し元は影響を受けない(実引数は影響を受けない)
これがJavaとCの値渡しね

C++とC#には参照渡しがあって仮引数aへのインスタンス代入が呼び出し元の実引数に反映される
というか実引数=仮引数になってる

たとえば引数で結果を受け取りたいときJavaでは引数の型をIntegerにしてもダメ
メソッド内で仮引数に新しいIntegerを代入しても呼び出し元には反映されないからね
Javaの場合はInteger配列やIntegerフィールドを持つインスタンスを渡して要素としてのIntegerを書き換えるしかない

C++やC#で参照渡しを使えば結果を受け取る引数に直接Integerが使える
0728デフォルトの名無しさん (アウアウウー Sa3b-A0/l)2020/11/19(木) 01:25:56.41ID:B/c9TawSa
cはポインタあるしjavaはポインタ経由でシステムメモリを外部に転送するときしか困らんから気にしなくていいけどね。
ポインタ扱うときも既に配列とNIOでやってるし。Unsafe封印されたし。

shenandoahとZGCはいいぞ!IDEが早いぞ!メモリ食うけど。
0732729 (ワッチョイ ef1d-MoyO)2020/11/19(木) 18:14:00.98ID:H3W3ymEw0
ありがとうございました

Progateもやってみたんですがあまり記憶に残らないんですよね…
0733デフォルトの名無しさん (ワッチョイ 5701-/4bi)2020/11/22(日) 00:58:01.25ID:06pFk2qC0
プログラム書きながら設計してるとごっちゃになるので、そろそろ設計をちゃんと学びたいのですが、デザインパターンの本を買えば事足りますか?
クラス設計の時点でつまずいてます。
0734デフォルトの名無しさん (ワントンキン MM73-rnDP)2020/11/22(日) 16:08:08.01ID:rsy9bKvfM
いいえ
デザインパターンはオブジェクト指向の機能を使ったハックのテクニック集であり、モデリングの参考にはなりません
エリックエヴァンスのドメイン駆動設計とか読みましょう
0736デフォルトの名無しさん (ワッチョイ 4b5f-7rm8)2020/11/23(月) 00:57:59.75ID:VMnu0WCT0
>>735
クラス図は設計ではなくて、クラスをただ書いたものです。
0737デフォルトの名無しさん (ワッチョイ 5701-/4bi)2020/11/23(月) 02:00:26.56ID:eSzg1FYA0
>>736
フローチャートやUMLも全くと言っていいほどわからないので勉強しないといけないですね。
自分の中では要件から必要なクラスを割り出すようなところでつまずいている感があったので、まずはここをどうにかしようと思ったわけです。
それ以前の問題もありそうですが…
またこれ以降も、オブジェクト指向の機能をどう効果的に使うか、というのがいまいちわかってないので、それについても勉強する必要があると思っています。
0738デフォルトの名無しさん (ワッチョイ 62a5-Aw6/)2020/11/23(月) 09:27:11.65ID:flWP/ydX0
コードなりなんなりを眺めていると、念力により、その内部にナントカmanagerというものが埋まっていることに気付く
念力でも法力でも思考力でも何でもいいが、その発見能力もしくはひらめきを身につける方法論が書かれた(もしくは謳われた)本は存在してない

どの教科書でもすみっこに小さく「ここではこのようなことを自動で思い付く」と書かれてるに等しい
それをやる具体的方法やトレーニング法は、実際のところ存在しない
『それ』とは、書いてる通りの『必要なクラスを割り出す』だ

実は、大抵の書籍は後から他人を納得させるための事後的な説明体系の提供をしているだけで、
そもそもなんでこのようなものを発見できるのかの脳の動かし方自体は書かれてない
0739デフォルトの名無しさん (ワッチョイ 62a5-Aw6/)2020/11/23(月) 09:39:09.18ID:flWP/ydX0
ここにこういうものを存在させるとシステム全体の辻褄が合う、という思考方式なので、
見い出す・発見する・割り出すと言うよりは、勝手に自動的にテキトーに思い付いたり考え付いたりねじ込んだりひらめいたりする類のもの
つまり、元々存在していたものではなく、わたくしがその場の思い付きで存在させるもの
発想の飛躍があるので、ロジカルに考えることは出来ないし、何かの手順に従って考えることも出来ない

数学の証明でも似たようなものがあり、「ここに補助線を引くとラクになります」などとなるが、
その補助線がどっから出てきたかは不明
なので解答の冒頭には実は「ここでこういう補助線をひらめきます」と小さく注釈されてる
例によって、どうやってひらめくかは数学や算数の教科書には一切書かれてない
そして、例題の解説では、なぜかそれが発見された大前提で話が進んでいる

最初の一歩や根本的なモノをひらめく能力は、日本の教育では教えられてないか、伏せられている
0741デフォルトの名無しさん (ワッチョイ 5701-/4bi)2020/11/23(月) 11:30:13.97ID:eSzg1FYA0
>>739
たしかに抽出はどちらかというと直感的な作業なのかもしれませんね。
ある程度はできますが例えば、クラスに関わる情報をそれ自体をインスタンスにして内包するのか、フィールドにするのかとか、いつ継承を使うと便利で安全なのかとか、単一責任の粒度とか、選択に対する理由が欲しいときが往々にしてあります。

そのあたりのベストな考え方を発見しながら先人達の道をなぞるのも、コアな勉強としてはおもしろいと思います。
しかしながら、定石化、常套手段になっているものは知っておいて損はないのかなとも思います。

また時間がかかりすぎてプログラミングから離れそうなので、面白いうちにとりあえず先に進みたいという個人的なわがままもあります。
0742デフォルトの名無しさん (アウアウウー Sa3b-bQi2)2020/11/23(月) 13:50:54.53ID:yzMprPBIa
JAVA8の機能のstremやラムダ式の勉強をしています。
List<Map<String,String> > のデータがあった場合に
Mapの特定のキーの値のみをList<String>に代入したい場合どのように記述すればよいのか教えてください。
0744デフォルトの名無しさん (アウアウウー Sa3b-bQi2)2020/11/23(月) 20:07:25.75ID:yzMprPBIa
>743
特定のKeyの値を取得することができました。
ありがとうございます。
0745デフォルトの名無しさん (ワッチョイ d71a-CJBF)2020/11/30(月) 12:36:29.74ID:x58g2KF20
例外処理try catchブロックについてです。

次のコード:
public static void main(String[] args){
int a = 6;
try {
a = a / 0; // 0除算
} catch (Exception e) {
System.out.println("例外発生");
} catch (ArithmeticException e) {
System.out.println("0除算エラー");
}
}

次のようなエラーが出ちゃいました。
Unreachable catch block for ArithmeticException.
達成できないArithmeticExceptionのcatchブロック。
It is already handled by the catch block for Exception
それはExceptionのcatchブロックですでに使われている。

catchブロックはこのように使えませんか?
私は何を間違えたのでしょうか。
0747745 (ワッチョイ d71a-CJBF)2020/11/30(月) 13:02:01.81ID:x58g2KF20
>>746
助言くださったとおりにして解決しました。
的確な助言に感謝致します。蟻が十御座いました。
0748デフォルトの名無しさん (ワッチョイ ac94-eHBG)2020/12/03(木) 01:40:56.81ID:YuA/YeTr0
数字の大小比較をするために、String型で取得した14桁の数字のデータをint型に変換したい

str = string型で取得した数字;
int num = Integer.parseInt(str);
もしくは
int num = Integer.valueOf(str);

型変換の方法はこの2つだと思ってるんだけど、どちらで書いてみてもこの型変換が実行できずエラーになってしまう
コンパイルエラーがある訳ではない
取得したデータに数字以外が入っていないことは確認済み
原因として何が考えられるでしょう・・・
0753デフォルトの名無しさん (アウアウウー Sa30-eHBG)2020/12/03(木) 09:27:46.55ID:wp8UTJLSa
>>749
うわーそれか!!!
最大値最小値があることすっかり忘れてた・・・
ありがとうございます


compareToで数字を比較するのは何となく敬遠してました・・・
(理由は本当に何となく)
比較する数字の桁が同じであれば数字同士でも問題なく比較できるという認識で合ってますかね?
0755デフォルトの名無しさん (ワッチョイ 8201-3lci)2020/12/03(木) 14:38:02.20ID:6muhTHl60
なにか言ってるようで何も言ってないというw
0757デフォルトの名無しさん (ワッチョイ ac59-HWCG)2020/12/03(木) 15:44:26.24ID:4gVkfP4J0
桁が同じで正の整数なら同等の比較が可能だけど仕様変更に弱いのでおすすめしない
「数字の大小比較をする」という意図の処理なら数値に変換した方が意図も明確になって良い
0759デフォルトの名無しさん (ワッチョイ 6e01-zLCK)2020/12/03(木) 21:59:51.17ID:anyYWQoy0
大学生起業家が設立1年で20億円調達! 単発バイトアプリに外食企業など出資【タイミー】
https://foodfun.jp/archives/3490
誰でもカンタンにオンラインサロン・情報配信ができる便利アプリ【TOUKU(トーク)】が登場
https://prtimes.jp/main/html/rd/p/000000001.000061569.html
ミャンマー発 AIダイニングアプリ「Yathar」をしかける日本人起業家
https://roboteer-tokyo.com/archives/14840
自分の視野は「世の中の0.001%」と自覚せよ。ビジネスチャンスを掴む4つの習慣
https://headlines.yahoo.co.jp/hl?a=20200511-00010001-srnijugo-life
アプリの視聴率がわかる 高専卒起業家の独創力
https://www.nikkei.com/article/DGXMZO46695580Y9A620C1000000/
1万人の若者を支援!インターンが日本を変えるかも!? glowshipの若き創業者・足立卓也氏インタビュー
https://sogyotecho.jp/glowship-adachi-interview/
まだ22歳の学生社長が得た、23億円の「使い道」 あの橋本環奈をCMに使うバイトアプリの雄
https://toyokeizai.net/articles/-/319511
0760デフォルトの名無しさん (ササクッテロラ Sp1b-5K8T)2020/12/10(木) 09:04:41.83ID:9YYnsGT0p
String.split(String, int)はintに-1を設定すると空文字も吐いてくれるようになりますが、
ドキュメントにも載ってないし、何でそうなるのか謎です。これってそう言う慣例みたいなのがあるんでしょうか?
0762デフォルトの名無しさん (ワッチョイ bf01-4pnK)2020/12/10(木) 10:17:51.28ID:/iej8cKu0
>>761
書いてないよ
0764760 (ササクッテロラ Sp1b-5K8T)2020/12/10(木) 12:46:34.90ID:9YYnsGT0p
>>763
ありがとうございます!
確かに書いてありました
概略だけ読んでドキュメント読んだ気になってました、ごめんなさい
0765デフォルトの名無しさん (ワッチョイ bf01-4pnK)2020/12/10(木) 12:48:30.17ID:/iej8cKu0
書いてあるよ
0766デフォルトの名無しさん (ワッチョイ c7e0-73jF)2020/12/11(金) 12:04:58.42ID:5DTAcZ3E0
Androidのスマホアプリ作ってみたいんだけどネットで調べると今からはじめるならKotlinがオススメって出てくる
でも書籍なんかは明らかにJavaが充実してる
やっぱりJavaからはじめた方がいいかな?

プログラミングは大学でC言語をそこそこ使っててJavaも少しはやったことあるレベルです
0767デフォルトの名無しさん (ワッチョイ bf02-H37g)2020/12/15(火) 10:06:28.32ID:gQh/3Vfu0
非同期処理での誤動作について質問です。
"Java" 自体とはあまり関係ない質問かもしれません。

---
4コア8スレッドのCPU
コア A、B、C、D
スレッド 1, 2, 3, 4, 5. 6. 7, 8

コア A はスレッド 1, 2 を担当
コア B はスレッド 3, 4 を担当
コア C はスレッド 5, 6 を担当
コア D はスレッド 7, 8 を担当

---

//スレッド1の処理
vlatile int a = 1;
a++;

「スレッド 2以外が a に絶対アクセスしないと仮定」すると、参照整合性は保たれますか?

---

※ 仮定です。Java でスレッドを直接指定してアクセスをブロックするのが無理なことは知っています
※ この質問には過剰な設定ですが、他にも質問があります
※ Java では、通常の方法でスレッドを直接指定できないことは知っています
0768デフォルトの名無しさん (ワッチョイ bf02-H37g)2020/12/15(火) 10:11:41.06ID:gQh/3Vfu0
>>766
Java は、チーム作業したときの成果物の品質を保証するために、現在の流行りの言語に比べて相当冗長な言語仕様になっています。

Kotlin やるなら、結局 Java も勉強することにはなると思うけど、書いて試して勉強するなら、Java はやめたほうが良い。
0769デフォルトの名無しさん (ワッチョイ bf02-H37g)2020/12/15(火) 10:29:55.44ID:gQh/3Vfu0
ちなみに、 Kotlin ができれば、Java は普通に読めると思うよ。

この文法って Kotlin でいうところの何?みたいな感じで、同じ JVM 上で動く言語なので、概念的にはほとんど共通してる。
(※ Kotlin は JavaScript とか native compile とかもある)
たまにわからんことあるかもしれんけど、大抵は対応表(チートシート)なり手元に置いておけばすぐわかる。

---

public static void main(String[] args)

こういうの、Java書いてたら、空で覚えて書けるんだけど、書ける意味も価値も今はもうほぼ無い。
こういう無駄な記憶に学習リソースを使わないほうが良い。

勉強は、今なら動画教材が充実してるから、それ使うと良いと思う。
Youtube に Kotlin の良い動画あるかは知らないけど、Udemy ってサイトは知っておくと良いよ(有料だけど質は高い、英語できたほうがいい)。
こういうのはじめに知ってるか知らないかで学習効率が相当変わってくる。
0770デフォルトの名無しさん (ワッチョイ bf01-75Jj)2020/12/15(火) 11:09:51.45ID:i7APri310
>>767
a++は
1. aの値を取得
2. 取得した値をインクリメント
3. インクリメントされた値をaに格納
の処理が行われるのでその間に別のスレッドが割り込む可能性があって
スレッド1とスレッド2で同じ値を参照する可能性はあると思う
0771デフォルトの名無しさん (ワッチョイ bf02-H37g)2020/12/15(火) 11:36:44.69ID:gQh/3Vfu0
>>770
ありがつございます。

a++ が非アトミック操作なのは前提として、
「同じコアの別スレッド」って、スレッドセーフ(特に可視性)を考えた場合どうなるのかなと思いまして。

ハードウェアに詳しくないので、この「同じコアの別スレッド」という表現が正しいのかどうかすらわかってないですが。
0772デフォルトの名無しさん (ワッチョイ bf01-75Jj)2020/12/15(火) 12:19:12.00ID:i7APri310
>>771
スレッドごとにキャッシュはあるだろうけど
volatileなのでセットされた値の可視性は保証されると思う
0773デフォルトの名無しさん (ワッチョイ 479c-dKKv)2020/12/15(火) 13:02:09.96ID:gbeRTgGG0
>>771
同じコアの別スレッド・・・ハイパースレッディング(SMT)のことか
SMTはパイプライン処理によって複数スレッドを同時に処理していくことで並列に見える
けど実際の演算器自体は1つで2つのスレッドが同じ処理を同時におこなうことはできない
だから大丈夫かも(昔は)

最近はSMTも改善されてパイプラインのボトルネックになる箇所の演算器を2つ持つようになっているらしい

1コア2スレッドならともかく2コア4スレッド以上になるとスレッドが同じコアに割り当てられる保証もないので考えてもしょうがないよ
0775デフォルトの名無しさん (スッップ Sd8a-5s18)2020/12/19(土) 10:58:13.13ID:D8Yj6NzKd
tomcatで動くwebアプリをJava+Jsp+Eclipseで開発してます。
*動作はローカルの画像ファイルをサーバーにアップロードする。
*アップロード完了すると、画面にURLのリンクが表示
*クリックで画像表示

今、下記の現象で困ってます。
*アップロード後、画面でURLリンクをクリックしても、リンクエラー404の表示がされます。
*サーバー(windows)の所定の位置への画像ファイルアップロードは確認。

Eclipseのプロジェクトでリフレッシュすると画面からのURLリンクで表示はできるようになります。
Java側でファイル処理をした後に何かしなくてはいけないのでしょうか?
すみませんが、この解決方法を教えていただけますようお願いいたします。
0777デフォルトの名無しさん (ワッチョイ be2c-6v7E)2020/12/19(土) 14:18:42.30ID:W83u/fSR0
Software Design 12月号の特集は、Docker, AWS だけど、

AWS の構成図を見ると、典型的なVPC・仮想ネットワーク空間内を、
いくつかのサブネットに分けている

その内、インターネットに公開されているのは、public subnet だけ。
そこには、ロードバランサーがある

ロードバランサーから、private subnet内にある、EC2・仮想マシンへ振り分ける。
このサブネットをDMZ(DeMilitarized Zone=非武装地帯)と呼ぶ。
privateだけど、publicへつながる部分

EC2から、(DMZではない)private subnet内にある、データベースのAurora へつながる

つまりプライベートには、普通のものと、DMZの2種類あるが、
どちらも安全性のため、インターネットにつながっていない
0783デフォルトの名無しさん (ワッチョイ c2a5-dZT0)2021/01/07(木) 12:46:24.70ID:AViGpn1X0
専用機と汎用機を比べんの?
0785デフォルトの名無しさん (ワッチョイ ed9c-oDKK)2021/01/07(木) 13:23:20.36ID:vyIpIDYq0
>>784
専用・汎用の対象が違う
あなた、専用=Java用、汎用=他プログラミング言語にも対応って考えてeclipseが汎用って言ってるんでしょ?
この文脈では汎用=純粋なテキストエディタ、専用=プログラミング用エディタ(IDE)だよ
だからeclipseは専用に分類される

俺もプログラミング学びたい人にVSCodeを勧めたりはしないな
プラグインの種類が多くて環境構築で躓きやすい気がする
0790デフォルトの名無しさん (ワッチョイ 4601-r91z)2021/01/07(木) 22:54:15.22ID:iqGL0Mlk0
IDEはテキストエディタ、コンパイラ、デバッガなど開発に必要な機能を一つのアプリとしてまとめたもの
って感じだけどVSCodeにはそれらの機能があるから軽量なIDEと言っていいのではなかろうか
0793デフォルトの名無しさん (ワッチョイ ff01-wy8K)2021/01/08(金) 00:59:36.81ID:eXVg8SYp0
Eclipseは、リファクタリングの機能とかコード生成の機能とか
型階層の機能とか呼び出し階層の機能とかあって割と高機能な部類だよ
VSCodeどころかVisualStudioでさえEclipseには勝てないよ
0795デフォルトの名無しさん (ワッチョイ ff01-wy8K)2021/01/08(金) 10:13:08.41ID:eXVg8SYp0
Eclipseが重いとか初耳だわwww
0796デフォルトの名無しさん (ワッチョイ df01-lZna)2021/01/08(金) 19:47:19.84ID:i/kUTvxh0
バグだらけなのは否定しないんだな
暫く使ってないんだけど、プラグインが不安定すぎて本体すら起動しないとかまだあんの?
0797デフォルトの名無しさん (ワッチョイ ff01-wy8K)2021/01/08(金) 20:05:07.33ID:eXVg8SYp0
>>796
否定して欲しいのか?どうなんだ否定して欲しいか? あ? ちゃんとお願いできたら聞いてやってもいいけど? どうする?
0798デフォルトの名無しさん (ワッチョイ ff01-wy8K)2021/01/08(金) 20:06:17.11ID:eXVg8SYp0
Eclipseを起動できなかったニワカが逆恨みしてるだけじゃねえかwww腹痛いwwwww俺を笑い殺させる気かwwwwwwwwww
0799デフォルトの名無しさん (ワッチョイ 5f9c-NUt6)2021/01/08(金) 20:15:51.50ID:GG1sOSQC0
>>796
あるけどないよ
eclipseはユーザーがプラグインを追加すると不安定になったり起動しなくなったりするのでプラグイン追加は非推奨になったんだ
eclipseのバージョンごとにプラグインリポジトリ(ストア)が別れていて検証済みのプラグインしか使えないし
それさえも推奨されておらずJava用とかC++用とかあらかじめプラグインがバンドルされたパッケージを選択することが推奨されている

ユーザーがプラグインを追加しちゃいけない統合開発環境 これがeclipseなんだよね
0802デフォルトの名無しさん (ワッチョイ ff01-wy8K)2021/01/08(金) 21:54:31.99ID:eXVg8SYp0
IntelliJだってwwwwハゲワロクソニワカじゃねえかwwww
0803デフォルトの名無しさん (ワッチョイ ff01-wy8K)2021/01/08(金) 21:54:57.61ID:eXVg8SYp0
>>801
結局の所Ecilpseが一番なんだよねしみじみ
0804デフォルトの名無しさん (スッップ Sd9f-Vags)2021/01/08(金) 21:56:51.66ID:0PvckT56d
そもそもいい歳こいてEclipse使ってる馬鹿って恥ずかしいよね……

あれって自分じゃろくにビルドもできない頭脳弱者のために作られたツールだよね
0805デフォルトの名無しさん (ワッチョイ ff01-wy8K)2021/01/08(金) 21:57:35.49ID:eXVg8SYp0
VxWorks、NASAジェット推進研究所(JPL)の新たなミッション「インサイト」で火星へ
https://www.windriver.com/japan/web_magazine/blog/column92.html

VxWorksの開発環境はEclipseだから、Eclipseは宇宙に羽ばたいてるんだよ
0807デフォルトの名無しさん (ワッチョイ ff2c-qGC7)2021/01/08(金) 22:43:56.78ID:DKQwsFSV0
mruby は、人工衛星に載った!
本も出た

Webで使えるmrubyシステムプログラミング入門、近藤宇智朗、2020/11

宇宙開発などの組み込み用、Lua, Squirrel の代替になる。
Ubuntu 18.04, C99 対応

Apache などのミドルウェアに組み込んで、拡張機能を作る。
ロジック・文字列処理は、C よりも、GC のあるmrubyでやった方が、安全性が高い
0810デフォルトの名無しさん (ワッチョイ df01-zMe3)2021/01/09(土) 00:07:35.33ID:InkVVK6p0
>>807
そりゃ珍しいね。
墜ちなかったの?
0811デフォルトの名無しさん (ワッチョイ 7fa5-HRmC)2021/01/09(土) 10:29:45.37ID:Wn+2EBSs0
その物体は随所で迷惑を掛けまくってる既知外だから触れてはダメ
徹底的に無視
0813デフォルトの名無しさん (アウアウウー Saa3-ik10)2021/01/13(水) 15:06:53.04ID:5lU+Lt+ca
eclipseのjava.2020.06でJDKの15を使いたいんだが、プリファレンスからコンパイラ準拠レベルのプルダウンには1.4までしかない
15は対応してないのだろうか、もしくは追加する方法を知ってたら教えてください
0814デフォルトの名無しさん (ササクッテロル Spd1-qLMC)2021/01/20(水) 19:13:22.78ID:h34kdAObp
springbootでweb画面を開発しています。バリデーションのことで詰まってしまったので質問させてください。
1件の情報を編集する画面を開発しています。入力項目を定義したformクラスに@validatedアノテーションをつけてバリデーションをしようとしています。
ここで問題があるのですが、この画面では商品情報であったりユーザー情報であったりと属性(項目)の異なる情報を編集できるようにしなければいけません。その為submitされるformの項目が一定ではありません。商品であれば商品の商品項目のバリデーション、ユーザーであればユーザー項目のバリデーションをしたいです。
そう言った仕様を満たそうとした場合、@validatedは不向きでしょうか?フレームワークに頼らず地道にバリデーションを実装するしかないのでしょうか?
0819デフォルトの名無しさん (ワッチョイ 2992-Q5Cn)2021/03/21(日) 22:44:16.74ID:FQK/UEyJ0
とりあえず適当なWebサイト作りたいんだけど、javaサーブレットってやつで作った方が無難?
0827デフォルトの名無しさん (オッペケ Sr79-GLrY)2021/03/31(水) 19:01:35.95ID:tQhEqgnir
JUnitに本当に価値がなければ流行らなかったよ
そういう風に言われて世の中のみんながバカなんだろ?ワシだけが真実を理解しとる!と思ったなら自分の見識の狭さや勘違いを疑うべきサイン
0830デフォルトの名無しさん (ワッチョイ 3602-wN/n)2021/03/31(水) 19:45:02.01ID:Buk0fCpW0
あとでバグが出た時に、へんにテスト用プログラムとか使ってると
「テスト用プログラムには問題がない、なぜなら〇〇だから」と
いちいち説明せにゃならんくなるだろうな

それよかJUnitつかって、「テスト仕様的にJUnitでは検出できない問題ですがなにか」で
済む方が楽かと

JUnitでテストできないものは、CI/CDなんかでの自動テストで検出するもの
0831デフォルトの名無しさん (ワッチョイ 099f-Na6r)2021/04/01(木) 00:52:41.29ID:b0tkHfmI0
>>828
まともに答えてほしいならまずまともな質問をすることだな
道理だろ
テストにしても対人にしてもGIGOなんだ
自分の中で凝り固まった結論が出ている人には、正しいインプットをしたところで何も伝わらない
0832デフォルトの名無しさん (ワッチョイ 3601-UKlW)2021/04/01(木) 01:17:31.82ID:Pq4gjxaZ0
>>827
それは帰納的推理です
帰納的推理は外れることがあります

日本人は刀を何百年も腰にぶら下げてましたけど
ただの野蛮人でしたよね
0833デフォルトの名無しさん (ワッチョイ 655f-j37g)2021/04/01(木) 01:52:36.22ID:Qm9pGYRd0
>>823
外国人は基本的にテストが面倒でやりたくないと思っている。

だからテストをちゃんとやっていると思わせるツールを作った。

テストドライバの半自動生成と、生成されたテストドライバを動かして可視化されたレポートを出力することで、よくわかっていない人を納得させることに成功した。
0834デフォルトの名無しさん (ワッチョイ 655f-j37g)2021/04/01(木) 01:54:02.35ID:Qm9pGYRd0
アメリカ人は自動、オートマティックという言葉が大好きだが、実際はこれで自動なのかという物ばかり。
0835デフォルトの名無しさん (ワッチョイ 6525-+TKQ)2021/04/01(木) 07:44:09.25ID:Vw0xzblQ0
テストってあくまでも正常確率を上げるためのものだから、リリース速度を上げる必要のある最近の開発ではそこまで重視せずにいいものって考えなのかも
0836デフォルトの名無しさん (ワッチョイ f59c-duYg)2021/04/01(木) 08:53:31.13ID:xF9g7tyl0
ユニットテストを最初から全部書くのは大変だよねー
そこまでやってもバグ出るときは出るし

私はバグが出てからテストコードを書くよ
2度と同じバグを出さない(デグレしない)ことを担保するのにユニットテストは便利

「聖闘士に同じバグは通じない!」
0838デフォルトの名無しさん (ワッチョイ ea55-9/J3)2021/05/07(金) 15:37:21.69ID:WyGI7kgq0
Bagという、データを加えることができ、Iterableインターフェイスを実装したクラスがあります。

このクラスをAbcという別のクラス内で使用しています。

Abcには、Abc(Abc a)というAbcクラスのオブジェクトをコピーするコンストラクターがあります。

このとき、Abc内のBagオブジェクトbに蓄えられたデータに対して、iterateしたときに、コピー元とコピー先のオブジェクトで
同じ結果が得られるようにするため、Bag内でどのようなデータ構造を使っているかの情報を使って、Abc(Abc a)というAbcクラスの
コンストラクターのコードを書くことはオブジェクト指向的にOKですか?
0841デフォルトの名無しさん (ワッチョイ 1763-DjaX)2021/05/07(金) 22:14:13.48ID:bt5OxQUb0
try-catchで何も終了処理を書かなくても
Closableのcloseメソッドに発生した例外を自動で渡すようにJavaの仕様を変えてください。
トランザクション処理が死ぬほどめんどくさいです。
0845デフォルトの名無しさん (ワッチョイ 2601-8aL7)2021/05/08(土) 01:04:02.44ID:0OKKDiC40
コミットして良いフラグを立てるかThrowableをキャッチするしかないんじゃないかな
僕ならこうする
https://paiza.io/projects/JVylMfZi1uOk0tJ0S9x6OA
0849デフォルトの名無しさん (ワッチョイ c3c7-/TFo)2021/05/15(土) 08:10:42.65ID:J7vyd3+s0
新明快Java入門やれば、どのくらいのレベルにまでなりますか?
0850デフォルトの名無しさん (ワッチョイ 2352-4oWM)2021/05/15(土) 10:11:05.55ID:g/RpY5PE0
>>849
ピンキリだと思うぞ。
読むだけで何も理解しないまま終わったつもりになる奴もいれば、自分でコードを書いたり応用したりして本に書いてある以上のことを習得できる人もいる。
0852デフォルトの名無しさん (ワッチョイ c3c7-/TFo)2021/05/15(土) 13:03:10.87ID:J7vyd3+s0
>>850
なるほど
0855デフォルトの名無しさん (ワッチョイ b310-sort)2021/05/16(日) 04:43:30.39ID:UeIwH95e0
(うまい例かどうか心配なのですが)
車名とオプションをフィールドとして持つ車オブジェクトがあります。これを車名の重複を許さない Collecition に格納します。
(N-box, 自動運転)
(ハスラー, パワースライドドア)
ここで新規のオブジェクトについて、既に同じ車名が Collection に存在すれば、オプションの内容を確認して特定の条件を満たす場合だけエントリーを差し替えたいと考えています。
((ハスラー, 自動運転) のエントリーを既存エントリー(ハスラー, パワースライドドア) と置き換えるかどうかは、既存エントリーのオプションにより決まる)

オブジェクトの hashcode() と equals(Object) を車名フィールドで実装して Collection を Set とすることで 「車名の重複のないCollection」 を作ることはできました。特定の車名をもつ既存エントリーへの参照を取ってくるうまい方法はないでしょうか。contains(Object) が真になる Collection 内のオブジェクトへの参照を得る方法です。
です。
(実際には車名は単一のフィールドではなく、複数のオブジェクトとプリミティブ形配列の組み合わせです)

1. Collection を ArrayList<車> にして、重複回避は contains(Object) をつかって自前でやり、既存のエントリーを get( indexOf(新エントリー) ) で参照
2. Collection を Map<車,車> にして同じオブジェクトを key と value の両方で登録し、既存のエントリーを get(新エントリー) で参照

ていうのでできないことはないのですが、ちょっとカッコ悪い気がしまして。
0856デフォルトの名無しさん (ワッチョイ a301-vYPf)2021/05/16(日) 05:10:46.49ID:E/1J84BK0
Set.getで良い気がする
0857デフォルトの名無しさん (ワッチョイ a301-vYPf)2021/05/16(日) 05:12:57.44ID:E/1J84BK0
引数に車オブジェクトを渡さないといけないけど
車名で車オブジェクトを得るなら
Map<String, 車>で車名 => 車のマップを作るとか
0858デフォルトの名無しさん (ワッチョイ 834d-0qpL)2021/05/16(日) 05:23:51.11ID:FVgsFl6o0
>オブジェクトの hashcode() と equals(Object) を車名フィールドで実装
車名が同じならオプションが違っても同値なん?

> 車名は単一のフィールドではなく、複数のオブジェクトとプリミティブ形配列の組み合わせ
車名クラスでまとめ、hashCode()を実装、Map<車名,車>でget(車名)
0859デフォルトの名無しさん (ワッチョイ ff01-vB/y)2021/05/16(日) 11:05:12.12ID:LKzrJH8Q0
車名をレコードとして定義すればequals()やhashCode()の実装は不要

SetはMapのkeyだけのコレクション(Set<Key>, Map<Key, Value>)
keyとして比較すべきじゃないオブジェクトを入れたSet<車>はよくない
0860デフォルトの名無しさん (ワッチョイ b310-sort)2021/05/16(日) 17:14:07.11ID:UeIwH95e0
みなさま、レスありがとうございます。

>>856
おっしゃる通り Set.get(Object) があればいいのですが見当たりません。
>>859
> keyとして比較すべきじゃないオブジェクトを入れたSet<車>はよくない
がお作法なのですね。

>>857,858,859
実際には車名は単一のオブジェクトではないので、そこをクラスなりレコードとして定義して、Collection は Map とするのがアドバイスですね。

>>858
> 車名が同じならオプションが違っても同値なん?
車オブジェクトは車名が同じであれば同一として扱える場合が多いです。しかし車名の一致を equals(Object) でハンドリングするのがよろしくないのかもしれません。

仕事のプログラミングではないので、もう少しじっくり悩んでみます。
0862デフォルトの名無しさん (ワッチョイ adad-KSUd)2021/05/19(水) 21:21:57.64ID:8rivzblS0
凄い低次元の質問ですが、、、
皆さんタイピングって、ホームポジション通りにやっていますか?

今度、Javaを勉強する事になりました。
我流のなんちゃってブラインドタッチでも問題なかったのですが
{}等の記号を打ちなれていなくて。

タイピングを基本通りに直すべきでしょうか?
0864デフォルトの名無しさん (ワッチョイ adad-KSUd)2021/05/19(水) 21:33:51.04ID:8rivzblS0
>>863
ありがとうございます。
確かに慣れれば、記号は打ちやすそうな感じはしますね。
0865デフォルトの名無しさん (ワッチョイ 7701-yvuG)2021/05/19(水) 21:34:57.71ID:9nPWOfi50
>>862
我流である程度精度とスピード出ているなら問題ないと思いますが、そうでないなら基本をマスターした上で自分に合ったやり方を見つけていくのが良いと思います。
0867デフォルトの名無しさん (ワッチョイ adad-KSUd)2021/05/19(水) 22:00:22.69ID:8rivzblS0
>>865
和文、英文共に人並み以上の速さです。
ただ小指はEnter位しか使っていないので、小指で記号を打つのには少し時間がかかりそうな気がします。
0869デフォルトの名無しさん (ワッチョイ ff01-vB/y)2021/05/19(水) 22:32:22.28ID:u9Tr9lyP0
我流でも指が楽に動くようならそれに越したことは無い

一般的に推奨されてるどの指でどのキーを打つかってやつは
指にかかる負荷や連続タイプ時の動きが考慮されてないから
参考程度にとどめておいたほうがいい
0875デフォルトの名無しさん (オッペケ Sr99-sYBi)2021/05/20(木) 19:02:26.06ID:30h9gtLkr
JavaのGOLD持ってれば実務で組んでなくても何かしらの評価になりますかね?
他言語経験者でJavaの勉強しようと思うんだけど、ゴールをどういうところにもっていこうかと思ってる。
0876デフォルトの名無しさん (ワッチョイ ab02-Adon)2021/05/20(木) 20:27:10.80ID:MNzWSTCi0
「JavaのGOLDを持っているんだな」
という評価になる
もしJavaのプログラミングを仕事にしたいのであれば
そういう求人のところに応募するしかない
雇う側はゼロから教えるつもりだから
知識があるかどうかは関係がない
ちょっと有利かもしれない
0877デフォルトの名無しさん (ワッチョイ 312c-TVsO)2021/05/20(木) 21:17:11.84ID:7GLv43lA0
Ruby on Rails なんて、1年の未経験者が10年以上のプロよりも、技術力が上!

WSL2, Linux, Node.js(Webpack, Babel), Docker Compose, CircleCI,
VSCode(Remote Container, Remote WSL)、データベース

さらに最近は、AWS Fargate, Terraform, React, Vue.js

一方、YouTube で有名な雑食系エンジニア・KENTA は、
SES系Java は何もしなくても良いって言ってるw
SIer が、IT土方奴隷を集めているだけだから

YouTube では、自社開発系RubyのKENTA vs SES系Javaのモローの戦い
0878デフォルトの名無しさん (ワッチョイ b310-Qmtv)2021/05/20(木) 21:38:42.92ID:cxFAF0HU0
黄金の知識をちゃんとコードに反映できるレベルなら
そこらへんの低能が書いたコードより遥かに綺麗になることは間違いない
ただ知識詰め込んで黄金取りましたっていうなら低能と一緒
0879デフォルトの名無しさん (スッップ Sdba-gwqZ)2021/05/21(金) 07:43:57.35ID:xiC/0WHtd
20代までなら実務経験なくても多少評価高く見てもらえるんじゃない?
他言語の経験はあるみたいだしそこでの活躍次第でいくらでも上振れる
30代以上なら資格なくてもJavaの実務経験豊富な奴採るかな
0880デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/21(金) 11:11:47.91ID:zMzSk3zP0
Javaの仕事したいわけじゃないんじゃないかな・・・だってJavaだよ
0883デフォルトの名無しさん (ワッチョイ c7fd-FS33)2021/05/21(金) 13:53:03.23ID:E7VjYYrK0
GOLDとっても若くないと取得しても意味がないかな
受験料安ければ自己研鑽でとってもいいんだけどなぁ
保有してる方はどういう理由で取得されたんですか?
0884デフォルトの名無しさん (ワッチョイ 5a81-2aW8)2021/05/21(金) 14:34:00.41ID:J6y23PLS0
Javaでおすすめのparser libraryってありますか?
0885デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/21(金) 14:48:02.65ID:zMzSk3zP0
>>884
何をパースするん? CSV? JSON? XML?
0886デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)2021/05/21(金) 15:06:39.75ID:DJROoS0Z0
初心者だがファイル読み込みとは言わずパーサを欲しがる……
とするとSableCCみたいなパーサジェネレータが欲しいんだろ
0888デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/21(金) 20:18:52.67ID:zMzSk3zP0
総務省の全国地方公共団体コードを参照して
都道府県、市区町村、その他住所に分割したことならある

総務省|電子自治体|全国地方公共団体コード
https://www.soumu.go.jp/denshijiti/code.html
0889デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)2021/05/22(土) 10:32:23.88ID:zUe7A7la0
最後が32ページとかなってるがこいつらマジで印刷するつもりなのか、バカだろ
総務省はアホとバカのすくつか?
最高学府でエクセル印刷するバカを量産してんのか?
0890デフォルトの名無しさん (ワッチョイ 5a81-CDvz)2021/05/22(土) 14:16:48.59ID:tNDHMa2e0
>>886
そうです
パーサージェネレータです
0891デフォルトの名無しさん (ワッチョイ 0eda-WUTn)2021/05/22(土) 16:14:37.91ID:UkwPJEM/0
HttpUrlConnectionを使ってサーバに対してPOST送信してるのですが、
送信データはBASE64文字列のため、「+」が含まれているとスペースに置き換わってしまいます。
これはJavaの仕様なのでしょうか?
何か回避策ありますかね?

// POSTデータ送信処理
try (OutputStream out = con.getOutputStream()) {
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8"));
writer.write("signature=" + signature);
writer.flush();
writer.close();
0895デフォルトの名無しさん (ワッチョイ bb5f-crVl)2021/05/22(土) 19:36:52.96ID:ltwxHPV/0
(Kyokumen)oの処理は何をしているのでしょうか
基本かと思うのですが

class Kyokumen implements Constants,Cloneable {
//中略
public boolean equals(Object o) {

Kyokumen k=(Kyokumen)o;
if (k==null) return false;
return equals(k);
}
//中略
}
0900デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)2021/05/23(日) 13:40:34.46ID:P4UGjjTl0
1 equalsはObjectで受け取るのがお約束
2 次のステップでは適切な型かどうかチェックするのもセオリー
3 その後にようやくホントの比較をする

これをすっ飛ばすとセオリーだけがヘンにこびりついた謎コードが出来上がる
曰く「equalsではObjectで受けとれ」てな村の伝承で型チェックせず無条件にキャストしてる

でも局面と局面以外を比較するミスなんてそうそう起きないでしょコレ
昔からの惰性でキャストしてる
0901デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)2021/05/23(日) 13:44:08.84ID:P4UGjjTl0
・キャスト知らない
・equalsの典型的な書き方知らない

将棋の本読んでる場合じゃねーぞ
Javaの教科書一通り読んだ方が早いゾ

基本と分かってて基本をやって無いんだからこの先幾度となくつっかかって読み通せなくなるのが目に見えてる
0902デフォルトの名無しさん (ワッチョイ 5b2c-5BAZ)2021/05/23(日) 14:33:42.74ID:zmSGPUw10
たいてい、どの言語でも「Effective 何々」と言う本に書いてある

インスタンス同士の比較を定義しましょうとか、
インスタンス.to_string を定義しましょうとか
0903デフォルトの名無しさん (ワッチョイ 1aa5-ksJK)2021/05/23(日) 14:39:32.91ID:P4UGjjTl0
>>902
違うじゃん
キャストが何なのか知らない、分からない、と書いてる
0906デフォルトの名無しさん (ワッチョイ 5a9f-miPe)2021/05/23(日) 16:13:39.47ID:b3Yb3C630
>>899
RubyおじさんJava分かってないじゃん
インスタンス等価を評価したいならそもそもオーバーライドする必要がない
super.equals(k) と書いていない以上、Objectクラスのインスタンス等価の実装が呼ばれることはない
再起でスタックオーバーフローになってないならオーバーロードが省略されてると考えるのが妥当

ついでに言うと、equalsをオーバーロードするのは悪手もいいところ
ただしequalsのオーバーロードをprivateで書いた場合は直ちに実害はない(やりたいとは決して思わんけど)
0908デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 16:19:28.38ID:WOQp3bQ90
>>906
> equalsをオーバーロードするのは悪手もいいところ

これはどうしてなの?
0910デフォルトの名無しさん (ワッチョイ 5a9f-miPe)2021/05/23(日) 17:03:37.00ID:b3Yb3C630
>>908
書くだけ無駄な上にミスを誘発する
特にオーバーロードだけ書いてオーバーライドを忘れるとMapなどでまともに動かなくなる
サブクラスを増やしたときもオーバーロード向けのオーバーライドがいちいち必要になって冗長だしこれまたミスを誘う
オーバーロード間で挙動に一貫性がなかったりするとこれまた分かりにくいバグを生む
0911デフォルトの名無しさん (ワッチョイ 979c-5O72)2021/05/23(日) 18:20:34.20ID:9APxQxbl0
>>908
オーバーライドではなくオーバーロードだよ? 悪手に決まってんじゃん
元のコードを読み返してみて equals の中から equals が呼ばれてる
これがスタックオーバーフローしないのは equals(Kyokumen k) というオーバーロードが存在するからと推測できる

このようなオーバーロードをしてるとちょっとしたことでスタックオーバーフローしがち
だからやめようね
0912デフォルトの名無しさん (ワッチョイ 1a61-lZiV)2021/05/23(日) 18:56:42.05ID:KO9AQv5q0
内側の隠蔽用途なら、適当に_つけるとかなんかすればいいしな。
0913デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:05:03.23ID:WOQp3bQ90
>>910
そうなんだ
0914デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:05:53.77ID:WOQp3bQ90
>>911
キャストしてるからオーバーロードが成立するわけで再帰するわけじゃないっすよね
スタックオーバーフローにはならないですよね
0915デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:07:30.09ID:WOQp3bQ90
間違って書いたとしてもスタックオーバーフローになるなら実装時に気づくと思うけどなあ
なんでダメなのかあまり説得力を感じなかった
0916デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:08:22.16ID:WOQp3bQ90
オーバーライド忘れてMapが動かなくなるのはオーバーライドがあろうがなかろうがそんなの当たり前じゃん
君たちの批判はすべて言いがかりレベルの些末なことだよ
0917デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:09:45.22ID:WOQp3bQ90
僕はそんなミスをしたことがないんだよね、僕が優秀なだけなのかな
なんか優秀でごめんだけど、本当に意味がわからないんだよね
0919デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:19:24.44ID:WOQp3bQ90
>>918
君も含めて、意味がわからないんだよね
君がその代表です
0920デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:20:23.07ID:WOQp3bQ90
>>918
> equalsをオーバーロードするのは悪手もいいところ

これはどうしてなの?
0922デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:30:45.97ID:WOQp3bQ90
>>921
そうなんです
あなたは何も言ってないんです、だから意味がわからないんです
equalsをオーバーロードするのはあなたにとってどう?
0923デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:31:01.71ID:WOQp3bQ90
率直に
0924デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:35:54.83ID:WOQp3bQ90
> public boolean equals(Object o) {
> Kyokumen k=(Kyokumen)o;
> if (k==null) return false;
> return equals(k);
> }

このメソッドはKyokumenでないオブジェクトが渡されたときに
実行時例外が投げられるけれども、実行時例外が投げられるからこそ
実装ミスに気づける良いコードとも言えるわけです
0925デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:39:00.17ID:WOQp3bQ90
Javaの標準ライブラリはジェネリクス使ってコンパイル時に型の間違いを検出できるようにするのが
理想なんでしょうけどね
0927デフォルトの名無しさん (ワッチョイ 979c-5O72)2021/05/23(日) 19:52:33.86ID:9APxQxbl0
>>914
そりゃあちゃんと書いてれば再帰にはならないけどさ
equals(Kyokumen k) の型を間違えたり変更したりしただけで equals(Object o) がマッチしてしまう危険性がある
たとえば equals(KyokumenB k) にしてしまったりとか
0928デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:58:09.23ID:WOQp3bQ90
>>926
> オバマロードの糞な点はメソッドの選択が動的ではないということだろ

それはオーバーロードの説明であってクソなところの説明ではないよね
いまだにあなたは何も言ってない状況です、給料泥棒だよ
0929デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 19:59:35.86ID:WOQp3bQ90
>>927
型を間違えるっていうのはそれはもうバグなので
スタックオーバーフローでそれに気づけるので良いことですよね
0930デフォルトの名無しさん (ワッチョイ 4e10-lMMI)2021/05/23(日) 20:03:19.38ID:2txaDFya0
>それはオーバーロードの説明であってクソなところの説明ではないよね

動的でないメソッドの選択が実装者にとってとてつもなく糞で言語の欠陥って言ってるのが
わからないくらいアホなんだからレスつけるな低能
0931デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 20:04:24.08ID:WOQp3bQ90
>>930
どうしてクソなのか説明できる?
0933デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 20:07:50.86ID:WOQp3bQ90
>>932
私は低能だからわからないので教えてください
0934デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 20:08:15.84ID:WOQp3bQ90
言っとくけど僕にはプライドなんてないからね!!
0935デフォルトの名無しさん (ワッチョイ 4e10-lMMI)2021/05/23(日) 20:20:11.34ID:2txaDFya0
ほんとド低能は低能すぎてしょうがないにゃぁ
オバマロードしたメソッドはコンパイルされた段階でどのメソッドが呼び出されるか既に確定してるんだよ
今回のように同じ型を引数に渡せるメソッドが2つあった場合Objectの方のメソッドしか絶対に呼ばれない
これが糞な理由だ
これでわからなかった諦めて入門書からやりなおせ低能
0936デフォルトの名無しさん (ワッチョイ 4e10-lMMI)2021/05/23(日) 20:22:39.10ID:2txaDFya0
今回のようにとは言ったがオーバーロードしたメソッドがあるかは全くわからんけどな
そんなもん作っても呼ばれないんだから無意味だしないと考えるのが妥当
0937デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 20:28:33.19ID:WOQp3bQ90
>>935
え、全然わかんないんだけど、何言ってるのこの人、ちゃんと説明してる?

> 今回のように同じ型を引数に渡せるメソッドが2つあった場合Objectの方のメソッドしか絶対に呼ばれない

実引数の型によるよね
0942デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/23(日) 20:40:56.61ID:WOQp3bQ90
>>941
昔はそうだったってこと? いつのとき? Javaのバージョンは? あなたは手を動かして確認したのだよね?
バージョンいくつで確認したの?
0948デフォルトの名無しさん (ワッチョイ 5a01-S/TN)2021/05/23(日) 23:48:00.16ID:8+E/rOe30
>>944
バグりやすいからequalsのオーバーロードは避けたほうがいいのは間違いない

それ以外にも元のサンプルコードはいきなりキャストして
それからnullチェックとか意味がわからん
0949デフォルトの名無しさん (ワッチョイ 7601-L4y7)2021/05/24(月) 00:37:58.81ID:VswUGgIR0
>>948
nullのときfalseにしたいだけだと思うよ
0950デフォルトの名無しさん (ワッチョイ 979c-5O72)2021/05/24(月) 01:14:48.10ID:E9VQgXzh0
>>949
nullのときにfalseにするならキャスト前に o == null で十分
instanceof 使わずに強制キャスト試みるなら k も要らんな
equals((Kyokumen)o) でいいな
どうせテキトーなコードなんだから
0954デフォルトの名無しさん (ワッチョイ 7601-RnDR)2021/05/24(月) 02:32:12.56ID:VswUGgIR0
コストの差なんて誤差みたいなものだしキャストの前と後どちらでヌルチェックするかにこだわるのは時間の無駄だよ、それよりも将棋のアルゴリズムを考えたが良い
0955デフォルトの名無しさん (ワッチョイ 3761-lZiV)2021/05/24(月) 09:16:45.11ID:Mu3SKiXg0
たったこれだけのイディオムで書く書かない考えるまでもないだろ。
if (o == null || getClass() != o.getClass()) return false;
GoogleのAutoなんとかやIDEが勝手に追加してくれる。
0957デフォルトの名無しさん (スップ Sdba-+uhp)2021/05/25(火) 08:14:57.06ID:NjlFkzs4d
method(Object o)
というメソッドを呼び出す時、String型だろうがInteger型だろうが引数に渡すことができますが

method(List<Object> oList)
というメソッドに対してList<String>やList<Integer>を引数に渡す事ができないのはなぜでしょうか?
0958デフォルトの名無しさん (ワッチョイ 6301-7S+s)2021/05/25(火) 08:42:01.42ID:9mK+q0F80
>>957
仕様で禁止
仮にmethod(List<Object> oList)の中でoList.add("test")ってやってたら、List<Integer>を渡されたら困るでしょ

これができないのと同じこと
List<Object> objList;
List<Integer> intList = new ArrayList<>();
objList = intList; // コンパイルエラー
objList.add("数字じゃない");
0959デフォルトの名無しさん (ワッチョイ 3761-lZiV)2021/05/25(火) 09:30:33.81ID:LcgTzRfK0
>>956
実用上、どっちでもいいんじゃね。
その子クラスでもequals()を結局実装することになるだろうし、
そもそもデータクラスで継承使いたくないのもあるし。
0961デフォルトの名無しさん (ワッチョイ 3e01-O+lH)2021/06/04(金) 19:22:32.43ID:m+7qhb/N0
質問です
var stream = IntStream.range(0, 10).boxed();
このStreamから要素数を指定してグルーピングして
[0,1,2],[3,4,5],[7,8,9]
というStreamを得たいのですがどのようにデータを操作すれば良いですか?
Streamではこういうことできなかったりしますか?
0962デフォルトの名無しさん (ワッチョイ ca02-uikQ)2021/06/04(金) 22:35:57.03ID:1mLYK0aA0
なぜ6が抜けてるのか...ミスだと仮定すると
Collection<List<Integer>> values = IntStream.range(0,10).boxed()
.collect(Collectors.groupingBy(i -> i / 3))
.values();
System.out.println(values);

実行結果
[[0, 1, 2], [3, 4, 5], [6, 7, 8], [9]]
0963デフォルトの名無しさん (ワッチョイ 3e01-O+lH)2021/06/04(金) 23:26:44.04ID:m+7qhb/N0
>>962
ありがとうございます!
6はミスなので気にしないで大丈夫です
collectはStreamが終わってしまうんですよね
[0,1,2]...をStreamで逐次に読み出したいんですせっかくのStreamなので
グルーピングの処理を逐次でできるといんですけど
0964デフォルトの名無しさん (ワッチョイ 3e01-O+lH)2021/06/04(金) 23:44:45.71ID:m+7qhb/N0
無理なんですかね、.NETのLINQのGroupByもシーケンス全部を読み取るようですし
条件を指定した場合は要素を全部見ないといけないんでしょうけど
先頭から数件ごとにグルーピングする場合は理屈としてはシーケンシャルに
読み取れるはずなのでStreamでやれればと思ったんですけど、難しいですねこれ
いったん諦めます、もしわかったかたおられたら教えて欲しいです
私はRxJavaを試してみます
0967デフォルトの名無しさん (ワッチョイ 3e01-O+lH)2021/06/05(土) 03:00:46.09ID:MxOWvxhv0
>>965
すごいです!

>>966
ありがとうございます!
0968デフォルトの名無しさん (ワッチョイ caad-p9zx)2021/06/05(土) 18:40:06.43ID:lg0pCfQ90
Kotlin もよろしく


Kotlinだとこうなる

val values = (1..10).chunked(3)
println(values)

出力
[[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
0969デフォルトの名無しさん (ワッチョイ 3e01-O+lH)2021/06/05(土) 18:48:27.34ID:MxOWvxhv0
>>968
Kotlinすごいです!
0973デフォルトの名無しさん (ワッチョイ caad-p9zx)2021/06/06(日) 05:26:06.72ID:d9R15mSw0
>>971
Kotlin の場合は List のまま Java の Stream みたいに使えないか?
List のままでも特に困らないと思うんだが。何か問題ある?
0974デフォルトの名無しさん (ワッチョイ 8961-Fu2c)2021/06/06(日) 07:26:35.60ID:lKbJDHfK0
>>973
さあ。
Streamが書き易さのためだけにできたと思っているのなら。
0975デフォルトの名無しさん (テテンテンテン MMde-PbG/)2021/06/06(日) 10:23:11.57ID:ybXqEAw1M
>>973
Kotlin使いなのにまさかの初歩的質問だな
StreamとSequenceはパイプライン処理を抽象化したもので遅延評価される
振る舞いが違うし性能に差が出る
シーケンス図で説明できると早いんだが
1万件のリストを10回ずつmapとfilterして結果の先頭1件目を取り出す場合、リストなら必ず1万件全てに対して処理が走る
ストリームなら最初の1件目がお目当ての品だった場合、ストリームから後続の値が取り出されることすらなく処理が完了する
0977デフォルトの名無しさん (テテンテンテン MMde-PbG/)2021/06/06(日) 18:00:10.88ID:YnVE4/VRM
それってぼくは性能追求してないのでfor文で欲しいデータが見つかってもbreak全然書きませんって言ってるようなもんだ
Javaがよく使われる業務領域では社員数に応じてデータ量は増えるしRDBも絡む
小さなコレクションの基礎的な変形操作にしか活用してないならともかく、データの取り出し元がRDBだとか、繰り返し処理が全体に有意差を生むケースはいくらでも想定できる
0978デフォルトの名無しさん (ワッチョイ caad-/d/6)2021/06/06(日) 18:12:28.57ID:d9R15mSw0
>>975
JavaのStreamってKotlinのSequenceと同じなの?
0983デフォルトの名無しさん (アウアウウー Sa11-/d/6)2021/06/08(火) 09:50:05.38ID:CFn1v5aZa
>>979
遅延なのは同じでは?
0985デフォルトの名無しさん (ワッチョイ 7601-req2)2021/06/18(金) 12:15:21.33ID:7QqIFMO20
質問です
static finalのフィールドにHashMapをセットして
getしか行わない場合は、マルチスレッドで使用しても安全ですか?

↓こういうふうに、コードはイメージです
class Test {
 private static final HashMap<String, String> map;
 
 public Test() {
  map = new HashMap<String, String>();
  map.put("a", "A");
  map.put("b", "B");
 }
 
 public String get(String key) {
  return map.get(key);
 }
}
0987デフォルトの名無しさん (ワッチョイ 7601-req2)2021/06/18(金) 13:59:22.34ID:7QqIFMO20
>>986
ありがとうございます!
↓これなら良いですか? getはマルチスレッドでも安全ですか?
class Test {
 private static final HashMap<String, String> map;
 
 static {
  map = new HashMap<String, String>();
  map.put("a", "A");
  map.put("b", "B");
 }
 
 public String get(String key) {
  return map.get(key);
 }
}
0988デフォルトの名無しさん (ワッチョイ b761-hhAf)2021/06/18(金) 16:19:11.06ID:deCUai8H0
valueがイミュータブルかどうかは無視していいの?
keyがイミュータブルでないってのはありえないだろうけど。
0991デフォルトの名無しさん (ワッチョイ b761-hhAf)2021/06/18(金) 21:48:38.57ID:deCUai8H0
>>989
例の通りStringならね。
たとえば、Dateみたいなミュータブルだとどうなのって話。
0994987 (ワッチョイ 7601-req2)2021/06/19(土) 02:17:51.58ID:mDxwNGWh0
みなさんありがとうございます!
0996デフォルトの名無しさん (スッップ Sdba-ETxa)2021/06/20(日) 16:54:15.78ID:Kf2rTDe5d
Flow APIでPub/Sub処理作ってデバッグしてみたんだけど
eclipseもintellijも設定したブレイクポイントで止まってくれない

具体的にはSubscriberインターフェースを実装したクラスでpublishした時に呼ばれるonNextメソッドの部分

処理中にいくつかコンソール出力を仕込んであって途中までは呼び出されてるんだけどそこから先で止まってるっぽくてデバッグしたいんだけど
確認できてるコンソール出力処理より前にブレイクポイントを設定しても止まってくれない

Javaの標準クラスを経由して呼び出される独自のクラスはデバッグできないとか制約あったりするんだろうか?
0997デフォルトの名無しさん (アウアウウー Sad3-GPmn)2021/06/25(金) 14:33:03.71ID:sV38Jy47a
gradleでビルドしてるのだけどテストを除外してビルドするかんたんな方法はないの?
「テストを実行しない」ではなくテストコードそのものを生成物(jar)に入れたくないという意味で
1000デフォルトの名無しさん (ワッチョイ 3fad-wfqF)2021/06/26(土) 14:11:00.72ID:RjjpcdnV0
100000000000000000000000000000000000000000000!
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 450日 23時間 1分 46秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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