☆★Java質問・相談スレッド184★★at TECH
☆★Java質問・相談スレッド184★★ - 暇つぶし2ch2:デフォルトの名無しさん
21/10/18 02:15:58.66 /uJbwTfz0.net
きゃそ

3:デフォルトの名無しさん
21/11/15 01:09:30.48 /rcxh/Pca.net
Oracleの無料JDKダウンロードサイトが真っ白です
どうにかしてください

4:デフォルトの名無しさん
21/11/23 14:40:53.16 HIAOM8SHa.net
あそこは真っ白になったり現れたりを繰り返しているようだ。
時間を空けてまた見てみると良い。

5:デフォルトの名無しさん
22/01/18 21:32:25.56 a+6fnuAs0.net
JMHの@Paramはなんで文字列で指定するの?
@Param({"1","2"})
int size;
intに対しても文字列。なんで?
あと
@Param({"1",...,"2"})
こういう...の記法は何を意味してる?

6:デフォルトの名無しさん
22/02/02 00:05:03.55 OSEt1NS50.net
ググれゴミ

7:デフォルトの名無しさん
22/03/13 23:47:09.93 xx+aBp7X0.net
>>6
それ言ったらここの存在意義なくなるやん

8:デフォルトの名無しさん
22/03/28 16:13:57.27 EywQQJQL0.net
男は黙ってNG登録

9:おれいいひと
22/07/24 21:13:03.59 AdzGFJsY0.net
JAVA初心者でもBASICのように簡単にプログラミングできる方法を開発しました
switch(GOTO){
case 10:処理;break;
case 20:処理;break;
case 30:処理;break;
}
これでBASICで便利だった行番号とGOTO文が使えます
なおこのコードはフリー素材として誰でも使えるようにします
恥ずかしがらず活用してください

10:デフォルトの名無しさん
22/07/24 21:27:36.13 9ixHhHoi0.net
恥ずかしくて使えません。

11:デフォルトの名無しさん
22/07/26 12:01:33.62 G04om+IZ0.net
>>9
それGOTOって言わなくね...?
GOTO使いたいならbreak, try catch使って擬似的に再現すればいいと思うけど。

12:デフォルトの名無しさん
22/07/31 07:36:55.64 bPMJUnCNH.net
「e(fx)clipse3.8.0」をEclipseのマーケットプレイスからインストールしました。
エクリプスで、ウィザード→javaFx→javaFx Projectを選択して、JREは[JavaSE-16]を使用してプロジェクト作成すると、
自動生成されたコードですでにThe import javafx cannot be resolvedが発生してます。
そのため、上記プロジェクトのビルドパスの[Oder and Export]のタブでJavaFx SDKにチェックと入れてみたしたが同じエラーがでます。
どうすればいいでしょうか?

13:デフォルトの名無しさん
22/07/31 09:44:17.27 RDvy3I9r0.net
e(fx)clipseプラグインって開発止まってるでしょ
JavaFX開発するならIntelliJ IDEAのほうがいいと思う
Web開発しないなら無料のコミュニティエディションで十分だし

14:デフォルトの名無しさん
22/07/31 17:38:30.45 Dl7jaJ3a0.net
javaファイルをフォルダーに入れて
それに単純にアクセスする方法はないでしょうか?
importを使えば何とかアクセスできるんですが
もっと単純にHTMLみたいな感じでアクセスしたくてたまりません
それにimportだと同一クラス名が使えてしまうのでまぎらわしいです
Folder/Class fc = new Folder/Class();
みたいな感じでやりたいんですがもちろんこのコードは通りません
助けてください

15:デフォルトの名無しさん
22/07/31 17:57:27.73 Dl7jaJ3a0.net
>>14
すいません自己解決しました
Folder/Class fc = new Folder/Class();
ではなく
Folder.Class fc = new Folder.Class();
とすればよかったみたいです

16:デフォルトの名無しさん (ワイーワ2 FF62-gOJn)
22/08/02 10:59:10 tTeCFCYlF.net
エンターキーをJbutton上において押下したときでも、ボタンのアクションを呼び出したいのですが、
どうしたらいいでしょうか?
KeyListenerをimplementsして、下記のようにしたのですが、
JButton okButton = new JButton("OK");
okButton.addKeyListener(new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
System.out.println("エンター");
}
}
});
エラーが出ます。
The method addKeyListener(KeyListener) in the type Component is not applicable for the arguments (new KeyAdapter(){})

17:デフォルトの名無しさん (ワッチョイ ce01-ApZl)
22/08/02 11:09:03 1+SKzGdY0.net
>>16
import java.awt.event.KeyAdapter;

18:デフォルトの名無しさん
22/08/02 12:04:38.33 tTeCFCYlF.net
ありがとうございます!
インポートが足りなかったのですね。
因みに、エンターキーが押下された場合に、既にある
okButton.addActionListener(new ActionListener() {..処理..}
を実行するためにokButton.addActionListeneを呼べたりできるんでしょうか?
イメージ的には
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
okButton.getAction().actionPerform();
}
です。

19:デフォルトの名無しさん
22/08/02 12:41:49.87 1+SKzGdY0.net
アクションリスナが実行されるのはアクションが起きたときなので
okButton.doClick();
でいんじゃないかな
Stream.of(okButton.getActionListeners())
.forEach(x -> x.actionPerformed(null));
これで呼べなくはないだろうけど
これをやるならActionListenerで行ってる処理を別メソッドに移動して
そのメソッドをActionListener, KeyListenerの双方から呼ぶようにするのが正当なやり方だと思う

20:デフォルトの名無しさん (スフッ Sd9a-iNeV)
22/08/02 13:47:01 X1lFHMABd.net
教えて頂いた方法をそれぞれ試してみようと思います。
色々勉強になりました。ありがとうございます!

21:デフォルトの名無しさん
22/08/04 16:19:32.01 nSsmO/4i0.net
セキュリティって何ですか?
JAVAプログラムってそんなに簡単に外部から侵入できるんですか?

22:デフォルトの名無しさん
22/08/04 16:21:30.42 i22MIZQBM.net
そりゃそうよ

23:デフォルトの名無しさん
22/08/04 19:52:36.56 nBHWCjI9M.net
なんでFXCollections.observableArrayListのところでエラーが出るんでしょう?
URLリンク(pastebin.com)

24:デフォルトの名無しさん
22/08/04 20:23:02.48 uO0vl7cG0.net
newしてんのにコンストラクタ呼び出しになってないからじゃないの?

25:デフォルトの名無しさん
22/08/04 20:30:11.89 nBHWCjI9M.net
>>24
ホントだ。newしてた。orz
ありがとうございます。

26:デフォルトの名無しさん
22/08/04 22:13:11.15 RbD+Gsia0.net
漏れが登録していたJava のサーバーから、パスワードを抜き取られましたとか、
Microsoft かブラウザから、通知が来た
大きなセキュリティーホールがあったけど、
ほったらかしで、それを修正していないサーバーも多い

27:デフォルトの名無しさん
22/08/04 22:18:36.71 isEYuHXY0.net


28:デフォルトの名無しさん
22/08/05 13:22:34.56 DMTMWNkM0.net
KENTA語は分からん

29:デフォルトの名無しさん
22/08/09 18:10:17.56 8SEJB7nO0.net
変数名を変えたいんですが、100個以上あるので万道臭いです。
なんか1発で買える方法とかありませんか?

30:デフォルトの名無しさん
22/08/09 18:26:16.78 KAEQzIc+0.net
EclipseならShift + Alt + R

31:デフォルトの名無しさん (ワッチョイ 13ad-N11w)
[ここ壊れてます] .net
>>21
簡単と感じるかどうかは主観の問題。君から見て複雑で難しいものであっても簡単と感じる人はこの世のどこかに居るかも知れない。

32:デフォルトの名無しさん
22/08/12 07:17:46.90 wOxqptDPa.net
>>12
JREがOpenjdk系だとjavaFX統合版、JREとjavaFX別モジュール版とある
もしかしてJREのみのインストールしとらん?

33:デフォルトの名無しさん
22/08/12 07:44:55.17 dDX14IC1M.net
しとらん。

34:デフォルトの名無しさん
22/08/14 13:45:10.64 XjrQ4lVV0.net
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/geysermc/geyser/platform/standalone/GeyserStandaloneBootstrap has been compiled by a more recent version of the Java Runtime (class file version 60.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)

35:デフォルトの名無しさん
22/08/14 13:45:31.87 XjrQ4lVV0.net
これってなんのエラーなんですか?

36:デフォルトの名無しさん
22/08/14 13:57:18.11 m4zeUk6+M.net
書いてある通りですよ

37:デフォルトの名無しさん
22/08/14 14:27:05.88 XqwoDURi0.net
>>34
Java16でコンパイルされたクラスをJava8で実行しようとしていてそれはダメですよってエラー

38:デフォルトの名無しさん
22/08/14 16:51:03.98 YzvfyuVN0.net
>>34
UnsupportedClassVersionError

39:デフォルトの名無しさん
22/08/20 23:31:17.02 VubPJjDRd.net
Spring Batch
chunkの使い方わからん

40:デフォルトの名無しさん
22/08/25 10:41:03.30 C0Bmt3UL0.net
真剣に悩んでいます
floatのもっと簡単な使い方を教えて下さい
float baka=5.963; とするとエラーが出ます
float baka=5.963f; とfをつければエラーは消えますが、いちいちつけるのが面倒です
例えば大量に数値を打ち込むときにfをつけてたら大変でしかたありません
何とかfをつけない方法はないでしょうか?
doubleを使えというのはなしでお願いします
もう3日もやり方を模索して見つからずほとんど寝ていません
切実です

41:デフォルトの名無しさん
22/08/25 10:42:07.10 0z7AphVM0.net
ないです、寝てください

42:デフォルトの名無しさん
22/08/25 11:05:35.30 bEU0NH1U0.net
嫌ならキャストしろw

43:デフォルトの名無しさん
22/08/25 15:33:45.50 bJn+zm7RH.net
>>40
どうしても嫌だという場合は例えばファイルに文字列で入れておいて初期化時にファイルから読んで変換するとか、
文字列の配列でプログラム中に埋め込んでおいて初期化する時にまとめて float の配列に変換するとか、
そんな風にするしかないんじゃないかなあ?
入力が大変というぐらい沢山あるのであればやっぱファイルに入れておくのが良いのでは?
後で変更する時にプログラム修正しなくて済むよ。設定ファイルのようなもの。

44:デフォルトの名無しさん (ワッチョイ 8601-nIs0)
[ここ壊れてます] .net
>>39
コミット間隔を指定するだけっしょ
データが大量にあるときに便利

45:デフォルトの名無しさん
22/09/02 13:30:13.77 anBQQFEld.net
ブックマークレットのスレッドかこちらか悩みましたが質問なのでこちらでご相談させていただきます。
他者のWebサイトを閲覧する際、JavaScriptを用いて作成されている場合、リンクを新しいタブで開けない場面があります。
頻繁にページを進んだり戻ったりする場面、可能であればリンク先を別タブで開くようにしたいです。
ブックマークレットを用いて、現在ページのJavaScriptのリンクを別タブで開くように書き換える処理をすることは可能でしょうか?

46:デフォルトの名無しさん
22/09/02 15:08:50.17 I1GkSOn60.net
>>45
ここはJavaScriptのスレではなくJavaのスレなのでスレチ

47:デフォルトの名無しさん
22/09/02 16:05:37.41 anBQQFEld.net
>>46
スレ間違いでした。教えて頂きありがとうございます。

48:デフォルトの名無しさん
22/09/16 21:19:55.92 EEssf3o2M.net
hosyu

49:デフォルトの名無しさん
22/09/24 01:53:59.87 a10GtK4h0.net
自作のオブジェクトをツリー構造で管理したいのですが出来合いのクラスでおすすめはありますでしょうか
親ノードから直下の子ノードに順次アクセスしたり、最下位のノードからルートまで階層をさかのぼって情報収集したり、子を親から切り離してツリー構造ごと別のノードの子として移動させたりしたいです
swing の JTree の中で使っている DefaultMutableTreeNode のユーザーオブジェクトに自前のオブジェクトを入れるのが現在の候補ですが他にいいのがあれば知りたいです
格納するユーザーデータにジェネリックスが使えればベストです

