★★Java質問・相談スレッド184★★ (371レス)
1-

209: (ワッチョイ 1a02-P1Fn) 2023/08/16(水)19:58 ID:TYqhyd0v0(1) AAS
強力な Object 型ならあるぞ
210: (ワッチョイ 4e8e-/Cxw) 2023/08/16(水)22:06 ID:L6CfCWuQ0(1) AAS
>>205
生のメモリとオブジェクトは概念として完全に分離されてるから
211: (ワッチョイ 2bbb-QZaR) 2023/08/22(火)00:46 ID:TPz+mBYc0(1) AAS
さまざまな型システムにはメリデメのトレードオフが必ずある
共用体も節度を持って使えば便利だけど濫用すると惨劇を招く
Javaはシンプルさと移植性を重視してデザインされたので、クラス定義や複数の変数で代用可能な共用体は用意されなかった
Cの直系やBetter JavaScriptと違ってそんなに必要になるシーンも多くないのでSealed Classで事足りるだろう
世界中にある莫大なコードベースに対して破壊的変更が少なくなるように配慮せざるを得ない部分もある
シンプルさが大量のプログラマを生んで成功したからこそ長い栄華を誇ったのだし、栄枯盛衰の落ち目を笑うのは浅はか
212: (ブーイモ MMb3-HTZh) 2023/08/22(火)07:55 ID:tV8s6iNuM(1) AAS
Javaにも様々な新機能が追加されていってるけど頑なに実装を拒んでるものもあるよな
その筆頭がasync/await
要望が多いのに「代わりにVirtual Thread使ってくれ」とか言ってるからな

Virtual Thread とは使い処が違うんだよ!!
213: (ワッチョイ 2501-d0po) 2023/08/29(火)22:09 ID:HMbn0XNH0(1/3) AAS
質問です。
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 外部リンク:help.gradle.org.

CONFIGURE FAILED in 1s
----------------------------------------------------------
結構頑張ってググっているのですが原因が分からないのですが、
どなたか助けていただけませんでしょうか。
環境は Mac Ventura, gradle 8.3, Java17 です。
214: 0213 (ワッチョイ 2501-d0po) 2023/08/29(火)22:10 ID:HMbn0XNH0(2/3) AAS
文字数制限で連投になりすみません。
なお 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) 2023/08/29(火)23:20 ID:HMbn0XNH0(3/3) AAS
すみません、自己解決しました。
ビルドに使う Gradle を 7.2 にしたら何故か出来ました。
ググると maven プラグインは 8 から廃止なので maven-publish を使えみたいな記事はあったのですが、
maven-publish と build.gradle の plugins に書いてもダメだったんですよね……。
根本的には解決していないのですが、とりあえずご報告でした。
216
(2): (ワッチョイ ff6b-j351) [hage] 2023/09/24(日)10:29 ID:Hs7TDocS0(1) AAS
int[] a={1,2,3,4,5};
という入れる変数を作ったんですが、プログラムの途中で
a={5,4,3,1,2};というふうにしたいんですができません。
いちいちa[0]~a[4]全部に代入しないといけないのでしょうか?
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);//右に移動する
}}
1-
あと 133 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.030s