★★Java質問・相談スレッド184★★ (371レス)
上下前次1-新
217(1): (アウアウウー Sacf-PB4I) 2023/09/24(日)10:37 ID:2YTVyUlCa(1) AAS
ホイっ
外部リンク[html]:www.javadrive.jp
218: (ワッチョイ 3be4-h2iX) 2023/09/24(日)11:28 ID:1DaYlERU0(1) AAS
>>216
a[2]は代入しなくていいよ
219: (ワッチョイ bbb1-ZaUB) [637] 2023/09/24(日)15:59 ID:oTT98hcn0(1) AAS
>>217
参照って分かりにくいよな。
ぼーとしてると実体を見失うわ。
Cのポインター配列だとあり得ないけど。
220: (ワッチョイ daad-iLfk) 2023/10/08(日)06:01 ID:c7bH/Jal0(1) AAS
>>216
a の参照先を変えてしまっていいなら a = new int[] { 5, 4, 3, 2, 1 }; と書けば良い。それまで a の参照していた先のメモリはgcが自動で解放してくれるので考える必要はない。
a の参照先をそのままにしたいなら一つづつ a[0], a[1], a[3], a[4] に代入するかループ使って代入すれば良い。
221: (ワッチョイ 13e0-PwNk) 2023/10/15(日)20:27 ID:M+5szmup0(1) AAS
インプレースコピーで要素の入れ替え、みたいな話じゃないのか
222(1): (ワッチョイ d117-iRXk) 2023/10/31(火)02:58 ID:NWeBFhUv0(1) AAS
設定ファイル(setting.config)があり、その中身が
pathA="D:\\Download";
pathS="G:\\Download";
pathC="Z:\\Download";
と各行にあるものを読み込み、各Pathに設定されたディレクトリを指定した変数に代入するプログラムを書こうとしています。
その場合、一般的にはどのように読み込み処理を書かれるのでしょうか?
223(2): (ワッチョイ 13ad-zW/F) 2023/10/31(火)03:05 ID:obpiiey30(1) AAS
>>222
java.util.Properties クラスのインスタンスを作って load() でそのファイルを読んで getProperty("pathA") みたいにして内容を取り出す。
224: (ワッチョイ 81ee-iRXk) 2023/11/01(水)01:08 ID:QIM0oxL50(1/2) AAS
>>223
ありがとうございます。
225: (ワッチョイ 81ee-iRXk) 2023/11/01(水)01:08 ID:QIM0oxL50(2/2) AAS
>>223
ありがとうございます。
226(1): (ワッチョイ 1910-KYV2) 2023/11/10(金)14:23 ID:ZmoDO33M0(1) AAS
intellij使ってメソッド定義する際に引数にOptionalを指定すると
「Optional<型>がパラメータ'変数名'の型として使用されています」って警告が出るけど
引数にOptional指定するのってよくない書き方なのかな?
227(1): (ワッチョイ ff60-ljUV) 2023/11/11(土)20:17 ID:XF4CbZuB0(1/3) AAS
背景が黒くならないのは何故でしょうか?
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(1): (ワッチョイ 1f90-nPbH) 2023/11/11(土)20:57 ID:D1g3ncRT0(1) AAS
>>227
paintComponentの中で塗りつぶししてないからじゃない?
今スマホだからメソッド名が分からないけど
fillXXとかいう名前のメソッドがGraphicクラスになかった?
229: (ワッチョイ ff60-ljUV) 2023/11/11(土)21:40 ID:XF4CbZuB0(2/3) AAS
>>228
ありがとうございます。
g2.clearRect(0, 0, getWidth(), getHeight());
を追記したらできました。
230: (ワッチョイ ff60-ljUV) 2023/11/11(土)22:53 ID:XF4CbZuB0(3/3) AAS
ちなみに、エクスプローラーの左側にフォルダ構成が表示できる「ナビゲーションウインドウ」はどのような方法で実装されいますでしょうか?
231: (ワッチョイ ffbd-sg3J) 2023/11/15(水)23:56 ID:8ll9Bxfa0(1) AAS
>>226
基本的にOptionalは戻り値として使うために作られたもので、引数として使うことを想定してない
一般的にも引数には使わないことが推奨されている(いろいろ議論はあるけど)
「引数がnullの時にデフォルト値を与える」みたいな使い方をしたくなるけど、それやると呼び出す側にOptionalで包むことを強制することになるので、かえって煩雑になったりするんだよね
232(1): (ワッチョイ e905-bTTa) 2023/11/19(日)01:53 ID:qZa+eOkQ0(1) AAS
外部リンク:pastebin.com
左側に表示されるフォルダをクリックすると、右側にそのクリックされたフォルダの中身を表示したいのですが、どうすればいいのでしょうか?
233: (ワッチョイ 5190-n3S/) 2023/11/22(水)18:05 ID:OkHSaxJz0(1) AAS
>>232
クリックを感知するリスナー作って
表示するようにするだけ
234(1): (ワッチョイ 0dba-6HfB) 2023/11/22(水)19:43 ID:kYVkXFrV0(1) AAS
非プログラム民です Javaの一番初歩的なスレがここっぽいので失礼します
Win11にJavaってあんまり要らないんでしょうか?
8年ぶりぐらいに新調したんですがそういや入れてないけど何も要求されてないなと気付きました
PCの使用用途としてはネットサーフィンやゲーム程度 Office(Excel)はLibre使ってて今のところマイクラもやってない…
プログラムなどPCの根っこ部分を弄るような人以外はもう特に入れる必要がない時代なんでしょうか?
ちょっとふわっとした質問ですが教えていただけると助かります
235: (スップ Sd22-vj+6) 2023/11/22(水)20:40 ID:XdkKjHJEd(1) AAS
>>234
Javaのデスクトップアプリというジャンルがほぼ死に体なのでPCにJavaを入れる機会は大幅に減った
下手に入れて放置とかしてるとセキュリティホールになりかねないので必要になるまで入れない方がいいよ
236: (ワッチョイ 0dba-6HfB) 2023/11/23(木)00:21 ID:WhR9OG610(1) AAS
そうなのか それじゃあしばらくお別れになりそうだな
回答ありがとうございます
237: (ワッチョイ 91de-iedC) 2023/11/23(木)07:07 ID:feYNNbaU0(1) AAS
Oracle公式のJava Runtime Environment自体が廃止されたし
Javaは開発者が使うもの、ユーザーはアプリにバンドルされたJavaを使うことになったから
ユーザーがJavaをインストールする必要はなくなった
238: (ワッチョイ 46ff-bTTa) 2023/11/24(金)22:53 ID:fPE4U9Nj0(1) AAS
インベーダーゲームを作成していて、敵の左右移動についての質問になります。
敵の最初配置は以下のようになっており、最初は右方向に移動します。
■■■■
■■■■ →
■■■■
右端へ行く途中に、いくつか敵が倒された後(倒された敵は□で非表示)
□■■□
□□■□
□□□■
一番端で生き残っている者(※ここでは一番下の右側の敵)が右端に着くと、全体が移動方向を反転したいと思います。
どのように実装されているでしょうか?
現在は以下の通りに敵を作り、それぞれに移動方向をセットしています。
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(1): (ワッチョイ c755-ds/9) 2023/11/25(土)08:06 ID:vlVh3gWj0(1) AAS
Alienのコンストラクタにthisを渡さないほうがいいよ
thisを渡してるってことはAlienクラスが外側のクラスを参照してるってこと
このような相互参照する設計は結合が密になって後々不都合が出ることが多い
Alienインスタンスそれぞれが x, y 座標を持ってるんだからaliensを二次元(画面座標)にする必要はない
240(1): (ワッチョイ 5ff5-T+3p) 2023/11/25(土)08:51 ID:DleP5wfq0(1/2) AAS
ScopedValueの説明記事読んでたら思ったんだけど
あれって同じ変数名なのに違う型になってるよね?
Object x=;
ScopedValue.where(x,,);
これが対象スコープ内では
ScopedValue x;
として呼び出せてしまってる、ということだよね
xが場所によって型が違う
なかなか嫌な構文だね。可読性低下しない?勘違いしそう
241(1): (ワッチョイ bf15-Fdi3) 2023/11/25(土)10:24 ID:hi6RRccf0(1) AAS
>>240
自分も説明読んだだけだけど、whereの第一引数はScopedValueじゃないか?
242: (ワッチョイ 5ff5-T+3p) 2023/11/25(土)10:44 ID:DleP5wfq0(2/2) AAS
>>241
そうだった。かんちがいした
243: (ワッチョイ c714-6ggm) 2023/11/26(日)08:44 ID:1Nq25AZ10(1) AAS
>>239
ありがとうございます。疎結合やList<Alien>にできるよう見直します。
244: (ワッチョイ bd68-jFlW) 2023/12/02(土)02:11 ID:TtNr0xet0(1) AAS
スペースインベーダーの敵の移動について、一番端にいる敵が画面の端まで移動した場合、方向を反転するという動きを実装しようとしております。
現在、敵が端まで行った際に反転するところまでは実装できたのですが、敵が画面外に少し出た状態で反転します。
画面の端できっちりと反転する方法はありますでしょうか?
外部リンク:pastebin.com
245: (ワッチョイ eaad-Ej9D) 2023/12/03(日)09:59 ID:iaiv32Fc0(1) AAS
あるんじゃない?てか、そんなの少し手前を画面の端とみなすように作れば良いだけでは?
246: (アウアウウー Sa21-wVFe) 2023/12/03(日)11:04 ID:QTewqrs7a(1) AAS
まるちんこ
上下前次1-新書関写板覧索設栞歴
あと 125 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.024s