50:デフォルトの名無しさん
22/09/24 14:58:01.38 rovpnI4n0.net
>>49
GUIのコンポネントを探してるん?

51:デフォルトの名無しさん
22/09/24 19:00:41.04 il0mhMRZd.net
>>50
うまく説明できずすみません
ほしいのは個々のデータオブジェクトを格納できるノード的なクラスかツリーとしてアクセス可能なCollection的なクラスです

52:デフォルトの名無しさん
22/09/24 19:26:33.34 rovpnI4n0.net
標準ライブラリにはないね
ディレクトリ構造のような多分木でしょ
自作するのがいんじゃないかな
AWSのS3のような感じでパスをキーにした連想配列を木構造とみなすこともできそうだけどね

53:デフォルトの名無しさん
22/09/24 22:12:19.54 2Ekif7Lc0.net
TreeSet/TreeMap
じゃ駄目なの?

54:デフォルトの名無しさん
22/09/25 01:30:08.90 gLZKJWEk0.net
どう考えてもダメなのでは?

55:デフォルトの名無しさん
22/09/25 03:38:39.74 MGeEAc5V0.net
こういうのかな
URLリンク(paiza.io)

56:デフォルトの名無しさん
22/09/25 09:06:07.14 Rxhh3DJ90.net
統一教会に聞いてみてはどうかな。
色々教えてくれるんじゃないかと。

57:デフォルトの名無しさん
22/09/25 09:08:46.47 Rxhh3DJ90.net
まず自民党支部で紹介状をもらってから家庭教会(韓国籍の方は高位なので同胞教会)に行けば親身になって相談に乗ってくれます。

58:デフォルトの名無しさん
22/09/25 17:10:30.82 MGeEAc5V0.net
不変オブジェクトで作ったほうがシンプルでいいかも
URLリンク(paiza.io)

59:デフォルトの名無しさん
22/09/25 19:19:46.29 6HL6WV7c0.net
糞コードをドヤ顔で貼るなゴミ

60:デフォルトの名無しさん
22/09/25 19:21:42.78 MGeEAc5V0.net
( -`ω-) ぇ? 俺のコードそんなに良い?

61:デフォルトの名無しさん
22/09/26 23:23:05.13 TiY0P+H/0.net
>>55
コードサンプルまでありがとうございます
残念ながらほしいのとは違いました
ちょっと機能あり過ぎて使いこなせるか不安ですが自前で作るよりはずっと良さそうなので
javax.swing.tree.DefaultMutableTreeNode
を使うことにします。
(ごめんなさい初心者質問スレがあったのですね
次からはそちらにします)

62:デフォルトの名無しさん
22/09/27 04:53:18.14 9+gQ2L86H.net
URLリンク(www.java.com)
URLリンク(i.imgur.com)
Javaを使わないと開けないゲームがあって初めてJavaをダウンロードするのですがこのサイトで合ってますでしょうか?

63:デフォルトの名無しさん
22/09/27 07:22:17.35 wINisv8A0.net
霊感商法の被害にあってる人が大勢いるのに、国葬とは、何を考えているのか。

64:デフォルトの名無しさん
22/09/27 12:10:00.10 kUtc7fRq0.net
>>62
あってるよ!

65:デフォルトの名無しさん
22/09/27 15:07:37.96 79bVniqk0.net
>>64
ありがとうございます

66:デフォルトの名無しさん
22/11/05 07:14:14.88 GuTe7K+i0.net
jsoupでいくつかのサイトのHTMLを取得する場合、マルチスレッドにすると順番に読むより早くなりますか?

67:デフォルトの名無しさん (ワッチョイ 3601-Q2FJ)
22/11/05 10:53:07.37 ik3uUvNv0.net
やってみればわかる

68:デフォルトの名無しさん
22/11/05 13:08:14.85 zPyCNtrD0.net
基本早くはなるけど、そういう質問するレベルだとスレッドプールやらその辺の実装方法が分からないとね・・・

69:デフォルトの名無しさん
22/11/23 14:46:39.94 Zy3T79XVa.net
↓知ってる人いたら教えてくだされ
"ABC".replaceAll(".*", "DEF")
ってやると結果が"DEFDEF"ってなる
テキストエディタとかだと単純にDEFに変換されるだけなんだけど
javaだと正規表現の".*"が""(ブランク)と"DEF"の2回マッチしてるみたいなんだ
これってjavaだと当たり前の動作なのかな?
ちなみに、
"".replaceAll(".*", "DEF")
ってやると"DEF"になることから
最初のやつは"ブランク"部分と文字列部分の2回ヒットしているんじゃないかと推測してる

70:デフォルトの名無しさん
22/11/23 17:25:46.90 gB3NJ+gJ0.net
ほんとだ、変な動作

71:デフォルトの名無しさん
22/11/23 17:29:48.55 gB3NJ+gJ0.net
サクラエディタの正規表現も同じ動作だったわ

72:デフォルトの名無しさん (ワッチョイ 4ead-+H9L)
22/11/23 17:42:26.87 gB3NJ+gJ0.net
"AAA".replaceAll("(.*)", "($1)")
これが
(AAA)()
こうなった

末尾の空文字列とマッチしてるっぽい

73:デフォルトの名無しさん (テテンテンテン MM8e-U8jK)
22/11/23 18:04:13.61 VU/69mxiM.net
変な動作だけど多分それで正しい
任意の一文字とそれの0回以上の繰り返し -> ABC にマッチ
.* で0文字にもマッチ -> 末尾のnullにマッチ
で2回マッチするっぽい
PCREとかJavaScriptとかも同様の動作をするよ
正直、".*$" でも2回マッチするのは納得できないけどw

for (String regex: new String[]{".*", "^.*", ".*$"}) {
var matcher = Pattern.compile(regex).matcher("ABC");
System.out.println(matcher);
matcher.results().forEach(mr -> System.out.println(mr.group()));
}

74:デフォルトの名無しさん (テテンテンテン MM8e-U8jK)
22/11/23 18:12:48.94 VU/69mxiM.net
ごめん、>>73の"null"って書いたのは空文字のことね
"\0" ではないので念のため

75:デフォルトの名無しさん
22/11/23 18:24:28.91 VU/69mxiM.net
なんどもすまん
落ち着いて考えたら ".*" と ".*$" で動作が変わったらおかしいね
".*$" での動作が納得できないは取り消します

76:デフォルトの名無しさん
22/11/24 00:25:23.38 +F4Yf35ia.net
試してくれてありがとう
何か指定のしかたが悪いのかと思ってあがいてみたけどやっぱりダメだった
そういう仕様なんだと思うことにします

77:デフォルトの名無しさん
22/11/24 08:33:33.80 FTZ0YYIj0.net
Ruby でも、2回マッチする
puts 'abc'.gsub( /.*/, 'def' )
出力
defdef

78:デフォルトの名無しさん
22/11/27 09:21:39.60 t+XNeMLd0.net
久々にスレ見たらこんな頭の悪い問答を何時間も続ける低次元っぷりに絶望するゴミスレ

79:デフォルトの名無しさん
22/12/15 22:19:40.44 vw4fefRqM.net
JFrameのボダンを押下して表示したダイアログボックスから画像を選択し、その選択した画像上でマウスをクリックしながらドラッグした範囲に四角形を描画したいとおもっているのですが、四角形が描画されません。
何かおかしいでしょうか?
URLリンク(pastebin.com)

80:デフォルトの名無しさん
22/12/16 00:30:45.72 gNEBwfST0.net
お前の頭

81:デフォルトの名無しさん
22/12/17 00:34:13.50 toQsXtnK0.net
俺の顔

82:デフォルトの名無しさん
22/12/21 18:21:53.74 RdDYZJi/0.net
『良いコード/悪いコードで学ぶ設計入門』という本がJavaを使って、
オブジェクト指向プログラミングの説明をしているのですが、非常に
わかりやすくて勉強になっています。
このような本は他にないでしょうか?

83:デフォルトの名無しさん
22/12/21 18:58:11.74 ye8WaQKn0.net
本じゃないけど、boostのソースはためになるな。

84:デフォルトの名無しさん
22/12/21 19:52:26.30 RdDYZJi/0.net
>>83
ありがとうございます。
ソースコードはハードルが高いです。

85:デフォルトの名無しさん
22/12/22 10:24:08.92 tmbBFS3W0.net
class A {
■■int m1() {
■■■■return 100;
■■}
■■int m2() {
■■■■return 200;
■■}
}
class B extends A {
@Override
■■int m1() {
■■■■return super.m1() + 20;
■■}
■■int m2() {
■■■■return super.m2() + 10;
■■}
}

86:デフォルトの名無しさん
22/12/22 10:26:05.26 tmbBFS3W0.net
class A {
■■int m1() {
■■■■return 100;
■■}
■■int m2() {
■■■■return m1();
■■}
}
class B extends A {
@Override
■■int m1() {
■■■■return super.m1() + 20;
■■}
■■int m2() {
■■■■return super.m2() + 10;
■■}
}

87:デフォルトの名無しさん
22/12/22 10:34:49.73 tmbBFS3W0.net
>>86
訂正します:
class A {
■■int m1() {
■■■■return 100;
■■}
■■int m2() {
■■■■return 2 * m1();
■■}
}
class B extends A {
@Override
■■int m1() {
■■■■return super.m1() + 20;
■■}
■■int m2() {
■■■■return super.m2() + 10;
■■}
}

88:デフォルトの名無しさん
22/12/22 10:35:00.31 tmbBFS3W0.net
>>85
のように親クラス A を変更した場合、クラス B の m2 メソッドを実行すると、
250 がリターンされると本に書いてあります。
A の変更前は、 210 が返されていたので、リターンされる値が変わってしまったことになります。
A の変更後、このあたりの仕組み、ルールがよく分かりません。
B の m2() を実行すると、 A の m2() のリターン結果に 10 足した値がリターンされる。
A の m2() が実行されると、 B の m1() のリターン結果を2倍した値がリターンされる。
ようですが、どういうルールに従っている結果でしょうか?

89:デフォルトの名無しさん
22/12/22 10:36:14.86 tmbBFS3W0.net
訂正します:
>>87
のように親クラス A を変更した場合、クラス B の m2 メソッドを実行すると、
250 がリターンされると本に書いてあります。
A の変更前は、 210 が返されていたので、リターンされる値が変わってしまったことになります。
A の変更後、このあたりの仕組み、ルールがよく分かりません。
B の m2() を実行すると、 A の m2() のリターン結果に 10 足した値がリターンされる。
A の m2() が実行されると、 B の m1() のリターン結果を2倍した値がリターンされる。
ようですが、どういうルールに従っている結果でしょうか?

90:デフォルトの名無しさん
22/12/22 12:07:43.69 syRoAR41M.net
各メソッドを
int m1() { // class A
System.out.println("A.m1()");
return 100;
}
の様にして、実行してみれば一目瞭然
System.out.println(new A().m2());
->
A.m2()
A.m1()
200
System.out.println(new B().m2());
->
B.m2()
A.m2()
B.m1()
A.m1()
250

91:デフォルトの名無しさん
22/12/22 12:25:33.69 syRoAR41M.net
まあ少し分かりにくいんだけど、
クラスBのインスタンスを生成してメソッドB.m2()からクラスAのメソッドA.m2()が"super.method名()"で呼ばれたとして、
その時、クラスAのメソッド(A.m2())中でもthisはやっぱり、当然に、クラスBのインスタンスのままなんですよ(勝手にインスタンスが生まれ変わったりはしない)
で、クラスBのインスタンスに対してm1()呼び出しをするので、B.m1()が呼ばれます
先ほどの様に、各メソッドに
System.out.println(this.getClass().getName());
でも追加してみればわかるかと

92:デフォルトの名無しさん
22/12/23 18:47:10.59 TsC3S0cB0.net
>90
0点の回答。馬鹿。二度と書き込まないように。
>91
30点の回答。アホ。二度と書き込まないように。

93:デフォルトの名無しさん
22/12/23 18:51:33.36 o+ONuUnd0.net
>>92が100点の回答しろよw
無能なんだろうけどw

94:デフォルトの名無しさん
22/12/25 21:24:32.33 fbG5Klx70.net
>>92にはこれは無理だな

95:デフォルトの名無しさん
22/12/25 21:35:06.90 xTMUZmUe0.net
100点の回答教えて欲しいならもっとへりくだらないと
煽って回答引き出そうとか幼稚園児か?アホ

96:デフォルトの名無しさん
22/12/25 23:40:35.90 8AzSKsIAa.net
>>87
B.m2() を呼ぶと、super で、A.m2()が呼ばれる
この時、this が、B インスタンスから、
その中のA インスタンス部分を指すように変わる
だから、A.m2()を呼ぶと、
B.m1()ではなく、A.m1()が呼ばれる

97:デフォルトの名無しさん
22/12/26 00:11:57.51 bZAU6rX30.net
0点。逝ってよし!

98:デフォルトの名無しさん
22/12/26 00:52:55.31 bZAU6rX30.net
0点どころかおもっくそ嘘教えてるしw
マイナス1億点
アホバカ

99:デフォルトの名無しさん
22/12/26 08:09:56.37 aUjbdkr90.net
そういえば某大手SIerのコーディング規約で「親クラスのメソッドを呼ぶときはsuperを明示すること」ってあったなあ
メソッド定義が自クラスでは親クラスに書かれていることが分かりやすくなるとかなんとか
案の定、子クラスでメソッドをオーバーライドしても呼ばれないというトラブルが続発した
本当に親クラスのメソッド呼び出しに固定したいとき以外は super 書かないほうがいいね

100:デフォルトの名無しさん
22/12/26 11:12:13.07 bU1T9eUn0.net
そもそも親クラスのメソッドを使いたいのにオーバーライドするって
設計がおかしいのでは・・・

101:デフォルトの名無しさん
22/12/26 13:59:53.17 aUjbdkr90.net
>>100
親クラスのメソッドを使いたいわけではない
開発初期に子クラスでオーバーライドしない場合は super を付けろという規約だった
当然、後から子クラスでオーバーライドしなければならないような変更が発生することもある
そうなったときに、super を明示するという規約が仇になったという話

102:デフォルトの名無しさん
22/12/30 16:12:33.88 ykNPeaas0.net
>>98 荒すな

103:デフォルトの名無しさん
22/12/31 04:30:32.97 4GRHpUZV0.net
インスタンスの意味もわからんようなのが回答側に回っちゃいかんな

104:デフォルトの名無しさん
22/12/31 15:56:15.97 S9Nh4wgt0.net
列挙型で整数を宣言したんだけどエラーになる。
コード
public enum Sample {
A(10), B(20);
}
エラーメッセージ
Sample.java:2: エラー: 列挙 Sampleのコンストラクタ Sampleは指定された型に適用できません。
A(10), B(20);
^
期待値: 引数がありません
検出値: int
理由: 実引数リストと仮引数リストの長さが異なります
Sample.java:2: エラー: 列挙 Sampleのコンストラクタ Sampleは指定された型に適用できません。
A(10), B(20);
^
期待値: 引数がありません
検出値: int
理由: 実引数リストと仮引数リストの長さが異なります
エラー2個
直し方教えてください

105:デフォルトの名無しさん
22/12/31 16:41:17.52 ThgnqEFxr.net
まず java enum でググります

106:デフォルトの名無しさん
22/12/31 21:06:42.50 XIUc7tAE0.net
ここはKotlinの質問はダメなの?

107:デフォルトの名無しさん
22/12/31 21:23:42.19 G/ER4sv/0.net
Kotlinスレあるし基本はそっちでしょ
JVMやバイトコード関連質問とかだと微妙だけど、
それもKotlin使ってる場合の質問なら基本Kotlinスレじゃね?

108:デフォルトの名無しさん
22/12/31 21:31:08.90 XIUc7tAE0.net
>>107
わかりました
ありがとう

109:デフォルトの名無しさん
23/01/01 01:15:54.77 k0DSm/Wv0.net
>>104
それコンストラクタが書いてないじゃん。
入門書をもっとよく読むかネットで java enum とかで検索して調べた方が良い。

110:デフォルトの名無しさん
23/01/01 13:35:25.48 RCDNye7r0.net
public enum Sample {
A(10), B(20);
Sample(int n) {
}
}
これでおk

111:デフォルトの名無しさん
23/01/02 13:21:36.86 l4/Jezsd0.net
>>107
kotlinスレ完走しても立たない😭

112:デフォルトの名無しさん
23/01/02 13:55:45.23 8T2JCaCm0.net
>>111
立てたよ

113:デフォルトの名無しさん
23/01/20 00:55:10.53 ZdjsiCX8M.net
勉強を開始して3週間、優しいJavaを1周もしてないです
章末の練習問題を初見で解ける章と、初めてみるパターンで
解けない章があります
読めば理解はできるのですが、センスが無い?それとも勉強を進めて引き出しを増やしていくもの?
同じ時間で解けたという友人もいて、少し悩んでいます

114:デフォルトの名無しさん
23/01/20 02:37:54.38 8hijXP6L0.net
がんば!

115:デフォルトの名無しさん
23/01/20 15:38:06.11 ZdjsiCX8M.net
>>114
有難うございます!
取り敢えず継続していきます、、

116:デフォルトの名無しさん
23/01/24 20:20:26.58 rGIG2HhYd.net
onMessageの中でDBコネクトして最後にクローズしてるソース見て、なんでonOpenでDBコネクトしてonCloseしないんだろうと思ったんですけど
onMessageで毎回DBコネクトするのが一般的なんでしょうか?

117:デフォルトの名無しさん
23/01/25 01:08:43.52 pnC8XgZK0.net
そうですね
必要な場面で接続して用が済んだらすぐに閉じるのが良い設計だと思います
パフォーマンスが気になりますか?
いまはコネクションプーリングという技術があって論理的にクローズしても下位レイヤーでは接続を維持するような仕組みがあります
パフォーマンスのためにデータベース接続を開きっぱなしにするのは設計が古いです

118:デフォルトの名無しさん
23/01/25 05:23:54.54 b0dkH4ICd.net
なるほど
c言語ばっかりやっててJAVAはど素人
WEBは全くわからないので
考え方が古かったんですね
コネクションプーリングの勉強からはじめます

119:デフォルトの名無しさん
23/02/07 20:18:51.62 +C6/44ZiM.net
JPanel p = new JPanel() {
BufferedImage img;
try {
img = ImageIO.read(new File("...."));
} catch (IOException e) {}
void testA() {}
void testB() {}
};
な感じのインナークラスの書き方で、どのようにimgをtry catch書いたらいいでしょうか?

120:デフォルトの名無しさん
23/02/07 23:28:27.93 CqENBtXk0.net
catch節になにをコードしたらいいかわからないということ?

121:デフォルトの名無しさん
23/02/08 04:27:27.92 43XrJi8HM.net
>>120
try catchを書く前はシンタックスエラーは表示されていなかったのですが、
try catchを書いた後に下記のエラーが出ます、
Buffered imgの行に
Multiple markers at this line
- Syntax error, insert ";" to complete
LocalVariableDeclarationStatement
- Syntax error, insert "}" to complete ClassBody
や voidの行に
Multiple markers at this line
- Syntax error on token "void", record
expected
- Syntax error, insert "}" to complete
RecordBody
- overrides javax.swing.JComponent.
paintComponent
そのため、インナークラスでのtry catchの書き方が分かればいいなと思っております。

122:デフォルトの名無しさん
23/02/08 08:01:16.78 SBxrkX9O0.net
>>121
コンストラクタの中にtestAとtestBが入っちゃってる
void testA の前の空白行に } を入れろ

123:デフォルトの名無しさん
23/02/08 20:07:35.47 s9e4VQn50.net
>>119
素直にJPanelの継承クラスを書くのがいいんじゃないかと

124:デフォルトの名無しさん
23/02/08 21:12:26.74 CuuJsoDPM.net
>>122
void testA の前の空白行に }を入れたのですが、下記のエラーが表示されました。orz
Multiple markers at this line
- Syntax error, insert "}" to complete ClassBody
- Syntax error, insert ";" to complete
LocalVariableDeclarationStatement
>>123
おっしゃる通り、素直にJPanelの継承クラスを書いたほうがよさそうです。
ただ、初めて見る書き方だったので、勉強のためにもう少し調べてみようと思います。

125:デフォルトの名無しさん
23/02/08 22:10:29.63 SBxrkX9O0.net
インスタンス・イニシャライザを使え
JPanel = new JPanel() {
  BufferedImage img = null;
  {
    try {
      img = ImageIO.read(new File("...."));
    } catch(IOException e) {}
  }
  void testA() {}
  void testB() {}
};

126:デフォルトの名無しさん
23/02/08 22:47:27.38 CuuJsoDPM.net
>>125
ありがとうございます!
インスタンス・イニシャライザは初めて知りました。
これからも少しづつ構文の勉強をします!

127:デフォルトの名無しさん
23/02/25 00:01:57.10 A4bRpZ0eM.net
a = new byte[num];
a[0] = (byte) 0x0A;
のように値を代入したい。
String b = "0A";
が与えられているとき、どうすればバイトとして変数aに与えられた値を入れれますか?
a[0] = (byte) ("0x" + b);

128:デフォルトの名無しさん
23/02/25 00:12:07.69 +Qy/IqxpM.net
Byte.parseByte("0A", 16);

129:デフォルトの名無しさん
23/02/25 04:19:37.99 A4bRpZ0eM.net
>>128
ありがとうございます。

130:デフォルトの名無しさん
23/02/26 00:02:46.88 F7MFR7BvM.net
フォルダの中にある各ファイルを対象とした処理を書きたいのですが、
File[] inputFiles = stream.toArray(File[]::new);
の行で
Exception in thread "main" java.lang.IllegalStateException: stream has already been operated upon or closed
がでます。
try (Stream<Path> stream = Files.list(Paths.get(path))) {
stream.filter(Files::isRegularFile);
File[] inputFiles = stream.toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}
} catch (IOException e) { e.printStackTrace(); }
が試そうとしているコードになりますが、stream以外を使用するべきでしょうか?

131:デフォルトの名無しさん
23/02/26 02:18:47.80 B5iNMzdY0.net
filterとtoArrayを;で分けてるのが良くない、つなげるんだよ、つなげればきっとうまくいく

132:デフォルトの名無しさん
23/02/26 02:49:11.03 F7MFR7BvM.net
>>131
ありがとうございます。
try (Stream<Path> stream = Files.list(Paths.get(path))) {
File[] inputFiles = stream.filter(Files::isRegularFile).toArray(File[]::new);
Iterator<File> i = Arrays.asList(inputFiles).iterator();
while (i.hasNext()) {}}
のように、つなげて?書いてみたのですが
Exception in thread "main" java.lang.ArrayStoreException: arraycopy: element type mismatch: can not cast one of the elements of java.lang.Object[] to the type of the destination array, java.io.File
とエラーが表示されるので、もう少し調べてみます。

133:デフォルトの名無しさん
23/02/26 08:40:51.36 B5iNMzdY0.net
Pathのシーケンスを配列にするなら型をPath[]にしないと
Fileにしたいなら.map(Path::toFile)を入れるといい

134:デフォルトの名無しさん
23/02/26 10:37:04.47 ZT8LdB8LM.net
>>133
ありがとうございます!
助かりました!

135:デフォルトの名無しさん
23/03/02 20:14:38.83 WGG9oXzEM.net
funBで例外が発生した場合、funcAの処理をReturnしたいんですけど、
基本的にどのようにコードしたほうがいいのでしょうか?
フラグを用意して、funcBで例外発生したらフラグをTrueにするんでしょうか?
public void funcA() {
String tmp = funcB();
if (funcB()で例外発生した) {return;}
}
public String funcB() {
try {} catch(Exception e) { e.printStackTrace();}
}

136:デフォルトの名無しさん
23/03/02 21:01:50.80 EnYbv0EK0.net
これで良い、例外が投げられたら処理は中断される
public void funcA() {
 String tmp = funcB();
}
public String funcB() {
}

137:デフォルトの名無しさん
23/03/02 21:09:49.91 WGG9oXzEM.net
なるほど。ありがとうございます。

138:デフォルトの名無しさん
23/03/02 22:10:06.50 UfHr+gSfM.net
funcBで今catchしてるってことは多分checked例外でしょ?
そうならchecked例外がSomeExceptionとして
public void funcA() {
try {
String tmp = funcB();
} catch(SomeException e) {
e.printStackTrace(); // なんらかのエラー処理
return;
}
}
public String funcB() throws SomeExecption {
SomeExceptionが生じる処理
}

139:デフォルトの名無しさん
23/03/04 12:32:32.24 NjX9qwnLd.net
ヒープメモリとかスレッド周りの知識が入門書ではほとんど得られなかったのですが詳しく実践していける粒度で解説してるテキストとかあれば教えてください

140:デフォルトの名無しさん
23/03/05 15:41:57.97 sC2xzslQ0.net
ググれゴミ

141:デフォルトの名無しさん
23/03/05 19:20:07.73 UkqT4NrZd.net
こういうレスする奴って自分も知らないけど取り敢えず何か言っておきたいだけのゴミなんだろうね

142:デフォルトの名無しさん
23/03/06 06:43:35.28 LPEPSrRV0.net
ググれゴミカス

143:デフォルトの名無しさん
23/03/06 18:22:07.44 93HR+LQR0.net
ChatGPTに質問してみたら?
「ヒープメモリとかスレッドについて教えて」
ってやったら、教えてくれるよ。
しれっと嘘つくこともあるから裏取りはちゃんとやってな。

144:デフォルトの名無しさん
23/03/06 18:41:42.16 LPEPSrRV0.net
バカってネットで情報収集して自分でまとめられねーんだよな
だから本とかぼったくり教材みたいなのに進んで金出したがる
対価を出せばまとまった情報が楽に手に入るから
ゴミの典型よ

145:デフォルトの名無しさん
23/03/06 19:35:55.15 pp7AgNa7d.net
>対価を出せばまとまった情報が楽に手に入る
必要な情報が手っ取り早く入手できるなら十分でしょ

146:デフォルトの名無しさん
23/03/06 19:39:01.29 pp7AgNa7d.net
日常生活のストレスを発散するようにしょうもない暴言をレスする奴はゴミの典型ではないのかな?

147:デフォルトの名無しさん
23/03/06 19:58:53.58 LPEPSrRV0.net
今の時代本はネットでも拾えないような局所的な知識を得る時だけに見るもんで
お前みたいなバカはそこらへんに腐るほどある情報にすら対価払っちゃうただのカモネギなんだよな
こういうバカムーブしかできないのがゴミの典型

148:デフォルトの名無しさん
23/03/07 03:48:09.67 XpfdbiSa0.net
言ってることが薄っぺらい

149:デフォルトの名無しさん
23/03/08 00:25:08.87 of6tmN7o0.net
バカがマウント取りたがってて草
こんだけ色んな情報があるのに初心者にそれを精査なんてできる訳ない
実績があって評判のいい教材に金を払うのは当たり前だろ

150:デフォルトの名無しさん
23/03/08 00:48:56.89 OaTx32y+0.net
とっかかりのインピーダンスミスマッチというか、知識0から1への段階への壁を打開する為に教材に投資するのは全然アリだわ。
世の中の天才達だって、初等教育は誰かから受けてるし、20歳超えても大学・大学院までお世話になってる。
許容範囲の予算で優良な教師得られるなら得るべき。

151:デフォルトの名無しさん
23/03/08 05:06:01.96 htQurChY0.net
ゴミの自覚はあったんだなw
顔真っ赤にさせちゃってごめんなゴミw
思考能力0のチンパンカモネギバカだもんなw

152:デフォルトの名無しさん
23/03/08 05:58:44.64 htQurChY0.net
ネットでググって理解できない程のバカって自分が知りたいことは
ピンポイントで全部書籍になってると思ってるのもバカすぎて怖いんだよな
バカのバカすぎる質問に対して2、3レスついた回答見て普通は察するもんなんだけど
ほんと教科書みたいになんでも答えがあると思ってる低能学生バカって感じだなw

153:デフォルトの名無しさん
23/03/08 07:00:53.43 HPq2Ar8zd.net
ネットでググって完全に理解した気になってる痛い中高生っていつの時代にもいるよな

154:デフォルトの名無しさん
23/03/08 07:07:57.67 htQurChY0.net
バカ学生のくせに朝はちゃんと起きれるのかw
バカだからメモリの見方もスレッドの仕組みもわからんから一生懸命馬鹿でもわかる本探してんだもんなw

155:デフォルトの名無しさん
23/03/08 09:52:53.13 HTrh2fTq0.net
spring frameworkって他の言語でいうとrailsとかlaravelみたいなものでしょ?
なのになんで難しく感じるんだろ

156:デフォルトの名無しさん
23/03/08 10:26:00.14 dHMh5Dpe0.net
>>152
たぶんお前は何もわかってないバカ

157:デフォルトの名無しさん
23/03/08 10:26:55.37 dHMh5Dpe0.net
基礎を身につけるのは本が一番

158:デフォルトの名無しさん
23/03/08 12:05:17.96 htQurChY0.net
昨日から一生懸命携帯とPCで書き込んで忙しい低能バカ学生だなw
本が一番といいながらこんだけバカなんだからお前が本読む意味なんて微塵もねーわなw

159:デフォルトの名無しさん
23/03/08 12:44:05.00 MldDZpKGa.net
もうこいつの相手しない方がいいかも
ただのレス乞食だろこれ

160:デフォルトの名無しさん
23/03/08 12:51:56.74 htQurChY0.net
まぁメモリもスレッドも網羅してるJava書籍があると思ってるバカ学生じゃ相手になるわけねーわなw
基本のキの字すら理解してないのに本読んで基本理解するとか書いてるホンモノのバカなんだからw
逃亡宣言なんかいちいちせんでええからとっとと消えろゴミ

161:デフォルトの名無しさん
23/03/08 16:39:37.90 dHMh5Dpe0.net
知らないだけでしょ
知らないことを偉そうに言うなよ

162:デフォルトの名無しさん
23/03/08 18:33:19.07 htQurChY0.net
意味不明w
ほんとバカって何言ってるかわからんなw

163:デフォルトの名無しさん
23/03/08 18:50:09.87 htQurChY0.net
バカ「絶対に100億兆円稼げるアプリの実装方法が書かれた本を教えてください!!!」
賢者「は?ねーよバカw」
バカ「知らないことを偉そうに言うな!!!」

THE 糞バカ

164:デフォルトの名無しさん
23/03/08 19:09:52.57 qUbsss6Za.net
取り敢えず上から目線のゴミ野郎はNGに入れといたわ
非建設的な持論を並べ立てるだけのバカほど見苦しいものはない
まあ現実が上手くいってないんだろうねこの人

165:デフォルトの名無しさん (ワッチョイ 8b10-Qpn1)
23/03/08 19:18:22.73 htQurChY0.net
バカにとってはぼくちんの気に食わないレスは全部非建設的だもんなw
逃亡にしろNGにしろいちいち宣言しなくていいからとっとと消えろってゴミwww

166:デフォルトの名無しさん (ワッチョイ 118f-xZlB)
23/03/08 19:34:14.31 dHMh5Dpe0.net
バカだから何言われてるのかわからないだけでしょ
わからないことを偉そうに言うなよ

167:デフォルトの名無しさん
23/03/08 19:47:08.68 htQurChY0.net
糞バカチンパンは放置で次の質問者ドゾー

168:デフォルトの名無しさん
23/03/19 10:11:53.31 83t6ehf+0.net
まあ雑談なんだけど、独学でjavasilverはとって今オンラインスクールで勉強してるのね(独学でwebアプリ作ろうとかしだすとすごく効悪いと思ったから)、まだそんなレベルなんだけど、JAVAってオブジェクト指向が難しいっていうけど、何をやりだしたら難しいのかな。
他の言語知らないから比べられんのやけど。

169:デフォルトの名無しさん
23/03/19 10:23:11.66 83t6ehf+0.net
独学でjavasilverまではとって、まだそのレベルなんだけど、JAVAで難しいって言われるオブジェクト指向って、どうゆうとこだと思います?
クラス型の変数をつくってそこにオブジェクトをつっこむってところがいまいち納得いかないけど、そうゆうとこかな。
頭の中で理論立ててくいのが大変。わかる人はもう慣れで考える必要もなく、読んだり組んだりするのかな。
クラス型の変数にnewしたやつを代入して、その変数がメソッドの引数に使われてると、つどつど内容を追って考えるものですか?

170:デフォルトの名無しさん
23/03/19 12:40:59.77 fPDrKYk/a.net
ライブラリやモジュール設計するつもりでなければ気にすんな

171:デフォルトの名無しさん (ワッチョイ 1b02-ijvT)
23/03/19 19:00:22.27 3QN5+OXV0.net
Tomcat上で動作しているWebアプリがあるのですが、
テキストボックスを追加するとかの改造したいと思ってます

ただ、フレームワークか何かを使っているようで、
正直、動作がよく分かりません

Eclipseとかで、ソースのここに来たらブレーク、みたいに指定できますが、
似たような感じで、ブラウザのこのボタンが押されたらブレーク、みたいにして
その時にどのソースのどこが動作していたかが分かるようにならないかと
思ってますが、そういうことってできますか
それとも構造を読み解かないと無理でしょうか

172:デフォルトの名無しさん
23/03/19 22:44:13.21 Ug3S7Goj0.net
知識不足
まず画面とトムと業務クラスがどういう連携してるか知るところから理解してないと話にならん
そのレベルだと画面のサブミットの意味も理解してないだろうからHTMLの勉強からだから絶望的知識不足
画面にしてもwebアプリサーバーにサブミットする方法はformだったりスクリプトだったり非同期だったり
テンプレエンジン使ってたりいろいろあるから読むのなんてあたりまえ

173:デフォルトの名無しさん
23/03/20 14:12:07.94 uf3XtkTY0.net
I am Tom.

174:デフォルトの名無しさん
23/03/20 19:10:22.38 paLbfV2Za.net
Java は、Spring Boot, Groovy とか?
基本はRuby on Rails で、それ以外のフレームワークは劣化版
YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンが有名
WSL2, Linux, AWS, Docker, VSCode,
CircleCI, Github Actions
Bootstrap, React, Vue.js, TypeScript
最近、Java のログ機能に重大なセキュリティーホールが見つかって、
Tomcat のサイトからパスワードが盗まれたとか、Edge から通知が来たw

175:デフォルトの名無しさん
23/03/20 23:57:32.55 wXeNvZKM0.net
ゴミのステマやめろゴミ

176:デフォルトの名無しさん
23/03/24 01:16:49.67 YHnwGLAd0.net
とある文字コードのバイト列を他の文字コードの文字列に変換するには
下記みたいに一旦tmpStr、tmpBytesに変換しないと駄目なのかな?
byte[] bytes = {0x00, 0x01, 0x02, 0x03}; // 例えばShift_JISとする
String tmpStr = new String(bytes, "Shift_JIS");
byte[] tmpBytes = tmpStr.getBytes("UTF-8");
String convStr = new String(tmpBytes, "UTF-8");

177:デフォルトの名無しさん
23/03/24 03:15:33.42 6qfM3P2X0.net
>>176
バイト列を new String(bytes, charsetName) で String のインスタンスにしたら内部では char[] に UTF-16 で保持されている。つまり Unicode になっている。
その String のインスタンスから何かのエンコードのバイト列にしたいなら getBytes(charsetName) 等を使う。

178:デフォルトの名無しさん
23/03/24 09:04:18.56 YHnwGLAd0.net
>>177
そうするとこのステップを踏まないと正しくエンコードされた
文字列が出力されないんですね

179:デフォルトの名無しさん
23/03/24 11:22:42.95 miXOHSMu0.net
> byte[] bytes = {0x00, 0x01, 0x02, 0x03}; // 例えばShift_JISとする
Shift_JISでエンコードされたバイト列
> String tmpStr = new String(bytes, "Shift_JIS");
Shift_JISでデコードしてStringを得る
> byte[] tmpBytes = tmpStr.getBytes("UTF-8");
UTF-8でエンコードされたバイト列

> String convStr = new String(tmpBytes, "UTF-8");
UTF-8でデコードしてStringを得る
これらは同じものだよ
・Shift_JISでデコードしたString
・UTF-8でデコードしたString
文字コードはString→バイト列の変換規則であって
String自体にはShift_JISもUTF-8もないよ

180:デフォルトの名無しさん (ワッチョイ ebbb-F0re)
23/03/24 23:15:40.94 YHnwGLAd0.net
>>179
バイト列そのものが文字コードであって
相互に変換するのが文字コードの変換になる感じですか
その相互の変換はStringを介さないと出来ないのでしょうか?

181:デフォルトの名無しさん (ワッチョイ ed8f-JnmT)
23/03/25 00:27:26.96 MJx23FgN0.net
>>180
Shift_JISのバイト列をUTF-8のバイト列に直接変換する機能は標準ライブラリには用意されてない
自作するならShift_JISは8000文字くらいだからトライ木に詰め込んで変換するとかかな
自作しても処理が速くなるとは限らないしStringにデコードするのが正統派スタイルよ
英数字だけならShift_JISもUTF-8も同じバイトだから変換する必要ないけどね

182:デフォルトの名無しさん (ワッチョイ 2e10-3uzD)
23/03/25 00:39:13.30 FZuV1mNq0.net
バカって基本的な原理を全く知ろうとしないで延々と質問するよな
原理を知ってればそれに頼らないでどう処理すればわかるのに
答えだけすぐ見る頭の悪い学生みたいに常に行き当たりばったりの行動しか取れないから永久に進歩しないし嫌われる
逝ってヨシ!!!!!!!!

183:デフォルトの名無しさん (ワッチョイ aebb-3uzD)
23/03/25 00:50:31.32 lDXx58ws0.net
>>181
介するのが標準でマッピングするようなものはなく
そう単純なものではないのですね
ありがとうございます

>>182
失礼しました
ただスレの趣旨には沿ってるかと思うのでご容赦ください

184:デフォルトの名無しさん
23/03/25 11:47:36.33 MJx23FgN0.net
>>182
君なんでそんなに攻撃的なの?
更年期のババアなの?

185:デフォルトの名無しさん
23/03/25 14:21:30.91 qW4hqU/Ea.net
基本的に、CP932(sjis)のようなWindows 専用日本語を知っている外人は、まずいない。
逆に日本人で、CP932以外のCPを知っている香具師がいないのと同じ
例えば、MySQL もいつも日本語のバグを修正しているから使えない。
Ruby では、iconv を非推奨にして、NKF に変わった
CP932を変更しても、各モジュールがその変更に追随しないから使えない。
特に、Ruby, Java の2大バックエンドのウェブ開発では、
OSS を使うから、UTF-8 以外には対応しない
これが基本中の基本

186:デフォルトの名無しさん
23/03/25 14:55:58.15 B9hd5fwCa.net
香具師

187:デフォルトの名無しさん
23/03/25 21:57:39.03 CsLeeAHHM.net
一応枝葉の部分を拾っておくと、java.nio.charset.Charset(やCharsetEncoder)あたりを使えば
Stringを介さずにBuffer(バイト列)のままShift_JIS(あるいはWindows-31J) -> UTF-16 -> UTF-8と変換することは出来る
巨大なデータとかメモリマップファイルとかでもなければStringを介するほうが楽でよいと思うけど(どちらにせよUTF-16経由になるし)
あとおそらくcharsetはShift_JISではなくWindows-31Jを使う方が望ましい結果が得られる可能性が高いかと

188:デフォルトの名無しさん (ワッチョイ 9e9a-qKFK)
23/05/06 10:06:48.61 PEDNurG50.net
某マイクラのJava版の中身を見たりいじったりしたいのですが、
versions/1.19.4/1.19.4.jarというファイルがメインjarに見えるので直接java -jarしたら
Error: Could not find or load main class net.minecraft.client.Main と言われてしまいます

実際マニフェストにはnet.minecraft.client.Mainだと書いてあるのだけど、jarを展開すると
上記クラスファイルはなく、代わりにnet/minecraft/client/main/Main.classというのがある
一方マイクラのlauncherから起動する分には何の問題もない

これってどうなってるんでしょうかね。これは本当のメインjarではないとか?
あるいはマニフェストの設定をランタイムで変更したりとかできるんでしょうか

189:デフォルトの名無しさん (ワッチョイ 9e9a-qKFK)
23/05/06 12:29:28.46 PEDNurG50.net
あ、もしかしてmainのあるクラスをjavaの引数に指定すればいいのかな?

190:デフォルトの名無しさん
23/05/21 21:43:56.13 i6ZyusAx0.net
久々にJava案件に関わる事になりそうなんだが
今ってJava8が主体っていう認識で良い?
Java11やJava17とかも追加で勉強しておいた方が良い?

191:デフォルトの名無しさん
23/05/22 07:22:39.68 F35vhY0Y0.net
>>190
そういうのってその案件次第じゃ?
古いJDKを使って欲しい案件だってあるでしょ
ちなみに今Android Studioをチェックしたら17が入ってるようだ
しかしこのスレは生きているのか

192:デフォルトの名無しさん
23/05/22 21:53:27.15 uAp8CXfg0.net
ワイがみているで

193:デフォルトの名無しさん
23/05/26 09:48:30.11 aEN9HMnl0.net
フロントがJS、バックがSpringMVCという構成ではなく、
バックをWebFluxにして、R2DBCを使えば、単純なDBクエリだけれどリクエスト数は多い
というサービスに効果あるかな。今後も、WebFluxのユーザは増えていくでしょ。
と思ったのですが……
JDK20以降でLoomが完全実装されたら仮想スレッドになって
実質、ノンブロッキングのコードを書いても書かなくても同じになって、
WebFluxやR2DBCの優位性は無くなります?

194:デフォルトの名無しさん
23/05/27 13:16:28.13 VxLOu3/40.net
開発してる当事者じゃないから
答えられない

195:デフォルトの名無しさん (ワッチョイ 8d8f-qVLu)
23/06/03 18:46:06.08 lPLamTYg0.net
ワシのところはJava11だ、Java8の知識があれば十分

196:デフォルトの名無しさん
23/06/03 19:46:58.28 PSMWlwvR0.net
バージョンが違うとそんなに違うの?

197:デフォルトの名無しさん
23/06/03 21:40:19.53 XKXIyQhC0.net
冗長な糞コードしか書けない雑魚は別にバージョンなんて全く気にする必要もないし気にするだけ思考の無駄
8未満と8以降じゃ公文式使えなかったりストリップも使えないからオワコンだけど

198:デフォルトの名無しさん
23/06/03 21:49:16.80 lPLamTYg0.net
イキリすぎだろw

199:デフォルトの名無しさん
23/06/03 22:40:21.70 XKXIyQhC0.net
お前のことやぞ

200:デフォルトの名無しさん (アウアウウー Sa2b-edyX)
23/07/22 10:36:21.82 al5RdX3ea.net
javaってjarを実行するよりclassファイルを実行したほうが速いですか?
なんとなくjarは最初に圧縮の解凍があって遅そうなイメージがあるのですが
そんなことはないですか?

201:デフォルトの名無しさん (ワッチョイ 079c-1AW6)
23/07/22 11:41:27.95 NXQ0T+AH0.net
むしろjarのほうが速いよ

202:デフォルトの名無しさん (アウアウウー Sa2b-edyX)
23/07/22 11:44:46.01 al5RdX3ea.net
そうなんですね!

203:デフォルトの名無しさん (アウアウウー Sa2b-vDZl)
23/07/27 13:53:23.14 gIycSMlBa.net
>>200
圧縮されていた方が(コンピュータからしたら)とても遅いディスク等からメモリへの読み込みが少なくて済むので速くなる。圧縮状態から元に戻すのはメモリ上でやるのであまり時間が掛からない。
もちろんこの逆の状態とか、圧縮状態から元に戻すのに物凄く時間が掛かるCPUだったりそのような圧縮だったりすればこの限りではない。
でもそんな環境は今は珍しいと思うよ。組み込み関係のマイコンとかならあるかも知れない。(ラズパイみたいなお前普通のPCだろとツッコミを入れたくなるようなやつは除く)

204:デフォルトの名無しさん (ワッチョイ df02-Mdmh)
23/07/27 19:59:15.65 FKk2H2CJ0.net
その速度差を気にするのだったら
そもそもJavaで書かないほうがいいと思う

205:デフォルトの名無しさん (ブーイモ MMb6-A2L1)
23/08/16 14:43:55.58 6XslkswQM.net
Javaって今時Union型も無いんですか
どうして?

206:デフォルトの名無しさん (ワッチョイ 7f59-eK1Q)
23/08/16 15:15:54.79 Ki7QD3KZ0.net
全部あったらプログラミング言語としての違いがなくなってしまいますね。

207:デフォルトの名無しさん (ワッチョイ 978f-Rb7U)
23/08/16 16:27:44.91 osG/hZP20.net
>>205
Sealed Classじゃダメかい?
URLリンク(qiita.com)

208:デフォルトの名無しさん (ワッチョイ 6301-DXLR)
23/08/16 19:20:53.06 AMR7lasI0.net
>>205
JavaはクラスのインスタンスはGCで管理するので共用体の必要が無いのでは?

209:デフォルトの名無しさん (ワッチョイ 1a02-P1Fn)
23/08/16 19:58:11.06 TYqhyd0v0.net
強力な Object 型ならあるぞ

210:デフォルトの名無しさん (ワッチョイ 4e8e-/Cxw)
23/08/16 22:06:27.36 L6CfCWuQ0.net
>>205
生のメモリとオブジェクトは概念として完全に分離されてるから

211:デフォルトの名無しさん (ワッチョイ 2bbb-QZaR)
23/08/22 00:46:18.91 TPz+mBYc0.net
さまざまな型システムにはメリデメのトレードオフが必ずある
共用体も節度を持って使えば便利だけど濫用すると惨劇を招く
Javaはシンプルさと移植性を重視してデザインされたので、クラス定義や複数の変数で代用可能な共用体は用意されなかった
Cの直系やBetter JavaScriptと違ってそんなに必要になるシーンも多くないのでSealed Classで事足りるだろう
世界中にある莫大なコードベースに対して破壊的変更が少なくなるように配慮せざるを得ない部分もある
シンプルさが大量のプログラマを生んで成功したからこそ長い栄華を誇ったのだし、栄枯盛衰の落ち目を笑うのは浅はか

212:デフォルトの名無しさん (ブーイモ MMb3-HTZh)
23/08/22 07:55:42.93 tV8s6iNuM.net
Javaにも様々な新機能が追加されていってるけど頑なに実装を拒んでるものもあるよな
その筆頭がasync/await
要望が多いのに「代わりにVirtual Thread使ってくれ」とか言ってるからな

Virtual Thread とは使い処が違うんだよ!!

213:デフォルトの名無しさん (ワッチョイ 2501-d0po)
23/08/29 22:09:14.54 HMbn0XNH0.net
質問です。
pleiades 2023 で gradle のプロジェクトをインポートしようとしているのですが
以下エラーが出てビルド出来ません。
------------------------------------------------------------------
FAILURE: Build failed with an exception.
* What went wrong:
org/gradle/api/plugins/MavenPlugin
> org.gradle.api.plugins.MavenPlugin
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at URLリンク(help.gradle.org.)
CONFIGURE FAILED in 1s
----------------------------------------------------------
結構頑張ってググっているのですが原因が分からないのですが、
どなたか助けていただけませんでしょうか。
環境は Mac Ventura, gradle 8.3, Java17 です。

214:0213 (ワッチョイ 2501-d0po)
23/08/29 22:10:24.92 HMbn0XNH0.net
文字数制限で連投になりすみません。
なお build.gradle の内容は以下です。
---------------------------------------------------------------------
plugins {
id 'org.springframework.boot' version '2.3.5.RELEASE'
id 'io.spring.dependency-management' version '1.0.10.RELEASE'
id 'java'
id 'eclipse'
id 'idea'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = 11
compileJava.options.encoding = "UTF-8"
repositories {
mavenCentral()
}
dependencies {
implementation('org.springframework.boot:spring-boot-starter-jdbc')
implementation('org.springframework.boot:spring-boot-starter-thymeleaf')
implementation('org.springframework.boot:spring-boot-starter-validation')
implementation('org.springframework.boot:spring-boot-starter-web')
runtimeOnly('com.h2database:h2')
runtimeOnly('org.springframework.boot:spring-boot-devtools')
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}

215:デフォルトの名無しさん (ワッチョイ 2501-d0po)
23/08/29 23:20:37.15 HMbn0XNH0.net
すみません、自己解決しました。
ビルドに使う Gradle を 7.2 にしたら何故か出来ました。
ググると maven プラグインは 8 から廃止なので maven-publish を使えみたいな記事はあったのですが、
maven-publish と build.gradle の plugins に書いてもダメだったんですよね……。
根本的には解決していないのですが、とりあえずご報告でした。

216:デフォルトの名無しさん (ワッチョイ ff6b-j351)
23/09/24 10:29:14.83 Hs7TDocS0.net
int[] a={1,2,3,4,5};
という入れる変数を作ったんですが、プログラムの途中で
a={5,4,3,1,2};というふうにしたいんですができません。
いちいちa[0]~a[4]全部に代入しないといけないのでしょうか?

217:デフォルトの名無しさん (アウアウウー Sacf-PB4I)
23/09/24 10:37:06.47 2YTVyUlCa.net
ホイっ
URLリンク(www.javadrive.jp)

218:デフォルトの名無しさん (ワッチョイ 3be4-h2iX)
23/09/24 11:28:29.11 1DaYlERU0.net
>>216
a[2]は代入しなくていいよ

219:デフォルトの名無しさん (ワッチョイ bbb1-ZaUB)
23/09/24 15:59:50.86 oTT98hcn0.net
>>217
参照って分かりにくいよな。
ぼーとしてると実体を見失うわ。
Cのポインター配列だとあり得ないけど。

220:デフォルトの名無しさん (ワッチョイ daad-iLfk)
23/10/08 06:01:02.29 c7bH/Jal0.net
>>216
a の参照先を変えてしまっていいなら a = new int[] { 5, 4, 3, 2, 1 }; と書けば良い。それまで a の参照していた先のメモリはgcが自動で解放してくれるので考える必要はない。
a の参照先をそのままにしたいなら一つづつ a[0], a[1], a[3], a[4] に代入するかループ使って代入すれば良い。

221:デフォルトの名無しさん
23/10/15 20:27:00.97 M+5szmup0.net
インプレースコピーで要素の入れ替え、みたいな話じゃないのか

222:デフォルトの名無しさん
23/10/31 02:58:33.18 NWeBFhUv0.net
設定ファイル(setting.config)があり、その中身が
pathA="D:\\Download";
pathS="G:\\Download";
pathC="Z:\\Download";
と各行にあるものを読み込み、各Pathに設定されたディレクトリを指定した変数に代入するプログラムを書こうとしています。
その場合、一般的にはどのように読み込み処理を書かれるのでしょうか?

223:デフォルトの名無しさん
23/10/31 03:05:20.29 obpiiey30.net
>>222
java.util.Properties クラスのインスタンスを作って load() でそのファイルを読んで getProperty("pathA") みたいにして内容を取り出す。

224:デフォルトの名無しさん (ワッチョイ 81ee-iRXk)
23/11/01 01:08:48.05 QIM0oxL50.net
>>223
ありがとうございます。

225:デフォルトの名無しさん (ワッチョイ 81ee-iRXk)
23/11/01 01:08:53.32 QIM0oxL50.net
>>223
ありがとうございます。

226:デフォルトの名無しさん
23/11/10 14:23:27.45 ZmoDO33M0.net
intellij使ってメソッド定義する際に引数にOptionalを指定すると
「Optional<型>がパラメータ'変数名'の型として使用されています」って警告が出るけど
引数にOptional指定するのってよくない書き方なのかな?

227:デフォルトの名無しさん (ワッチョイ ff60-ljUV)
23/11/11 20:17:07.76 XF4CbZuB0.net
背景が黒くならないのは何故でしょうか?
public class ImageViewer extends JPanel implements Runnable {
private static int screenWidth = Toolkit.getDefaultToolkit().getScreenSize().width;
private static int screenHeight = Toolkit.getDefaultToolkit().getScreenSize().height;
private Thread thread;
public ImageViewer() {
thread = new Thread(this);
thread.start();
}
@Override
public void run() {
while (true) {
repaint();
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.setBackground(Color.BLACK);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
JFrame frame = new JFrame();
frame.getContentPane().add(new ImageViewer());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBounds(0, 0, screenWidth / 2, screenHeight / 2);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}});}}

228:デフォルトの名無しさん (ワッチョイ 1f90-nPbH)
23/11/11 20:57:37.57 D1g3ncRT0.net
>>227
paintComponentの中で塗りつぶししてないからじゃない?
今スマホだからメソッド名が分からないけど
fillXXとかいう名前のメソッドがGraphicクラスになかった?

229:デフォルトの名無しさん (ワッチョイ ff60-ljUV)
23/11/11 21:40:55.85 XF4CbZuB0.net
>>228
ありがとうございます。
g2.clearRect(0, 0, getWidth(), getHeight());
を追記したらできました。

230:デフォルトの名無しさん
23/11/11 22:53:11.36 XF4CbZuB0.net
ちなみに、エクスプローラーの左側にフォルダ構成が表示できる「ナビゲーションウインドウ」はどのような方法で実装されいますでしょうか?

231:デフォルトの名無しさん
23/11/15 23:56:40.14 8ll9Bxfa0.net
>>226
基本的にOptionalは戻り値として使うために作られたもので、引数として使うことを想定してない
一般的にも引数には使わないことが推奨されている(いろいろ議論はあるけど)
「引数がnullの時にデフォルト値を与える」みたいな使い方をしたくなるけど、それやると呼び出す側にOptionalで包むことを強制することになるので、かえって煩雑になったりするんだよね

232:デフォルトの名無しさん
23/11/19 01:53:31.27 qZa+eOkQ0.net
URLリンク(pastebin.com)
左側に表示されるフォルダをクリックすると、右側にそのクリックされたフォルダの中身を表示したいのですが、どうすればいいのでしょうか?

233:デフォルトの名無しさん
23/11/22 18:05:20.44 OkHSaxJz0.net
>>232
クリックを感知するリスナー作って
表示するようにするだけ

234:デフォルトの名無しさん
23/11/22 19:43:34.58 kYVkXFrV0.net
非プログラム民です Javaの一番初歩的なスレがここっぽいので失礼します
Win11にJavaってあんまり要らないんでしょうか?
8年ぶりぐらいに新調したんですがそういや入れてないけど何も要求されてないなと気付きました
PCの使用用途としてはネットサーフィンやゲーム程度 Office(Excel)はLibre使ってて今のところマイクラもやってない…
プログラムなどPCの根っこ部分を弄るような人以外はもう特に入れる必要がない時代なんでしょうか?
ちょっとふわっとした質問ですが教えていただけると助かります

235:デフォルトの名無しさん (スップ Sd22-vj+6)
23/11/22 20:40:30.76 XdkKjHJEd.net
>>234
Javaのデスクトップアプリというジャンルがほぼ死に体なのでPCにJavaを入れる機会は大幅に減った
下手に入れて放置とかしてるとセキュリティホールになりかねないので必要になるまで入れない方がいいよ

236:デフォルトの名無しさん (ワッチョイ 0dba-6HfB)
23/11/23 00:21:28.78 WhR9OG610.net
そうなのか それじゃあしばらくお別れになりそうだな
回答ありがとうございます

237:デフォルトの名無しさん (ワッチョイ 91de-iedC)
23/11/23 07:07:52.59 feYNNbaU0.net
Oracle公式のJava Runtime Environment自体が廃止されたし
Javaは開発者が使うもの、ユーザーはアプリにバンドルされたJavaを使うことになったから
ユーザーがJavaをインストールする必要はなくなった

238:デフォルトの名無しさん
23/11/24 22:53:30.32 fPE4U9Nj0.net
インベーダーゲームを作成していて、敵の左右移動についての質問になります。
敵の最初配置は以下のようになっており、最初は右方向に移動します。
■■■■
■■■■ →
■■■■
右端へ行く途中に、いくつか敵が倒された後(倒された敵は□で非表示)
□■■□
□□■□
□□□■
一番端で生き残っている者(※ここでは一番下の右側の敵)が右端に着くと、全体が移動方向を反転したいと思います。
どのように実装されているでしょうか?
現在は以下の通りに敵を作り、それぞれに移動方向をセットしています。
Alien[][] aliens;
for (int i = 0; i < col; i++) {
for (int j = 0; j < row; j++) {
aliens[j][i] = new Alien(x, y, this);
aliens[j][i].setDirection(RIGHT);//右に移動する
}}

239:デフォルトの名無しさん
23/11/25 08:06:59.65 vlVh3gWj0.net
Alienのコンストラクタにthisを渡さないほうがいいよ
thisを渡してるってことはAlienクラスが外側のクラスを参照してるってこと
このような相互参照する設計は結合が密になって後々不都合が出ることが多い
Alienインスタンスそれぞれが x, y 座標を持ってるんだからaliensを二次元(画面座標)にする必要はない

240:デフォルトの名無しさん
23/11/25 08:51:19.25 DleP5wfq0.net
ScopedValueの説明記事読んでたら思ったんだけど
あれって同じ変数名なのに違う型になってるよね?
Object x=;
ScopedValue.where(x,,);
これが対象スコープ内では
ScopedValue x;
として呼び出せてしまってる、ということだよね
xが場所によって型が違う
なかなか嫌な構文だね。可読性低下しない?勘違いしそう

241:デフォルトの名無しさん
23/11/25 10:24:44.30 hi6RRccf0.net
>>240
自分も説明読んだだけだけど、whereの第一引数はScopedValueじゃないか?

242:デフォルトの名無しさん
23/11/25 10:44:51.02 DleP5wfq0.net
>>241
そうだった。かんちがいした

243:デフォルトの名無しさん (ワッチョイ c714-6ggm)
23/11/26 08:44:10.15 1Nq25AZ10.net
>>239
ありがとうございます。疎結合やList<Alien>にできるよう見直します。

244:デフォルトの名無しさん
23/12/02 02:11:40.58 TtNr0xet0.net
スペースインベーダーの敵の移動について、一番端にいる敵が画面の端まで移動した場合、方向を反転するという動きを実装しようとしております。
現在、敵が端まで行った際に反転するところまでは実装できたのですが、敵が画面外に少し出た状態で反転します。
画面の端できっちりと反転する方法はありますでしょうか?
URLリンク(pastebin.com)

245:デフォルトの名無しさん
23/12/03 09:59:40.93 iaiv32Fc0.net
あるんじゃない?てか、そんなの少し手前を画面の端とみなすように作れば良いだけでは?

246:デフォルトの名無しさん
23/12/03 11:04:08.98 QTewqrs7a.net
まるちんこ

247:デフォルトの名無しさん (ワッチョイ 6311-DOnR)
23/12/28 09:10:42.32 Z5LVjO8Y0.net
エラーチェックをする関数を作るとき、
エラーがあれば、エラーあるよーんってメッセージをつけた例外を呼び出し元に投げる。
ということをしたいとき。
エラーの詳細はどうでもいいとき、
throw Exception(“エラーあるよーん“)
はだめなの?
わざわざExceptionを継承したクラス作らないとだめなの?

248:デフォルトの名無しさん (ワッチョイ a352-H80b)
23/12/28 09:47:21.79 wPnlX7lS0.net
いいよ

249:デフォルトの名無しさん (ワッチョイ 330a-l39z)
23/12/28 10:06:50.75 Gvv1ir3M0.net
>>247
そのコードを呼び出す側が全ての例外をcatchするもしくは全ての例外をcatchしないという使い方しか絶対にしないのならいいんじゃね

250:デフォルトの名無しさん (ワッチョイ 334d-hEBs)
23/12/28 13:21:50.26 37lmfGGJ0.net
いいよ

251:デフォルトの名無しさん
23/12/28 22:29:56.50 Hk4w0gA/0.net
例外クラスの自作はあまりやらないよな?
既存のヤツでだいたいは間に合う
作るとすれば
エラー情報を盛込みたいとか
しっくりくる名前の例外クラスが無い場合とか
後で拡張を考えてるとか
そんくらいだよな

252:デフォルトの名無しさん
23/12/30 14:57:08.35 AS8gr52a0.net
なんでも質問スレからきました
VScodeでjavaを勉強する初心者です
プログラムが完成したのでjarファイルをビルドしたのですが
jarファイルをクリックしてもコマンドプロンプトで起動しても
デバッグでの動作を全くせずに終了してしまいます
javaを入れなおして再起動などもしてみましたが起動しません
どうすれば動くjarファイルを作成できるのでしょうか
よろしくお願いします

253:デフォルトの名無しさん
23/12/30 15:20:21.10 7sdDSpr80.net
>>252
コマンドから実行したら何かメッセージ出力されるんじゃないかな
それをここに貼り付けてくれ

254:デフォルトの名無しさん
23/12/30 16:07:16.24 AS8gr52a0.net
>>253
* 実行するタスク: java (build): Build Workspace
Building all the Java projects in workspace...
Task complete.
* ターミナルはタスクで再利用されます、閉じるには任意のキーを押してください。

上記のようなメッセージが表示されますが、jarファイルは見当たりません。

255:デフォルトの名無しさん
23/12/30 16:23:47.09 7sdDSpr80.net
jarはbuild/libsの中にあるんじゃないかな
URLリンク(qiita.com)

256:デフォルトの名無しさん
23/12/30 16:31:29.73 AS8gr52a0.net
>>255
リンク先はeclipseではないでしょうか
build/libsという項目は見当たりません

257:デフォルトの名無しさん
23/12/30 16:33:04.77 4WPbBasM0.net
たぶん、jar ファイルにバグがあって、
エラーで終了しているのだろう
プログラムの冒頭で、sleep, wait して止まるか確かめたら?
もし止まらずに終了したら、プログラムの開始前に、エラーで終了している事になる
>>247
Ruby なら、単にraise すると、RuntimeError となる
raise "単なるエラー!"

258:デフォルトの名無しさん (ワッチョイ c6a8-jiov)
24/01/01 21:00:08.56 J0RePgTm0.net
俺の勘違いかもしれんが、>>254はVSCodeのタスクのログじゃないか?
コマンドプロンプトで起動したときのコマンドと出力を貼って欲しい

259:デフォルトの名無しさん
24/02/14 06:19:20.88 O+9rqmaV0.net
Javaのメソッド参照ってそのストリームの各要素がインスタンスかつメソッド参照されてるメソッドがそのインスタンスに属する場合と、System.out::printlnみたいにそうじゃない場合と、Math::sqrtみたいにStaticなメソッドである場合、3種類を察して読み替えないといけないよね?
ラムダ式と比べてメソッド参照の何が読みやすいのか分からんのだけど
そもそも組み込み関数なのかどうか、staticなのかどうかがぱっと見分からない場合不便を感じるのは俺が読解力低すぎるのか?

260:デフォルトの名無しさん (ワッチョイ 5fc6-7FrM)
24/03/09 22:02:26.83 7aPfE9ln0.net
初歩的な質問で申し訳ないのですが
javaで1ピクセルの点を表示する場合どういった方法を用いるのが良いのでしょうか?

261:デフォルトの名無しさん (ワッチョイ 8b56-XE6S)
24/03/09 22:27:07.16 dxjS1XCa0.net
AWT? Swing? SWT? JavaFX?

262:デフォルトの名無しさん
24/03/12 14:25:04.81 Id3VOzym0.net
>>260
試してないけどワイがやるとしたら
java.awt.GraphicsのdrawLineかfillRectでやってみるかな

263:デフォルトの名無しさん (ワッチョイ 0d1e-UCxz)
24/03/13 15:14:09.99 0UOudCjQ0.net
OpenGLで1ピクセルの画像を表示するのがいいと感じます

264:デフォルトの名無しさん (ワッチョイ 7d5f-FESj)
24/03/14 21:42:50.56 WzunCsAD0.net
>>263
それはJavaと関係ない話じゃねえか

265:デフォルトの名無しさん (ワッチョイ 13ad-LMA8)
24/03/18 04:50:36.52 3yuQ5Y+00.net
System.out.println("1ピクセルの点");

266:デフォルトの名無しさん
24/03/26 02:37:50.78 3jXGFcMZ0.net
Java で awt や Swing を使って文字列を描画する時に、枠内に収まるようにするにはどうしますか?
例えば 100 x 200 ピクセルのサイズに合わせて 0 と描画したい場合はどうしたらいいんでしょうか?

267:デフォルトの名無しさん
24/03/26 15:07:48.20 /GG6K1xM0.net
>>266
フォントサイズを測って描画するだけだよ
クラスGraphicsからクラスFontを取得すれば出来る

268:デフォルトの名無しさん
24/03/26 16:54:46.74 O5irlSwX0.net
>>267
計るとは?
フォントサイズはポイントでしか指定できませんよね?

269:デフォルトの名無しさん
24/03/29 11:09:03.74 lQxeICWo0.net
このスレには分る人って誰も居ないのかなあ?

270:デフォルトの名無しさん
24/03/29 12:53:24.99 34B6nZMD0.net
もう回答もらってるじゃん

271:デフォルトの名無しさん
24/03/29 13:00:07.50 lQxeICWo0.net
じゃあ実際に 100x200 ドットの内側に丁度よく文字を描画するのはフォントサイズをいくつに指定すればいい?

272:デフォルトの名無しさん
24/03/29 13:18:38.57 VKKh0L5U0.net
>>271
Windowsなら96dpiだからフォントサイズ(フォントの高さ)200ピクセル(150ポイント)だろ

273:デフォルトの名無しさん
24/03/30 00:39:52.65 T4n6B8fM0.net
GlyphVectorでググるといいよ

274:デフォルトの名無しさん
24/04/02 11:29:02.94 1eoCl02pM.net
>>266
画像を用意して表示する。
HTMLだってクライアントに合わせて大きさ違いの画像を選択しているんだぜ?

275:デフォルトの名無しさん
24/04/02 15:24:03.53 fK4JGkbk0.net
へー

276:デフォルトの名無しさん
24/04/04 00:12:56.44 w/pqVvX/0.net
その場で画像を作るのは、処理がもたついたときにボロが出るからな。

277:デフォルトの名無しさん (ワッチョイ ad90-Zg4j)
24/04/04 06:53:17.68 ZMozL0740.net
予めサイズいっぱいの画像用意して
描画領域に合わせて拡大縮小する、でもよかったな
絵が粗くなる欠点あるけど分かりやすくはある

278:デフォルトの名無しさん (ワッチョイ 85bf-8Jjt)
24/04/04 09:46:18.53 IPbf13/S0.net
HTMLで複数画像用意するのは写真とかでしょ
図形なんかはSVGなどのベクター形式使ったほうがいい
フォントも同様
あらかじめ複数サイズの画像用意するとかアホかよ

279:デフォルトの名無しさん
24/04/04 17:30:30.47 BR6EKXmR0.net
Windowsの場合はこういうことも知ってる必要ありそうだね
Windowsのディスプレイとモニター いまだ96DPIが基準
URLリンク(ascii.jp)

280:デフォルトの名無しさん
24/04/05 01:14:12.30 3ECyzj960.net
>>278
そういうどうでもいい画像ファイルはWebブラウザ側がキャシュとして保持するから問題にならない。

281:デフォルトの名無しさん
24/04/05 01:27:47.68 3ECyzj960.net
>>279
いろんなアプリケーションで解像度が合わずにボケて表示されるから、一般人じゃなければいろんなものが混ざった結果だとは気づいている。
Windows 95の仕様では画面の見た目と、印刷時の見た目が同じになることを売りにして発表したが、640×480ピクセルや800×600ピクセルのモニターでは不可能だった。
1280×1024ピクセルが標準的になったWindows XPでも解像度が低すぎて解決しなかった。

282:デフォルトの名無しさん
24/04/05 01:30:49.70 3ECyzj960.net
ちなみに高精細ディスプレイ、高解像度ディスプレイは目の負担が大きいので、目が良い自分の感覚で作ってしまうのは問題がある。
見た目の格好良さよりも、誰もが読める、見えるものを意識していないと差別主義者と言われたら、反論できないから注意しろよ。

283:デフォルトの名無しさん
24/04/05 07:45:37.12 5j994YTI0.net
>>280
どういうこと?
ブラウザがキャッシュしても初回の表示時間が遅くともなるでしょ?
それを避けるためにデバイス解像度に合わせて小さな画像を送る最適化するんだけど

284:デフォルトの名無しさん (ワッチョイ e3cf-fGCU)
24/04/06 01:46:58.09 q9eV9Q7I0.net
>>283
Webブラウザ側がクライアントの情報付きでリクエストしているのに?

285:デフォルトの名無しさん (ワッチョイ e3cf-fGCU)
24/04/06 01:48:35.50 q9eV9Q7I0.net
>>283
初回が遅くてもいいじゃないか?
Windows 95のナローバンドの時代の話でもしているのか?

286:デフォルトの名無しさん (ワッチョイ 85dc-BZe8)
24/04/06 03:36:30.36 AGIOOfPU0.net
画像をレスポンシブ対応にするには、
srcset で画面の横幅か、デバイスピクセル比によって、複数画像を切り替える

<img srcset="small.jpg 320w,
medium.jpg 640w,
large.jpg 1280w">

287:デフォルトの名無しさん
24/04/06 10:40:52.05 QIQFIWGq0.net
Java Platform SE Binaryは動作を停止しました
と出て画面が真っ白になるこたがあるんですけど
メモリ不足ですか? 
原因調べる方法ありますか?

288:デフォルトの名無しさん
24/04/06 16:11:09.14 ARBK0WNa0.net
>>287
OSはなに?

289:デフォルトの名無しさん (ワッチョイ 0579-JG6v)
24/04/06 17:16:43.40 1bMg12vP0.net
CPUの命令セットアーキテクチャ「x86」は近い未来に滅ぶだろうという主張
URLリンク(gigazine.net)

290:デフォルトの名無しさん (ワッチョイ 65c8-wLE8)
24/04/06 17:17:26.70 QIQFIWGq0.net
>>288
Windows11です

291:1 (ワッチョイ 0579-JG6v)
24/04/06 17:17:29.64 1bMg12vP0.net
エッジAI時代の到来が後押し、STマイクロが18nm FD-SOIをマイコンに適用する理由
URLリンク(news.mynavi.jp)

292:デフォルトの名無しさん (ワッチョイ 8514-8Jjt)
24/04/06 17:43:51.02 ARBK0WNa0.net
>>290
WER(Windows Error Repoting)を有効にしておくとプロセスがクラッシュしたときにメモリダンプが出力される
それをJava BUG DATABASE に送るとよい

またアプリでJNI/JNAなどのネイティブコードを使ってる場合には
Javaだはなくアプリ側に原因があることも
そういったとこも点検するとよい

293:デフォルトの名無しさん
24/04/06 19:31:04.59 QIQFIWGq0.net
>>292
ありがとうございます!
調べてやってみます
作ってる会社がクズで保守契約してるのに調べろと言っても無視して何もしないんです

294:デフォルトの名無しさん
24/04/07 08:23:01.34 kZhuxMJ+0.net
疑似的ボイス・トォ・スカル
組織はある程度大きくなるけれど構築方法
①Bluetooth v5.4
マルチ説ぞ可能なので同時に100に接続可能
飛距離は最大400メートル
②ピンマイク.完全ワイヤレスイヤフォン【マイク付き】
★これで司令塔を中心としたエリアが構築官僚
③ピンマイクのみの者は超指向性スピーカーにて指示を受けている
少し上のシステム
④家の防犯カメラを道路が映るように設置
⑤すまふぉのai機能拡張により仲間の未認識させる
⑥口パクによる読み取りやジェスチャーやアイコンタクトによりさらに指示できる内容を増やしている
①司令塔となる者にスマフォと全てのBluetoothをペアーリング
②aIアシストにより各仲間に隠語で話すウ
③警察にばれてモスク罪にAIによるアシストで行動パターンの変化をさせる
空き巣後の闘争中に路地に引き込んでの警察車両の足止め
仲間は通貨そのあとに車の故障で立ち往生これを繰り返す
万引きもチームプレイをすれば店員.万引きジーメンなどもかいくぐれる
ネットを返していない特設通信なのでサイバー警察からも逃げれる

295:デフォルトの名無しさん (ワッチョイ 4221-xuB/)
24/04/07 10:27:41.77 K0Taf7XF0.net
>>289
互換性と古いアプリケーションを切り捨てることは時間のかかること

あと50年以上はかかると思うよ

296:デフォルトの名無しさん
24/04/07 13:54:55.55 GmYjpb/a0.net
AppleはCPUアーキテクチャ何度も変えてるんだよね
MC68000 → PowerPC → Intel x86 → ARM(Apple M1)
Android もいくつかのCPUアーキテクチャをサポートしてる
WindowsはなぜかCPUアーキテクチャの刷新に失敗し続けている
なんでだろ?

297:デフォルトの名無しさん (ワッチョイ f790-Bmwq)
24/04/07 15:16:59.52 KX/zYYlq0.net
>>293
動かすJava Runtime Environmentを
変えてみるのもいいかも

298:デフォルトの名無しさん
24/04/08 00:12:22.35 gUGErxP/0.net
>>296
Windowsはインテルのx86が消えかかっていて、AMDが作ったx64のCPUにほとんどか置き換わったぞ?
なんでCPUを調べずに変わっていないと思っているのか?
互換性があるから同じように動いているものが多い。

299:デフォルトの名無しさん
24/04/08 00:14:00.77 gUGErxP/0.net
>>296
アップル社なんて資金力がなさすぎて、ハードウェアはWindows PCのハードウェアを採用、OSはUNIXを採用して、独自規格は諦めた。

300:デフォルトの名無しさん
24/04/08 00:15:27.89 gUGErxP/0.net
>>296
そもそもマッキントッシュは名前が同じだけで、PCとしては何度も互換性を失っている。
それだけシェアが低いということ。

301:デフォルトの名無しさん
24/04/08 10:34:08.19 KtmVn5nj0.net
>>298
記事の文脈理解できてる?
x64も含めてx86が無くなるという話だよ?

302:デフォルトの名無しさん
24/04/08 10:35:56.78 KtmVn5nj0.net
>>300
ロゼッタ知らんの?

303:デフォルトの名無しさん
24/04/09 20:44:24.71 rPao90AcM.net
>>301
CPU内の話やJavaの仮想マシンの実装と、多く使われているPCアーキテクチャの変化をごっちゃにして話しても意味がない。
x64規格のCPUがなくなるのは、はるか未来のことだ。
過去の資産を使おうとして互換性に問題がでるのであれば、無理に置き換えてる必要はない。
Macなどが嫌われるのは、Macユーザーがそこまで意識してPCを選んでないからだ。

304:デフォルトの名無しさん
24/04/09 20:46:31.70 rPao90AcM.net
CPUを大きく変えて性能を上げるよりは、小さく作る技術に頼った方がまし

305:デフォルトの名無しさん
24/05/28 16:09:47.20 tHMY3YVq0.net
ログレコードにクラス名って項目があるんだけど
全レコードにログ出力クラス名が出てるって
プロが作ったものとしてどうなんすかね?

306:
24/05/29 09:21:17.64 zszKWM2Q0.net
>>305
プロ(格安労働させられてるので仕事も当然いい加減)

307:デフォルトの名無しさん
24/05/29 10:51:58.93 fRUSlJ3g0.net
>>305
ログの目的次第
インスタンスID、クラス名、メソッド名、引数の内容みたいなのが出力されてるとうれしい状況を想像できない?

308:デフォルトの名無しさん
24/05/29 17:31:12.02 VnRpxm/a0.net
引数の内容出してくれてたらうれしいけど
そこのクラス名だしてくれなきゃ意味ないでしょ

309: 警備員[Lv.4][新芽] (ワッチョイ 2190-oJiW)
24/05/29 19:32:24.95 zszKWM2Q0.net
>>308
クラスClassでMethodクラスをとれば引数情報取れるだろ

310:デフォルトの名無しさん
24/05/29 22:31:52.99 fRUSlJ3g0.net
>>308
ログ出力クラス名というのがログ出力をトリガーしたクラス名じゃなくロガーのクラス名ってこと?
であればどのロガーからの出力なのかを示すものだから理由はさらに分かりやすいと思うんだが
いずれにしても不要だと思うなら消せばいいだけでは?

311:デフォルトの名無しさん
24/06/03 07:39:00.71 AKSEaPnl0.net
再審AIが発表されるたびににボイス・トォ・スカル器機をしている者が陥れられるⓀっ行為
これを聞けばよい
※ネットに反論の書き込んでもまづい言葉もある
最低でも安定して使用できる全ての化学科学論文を読み込ませておク
ここで質問
マニュアルが2冊ある
近となる行為がある
禁となる行為
対象者が寝ている時に行わない
対象者が外では行わない
1一に24分以上行うと
2021年時点の危険行為なので現在はさらに科学が進んでさらにいるのでシビア

312:デフォルトの名無しさん
24/11/23 02:19:05.53 KgwLXGIW0.net
try {
Process p;

while (i.hasNext()) {
p = Runtime.getRuntime().exec(......);
try {
p.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
p.destroy();
}
}catch(IOException e){}
課題:指定したフォルダ中にある各画像ファイルに対して、外部exeファイルで変換処理(webp→jpg)をしたい。
問題点:外部exeファイルで処理がされていないファイルが不規則にできる(ファイルサイズが0KB)
対処法:外部exeファイルの実行を、各ファイル毎に終了してメモリーを開放したい。
現状、 p.destroy()を追記しても上記問題が発生するのですが、何かいい方法ありますでしょうか?

313:デフォルトの名無しさん
24/11/23 07:30:03.51 /7hk/wKC0.net
とりあえず外部exeの戻り値とか標準出力とかエラー出力とか見てみる、とか

314:デフォルトの名無しさん
24/11/25 21:34:33.93 NYf/jFroH.net BE:629052145-2BP(1000)
URLリンク(img.5ch.net)
EchoAPIがVS CodeプロジェクトでのAPIテストのやり方を一新してくれたことを伝えたかった。

315:デフォルトの名無しさん
24/11/26 17:42:30.73 rF2u8x4W0.net
>>313
ありがとうございます。
やってみます。

316:デフォルトの名無しさん
24/11/28 13:32:21.51 bnnXHQ2oM.net
やり始めんだが英語わからないと詰む感じ?

日本語(ローマ字)なら打てるんだけど、英語のキーボードの位置分からないしpublicとかdoubleとか書けないし綴りは見ないと打てん。

30時間やってるんだがSystem out printやっと見ないで打てるようになったんだが見切りつけた方がいいのか?コレ

317:デフォルトの名無しさん
24/11/28 17:13:05.98 M2Nkjag60.net
タイピングが遅いのは気にしなくて大丈夫だよ
やってれば自然と早くなっていく

それよりもコードの意味や参考書の説明が理解できるかが重要
本やウェブに書いてある説明が理解できるならどんどん吸収して伸びていくよ!

318:デフォルトの名無しさん (オイコラミネオ MM4f-zwOW)
24/11/28 18:19:00.59 bnnXHQ2oM.net
レスさんくす
マジか、スキャナーは即打ちできるんだが。。

scannerとsukyana-は全く打てないんよリアルに20秒はかかる…
意味分からんと思うがsukyana-も英語になってるからマジで打てないけど人権あるのか不安になる

あとノートのがいいかな?やっぱ。

319:デフォルトの名無しさん (ワッチョイ 57bc-saoE)
24/11/28 19:28:17.40 ZxIpUY+V0.net
まあぶっちゃけコピペのが多いからタイピングは遅くてもいい

320:デフォルトの名無しさん
24/11/28 21:30:04.53 bnnXHQ2oM.net
ありがとう。
中身の理解に重点を置けばいいんだな、信じるよ
とりあえず写経はしとく。

321:デフォルトの名無しさん
24/11/28 22:07:46.00 AcHacIUO0.net
エディターというのがあるんだけど、例えばWindows標準でいうと「メモ帳」みたいなやつね。
で、エディターにも色んな種類があるんだけど「Vscode」や他にもプログラマーにとって入力支援や入力補完してくれるエディターがあるのよ。「Sys」って打てば「System」って自動で候補出してくれたり。要はスマホの予測変換みたいなものだね。
これを使うと入力早くなるよ!是非調べてみてねー!

ちなみにVscodeの場合は自分で簡単にカスタマイズ可能なので、Javaに特化したエディターにしたいと思えば可能だから慣れてきたらカスタマイズしていくといいと思うよ

322:デフォルトの名無しさん
24/11/28 22:09:11.07 AcHacIUO0.net
>321
×プログラマーにとって
○プログラマーにとって便利な

323:デフォルトの名無しさん
24/11/28 22:13:26.32 9XSu8jdd0.net
javaはandroid studioのみです。
androidアプリを作るためだけに覚えたな。
vsでC#やっていたから覚え易かった。

324:デフォルトの名無しさん (JP 0Hdf-/Vqe)
24/11/29 18:54:04.00 ZW4PTdY8H.net BE:629052145-2BP(1000)
sssp://img.5ch.net/ico/nida.gif
EchoAPIをVS Codeで使うことで、ツールを切り替えずにAPIテストをスムーズに処理できるようになる

325:デフォルトの名無しさん
24/11/30 13:22:46.08 F7GZHx91M.net
>>322
320だけど、文字打てない人がそういった便利技使って良いのか?

ifとかforの英単語すら知らなくてググったレベルだぞ、我ながらマジでガイジだと思ってる。

326:デフォルトの名無しさん
24/11/30 14:01:42.65 CS3N982c0.net
>325
確かにifやforやwhile…等は全てのプログラム言語共通だから打てた方がいいね

一方で大事なのは、「打てる事」そのものよりも、「その文字の意味や動作を理解してる事」だから、ソ ー スに書いてあるコ ー ドがどんな処理をしているか、これから自分が書くコ ー ドがどんな動作をするか理解していればコピペや入力支援は多いに使うべきだと思うよ!

この根本部分の認識が合っていれば時間的なリソースを短縮できる入力支援や入力補完はオススメっす

327:デフォルトの名無しさん
24/11/30 14:02:05.30 CS3N982c0.net
>325

そして1番良くないのは、意味が分からないままネット記事からコピペしたり、AIに聞いて出てきたコ ー ドを貼り付けてとりあえず動きました!の状態
エラー出ても直せなくなるし、何よりエンジニアとして成長できないので気を付けて

道は長いかもしれないけど必ず開けてくるから頑張ってね!と、自戒も込めて書きました笑

328:デフォルトの名無しさん
24/12/01 16:21:18.08 BHRXUGJv0.net
>>327に同意!


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch