★★Java質問・相談スレッド184★★

2021/09/19(日) 11:52:45.82ID:DdTXq5RcM
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    https://itest.5ch.net/subback/hp
Webプログラミング https://itest.5ch.net/subback/php
をご利用下さい。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 (p)ttp://www.wikiroom.com/java/?path,classpath
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
・String に == は使うな。equals() を使え。※

質問時の心得
・コンパイルエラーか実行時エラーか、エラーではないが意図しない動作なのかはっきりしろ。あとエラーメッセージちゃんと読め。
・前提条件としてOS、開発環境、バージョン、使用フレームワーク等を明記。

前スレ
★★Java質問・相談スレッド183★★
https://mevius.5ch.net/test/read.cgi/tech/1588770728/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/03/25(土) 00:50:31.32ID:lDXx58ws0
>>181
介するのが標準でマッピングするようなものはなく
そう単純なものではないのですね
ありがとうございます

>>182
失礼しました
ただスレの趣旨には沿ってるかと思うのでご容赦ください
184デフォルトの名無しさん (ワッチョイ ed8f-Nv0v)
垢版 |
2023/03/25(土) 11:47:36.33ID:MJx23FgN0
>>182
君なんでそんなに攻撃的なの?
更年期のババアなの?
2023/03/25(土) 14:21:30.91ID:qW4hqU/Ea
基本的に、CP932(sjis)のようなWindows 専用日本語を知っている外人は、まずいない。
逆に日本人で、CP932以外のCPを知っている香具師がいないのと同じ

例えば、MySQL もいつも日本語のバグを修正しているから使えない。
Ruby では、iconv を非推奨にして、NKF に変わった

CP932を変更しても、各モジュールがその変更に追随しないから使えない。
特に、Ruby, Java の2大バックエンドのウェブ開発では、
OSS を使うから、UTF-8 以外には対応しない

これが基本中の基本
186デフォルトの名無しさん (アウアウウー Saa5-tUaT)
垢版 |
2023/03/25(土) 14:55:58.15ID:B9hd5fwCa
香具師
2023/03/25(土) 21:57:39.03ID:CsLeeAHHM
一応枝葉の部分を拾っておくと、java.nio.charset.Charset(やCharsetEncoder)あたりを使えば
Stringを介さずにBuffer(バイト列)のままShift_JIS(あるいはWindows-31J) -> UTF-16 -> UTF-8と変換することは出来る
巨大なデータとかメモリマップファイルとかでもなければStringを介するほうが楽でよいと思うけど(どちらにせよUTF-16経由になるし)

あとおそらくcharsetはShift_JISではなくWindows-31Jを使う方が望ましい結果が得られる可能性が高いかと
2023/05/06(土) 10:06:48.61ID:PEDNurG50
某マイクラの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ではないとか?
あるいはマニフェストの設定をランタイムで変更したりとかできるんでしょうか
2023/05/06(土) 12:29:28.46ID:PEDNurG50
あ、もしかしてmainのあるクラスをjavaの引数に指定すればいいのかな?
2023/05/21(日) 21:43:56.13ID:i6ZyusAx0
久々にJava案件に関わる事になりそうなんだが
今ってJava8が主体っていう認識で良い?
Java11やJava17とかも追加で勉強しておいた方が良い?
2023/05/22(月) 07:22:39.68ID:F35vhY0Y0
>>190
そういうのってその案件次第じゃ?
古いJDKを使って欲しい案件だってあるでしょ

ちなみに今Android Studioをチェックしたら17が入ってるようだ
しかしこのスレは生きているのか
2023/05/22(月) 21:53:27.15ID:uAp8CXfg0
ワイがみているで
2023/05/26(金) 09:48:30.11ID:aEN9HMnl0
フロントがJS、バックがSpringMVCという構成ではなく、
バックをWebFluxにして、R2DBCを使えば、単純なDBクエリだけれどリクエスト数は多い
というサービスに効果あるかな。今後も、WebFluxのユーザは増えていくでしょ。
と思ったのですが……

JDK20以降でLoomが完全実装されたら仮想スレッドになって
実質、ノンブロッキングのコードを書いても書かなくても同じになって、
WebFluxやR2DBCの優位性は無くなります?
2023/05/27(土) 13:16:28.13ID:VxLOu3/40
開発してる当事者じゃないから
答えられない
195デフォルトの名無しさん (ワッチョイ 8d8f-qVLu)
垢版 |
2023/06/03(土) 18:46:06.08ID:lPLamTYg0
ワシのところはJava11だ、Java8の知識があれば十分
2023/06/03(土) 19:46:58.28ID:PSMWlwvR0
バージョンが違うとそんなに違うの?
2023/06/03(土) 21:40:19.53ID:XKXIyQhC0
冗長な糞コードしか書けない雑魚は別にバージョンなんて全く気にする必要もないし気にするだけ思考の無駄
8未満と8以降じゃ公文式使えなかったりストリップも使えないからオワコンだけど
198デフォルトの名無しさん (ワッチョイ 8d8f-qVLu)
垢版 |
2023/06/03(土) 21:49:16.80ID:lPLamTYg0
イキリすぎだろw
2023/06/03(土) 22:40:21.70ID:XKXIyQhC0
お前のことやぞ
2023/07/22(土) 10:36:21.82ID:al5RdX3ea
javaってjarを実行するよりclassファイルを実行したほうが速いですか?
なんとなくjarは最初に圧縮の解凍があって遅そうなイメージがあるのですが
そんなことはないですか?
201デフォルトの名無しさん (ワッチョイ 079c-1AW6)
垢版 |
2023/07/22(土) 11:41:27.95ID:NXQ0T+AH0
むしろjarのほうが速いよ
2023/07/22(土) 11:44:46.01ID:al5RdX3ea
そうなんですね!
203デフォルトの名無しさん (アウアウウー Sa2b-vDZl)
垢版 |
2023/07/27(木) 13:53:23.14ID:gIycSMlBa
>>200
圧縮されていた方が(コンピュータからしたら)とても遅いディスク等からメモリへの読み込みが少なくて済むので速くなる。圧縮状態から元に戻すのはメモリ上でやるのであまり時間が掛からない。

もちろんこの逆の状態とか、圧縮状態から元に戻すのに物凄く時間が掛かるCPUだったりそのような圧縮だったりすればこの限りではない。
でもそんな環境は今は珍しいと思うよ。組み込み関係のマイコンとかならあるかも知れない。(ラズパイみたいなお前普通のPCだろとツッコミを入れたくなるようなやつは除く)
204デフォルトの名無しさん (ワッチョイ df02-Mdmh)
垢版 |
2023/07/27(木) 19:59:15.65ID:FKk2H2CJ0
その速度差を気にするのだったら
そもそもJavaで書かないほうがいいと思う
205デフォルトの名無しさん (ブーイモ MMb6-A2L1)
垢版 |
2023/08/16(水) 14:43:55.58ID:6XslkswQM
Javaって今時Union型も無いんですか
どうして?
2023/08/16(水) 15:15:54.79ID:Ki7QD3KZ0
全部あったらプログラミング言語としての違いがなくなってしまいますね。
207デフォルトの名無しさん (ワッチョイ 978f-Rb7U)
垢版 |
2023/08/16(水) 16:27:44.91ID:osG/hZP20
>>205
Sealed Classじゃダメかい?
https://qiita.com/hanohrs/items/964e9cbf41961e701484
208デフォルトの名無しさん (ワッチョイ 6301-DXLR)
垢版 |
2023/08/16(水) 19:20:53.06ID:AMR7lasI0
>>205
JavaはクラスのインスタンスはGCで管理するので共用体の必要が無いのでは?
209デフォルトの名無しさん (ワッチョイ 1a02-P1Fn)
垢版 |
2023/08/16(水) 19:58:11.06ID:TYqhyd0v0
強力な Object 型ならあるぞ
2023/08/16(水) 22:06:27.36ID:L6CfCWuQ0
>>205
生のメモリとオブジェクトは概念として完全に分離されてるから
2023/08/22(火) 00:46:18.91ID:TPz+mBYc0
さまざまな型システムにはメリデメのトレードオフが必ずある
共用体も節度を持って使えば便利だけど濫用すると惨劇を招く
Javaはシンプルさと移植性を重視してデザインされたので、クラス定義や複数の変数で代用可能な共用体は用意されなかった
Cの直系やBetter JavaScriptと違ってそんなに必要になるシーンも多くないのでSealed Classで事足りるだろう
世界中にある莫大なコードベースに対して破壊的変更が少なくなるように配慮せざるを得ない部分もある
シンプルさが大量のプログラマを生んで成功したからこそ長い栄華を誇ったのだし、栄枯盛衰の落ち目を笑うのは浅はか
212デフォルトの名無しさん (ブーイモ MMb3-HTZh)
垢版 |
2023/08/22(火) 07:55:42.93ID:tV8s6iNuM
Javaにも様々な新機能が追加されていってるけど頑なに実装を拒んでるものもあるよな
その筆頭がasync/await
要望が多いのに「代わりにVirtual Thread使ってくれ」とか言ってるからな

Virtual Thread とは使い処が違うんだよ!!
213デフォルトの名無しさん (ワッチョイ 2501-d0po)
垢版 |
2023/08/29(火) 22:09:14.54ID:HMbn0XNH0
質問です。
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 https://help.gradle.org.

CONFIGURE FAILED in 1s
----------------------------------------------------------
結構頑張ってググっているのですが原因が分からないのですが、
どなたか助けていただけませんでしょうか。
環境は Mac Ventura, gradle 8.3, Java17 です。
2023/08/29(火) 22:10:24.92ID:HMbn0XNH0
文字数制限で連投になりすみません。
なお 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'
}
}
2023/08/29(火) 23:20:37.15ID:HMbn0XNH0
すみません、自己解決しました。
ビルドに使う Gradle を 7.2 にしたら何故か出来ました。
ググると maven プラグインは 8 から廃止なので maven-publish を使えみたいな記事はあったのですが、
maven-publish と build.gradle の plugins に書いてもダメだったんですよね……。
根本的には解決していないのですが、とりあえずご報告でした。
2023/09/24(日) 10:29:14.83ID:Hs7TDocS0
int[] a={1,2,3,4,5};
という入れる変数を作ったんですが、プログラムの途中で
a={5,4,3,1,2};というふうにしたいんですができません。
いちいちa[0]~a[4]全部に代入しないといけないのでしょうか?
2023/09/24(日) 10:37:06.47ID:2YTVyUlCa
ホイっ
https://www.javadrive.jp/start/array/index10.html
218デフォルトの名無しさん (ワッチョイ 3be4-h2iX)
垢版 |
2023/09/24(日) 11:28:29.11ID:1DaYlERU0
>>216
a[2]は代入しなくていいよ
2023/09/24(日) 15:59:50.86ID:oTT98hcn0
>>217
参照って分かりにくいよな。
ぼーとしてると実体を見失うわ。
Cのポインター配列だとあり得ないけど。
220デフォルトの名無しさん (ワッチョイ daad-iLfk)
垢版 |
2023/10/08(日) 06:01:02.29ID:c7bH/Jal0
>>216
a の参照先を変えてしまっていいなら a = new int[] { 5, 4, 3, 2, 1 }; と書けば良い。それまで a の参照していた先のメモリはgcが自動で解放してくれるので考える必要はない。
a の参照先をそのままにしたいなら一つづつ a[0], a[1], a[3], a[4] に代入するかループ使って代入すれば良い。
2023/10/15(日) 20:27:00.97ID:M+5szmup0
インプレースコピーで要素の入れ替え、みたいな話じゃないのか
222デフォルトの名無しさん (ワッチョイ d117-iRXk)
垢版 |
2023/10/31(火) 02:58:33.18ID:NWeBFhUv0
設定ファイル(setting.config)があり、その中身が
pathA="D:\\Download";
pathS="G:\\Download";
pathC="Z:\\Download";
と各行にあるものを読み込み、各Pathに設定されたディレクトリを指定した変数に代入するプログラムを書こうとしています。
その場合、一般的にはどのように読み込み処理を書かれるのでしょうか?
223デフォルトの名無しさん (ワッチョイ 13ad-zW/F)
垢版 |
2023/10/31(火) 03:05:20.29ID:obpiiey30
>>222
java.util.Properties クラスのインスタンスを作って load() でそのファイルを読んで getProperty("pathA") みたいにして内容を取り出す。
224デフォルトの名無しさん (ワッチョイ 81ee-iRXk)
垢版 |
2023/11/01(水) 01:08:48.05ID:QIM0oxL50
>>223
ありがとうございます。
225デフォルトの名無しさん (ワッチョイ 81ee-iRXk)
垢版 |
2023/11/01(水) 01:08:53.32ID:QIM0oxL50
>>223
ありがとうございます。
2023/11/10(金) 14:23:27.45ID:ZmoDO33M0
intellij使ってメソッド定義する際に引数にOptionalを指定すると
「Optional<型>がパラメータ'変数名'の型として使用されています」って警告が出るけど
引数にOptional指定するのってよくない書き方なのかな?
227デフォルトの名無しさん (ワッチョイ ff60-ljUV)
垢版 |
2023/11/11(土) 20:17:07.76ID:XF4CbZuB0
背景が黒くならないのは何故でしょうか?
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);
}});}}
2023/11/11(土) 20:57:37.57ID:D1g3ncRT0
>>227
paintComponentの中で塗りつぶししてないからじゃない?
今スマホだからメソッド名が分からないけど
fillXXとかいう名前のメソッドがGraphicクラスになかった?
229デフォルトの名無しさん (ワッチョイ ff60-ljUV)
垢版 |
2023/11/11(土) 21:40:55.85ID:XF4CbZuB0
>>228
ありがとうございます。
g2.clearRect(0, 0, getWidth(), getHeight());
を追記したらできました。
230デフォルトの名無しさん (ワッチョイ ff60-ljUV)
垢版 |
2023/11/11(土) 22:53:11.36ID:XF4CbZuB0
ちなみに、エクスプローラーの左側にフォルダ構成が表示できる「ナビゲーションウインドウ」はどのような方法で実装されいますでしょうか?
2023/11/15(水) 23:56:40.14ID:8ll9Bxfa0
>>226
基本的にOptionalは戻り値として使うために作られたもので、引数として使うことを想定してない
一般的にも引数には使わないことが推奨されている(いろいろ議論はあるけど)
「引数がnullの時にデフォルト値を与える」みたいな使い方をしたくなるけど、それやると呼び出す側にOptionalで包むことを強制することになるので、かえって煩雑になったりするんだよね
232デフォルトの名無しさん (ワッチョイ e905-bTTa)
垢版 |
2023/11/19(日) 01:53:31.27ID:qZa+eOkQ0
ttps://pastebin.com/tM0VgmHA
左側に表示されるフォルダをクリックすると、右側にそのクリックされたフォルダの中身を表示したいのですが、どうすればいいのでしょうか?
2023/11/22(水) 18:05:20.44ID:OkHSaxJz0
>>232
クリックを感知するリスナー作って
表示するようにするだけ
2023/11/22(水) 19:43:34.58ID:kYVkXFrV0
非プログラム民です Javaの一番初歩的なスレがここっぽいので失礼します

Win11にJavaってあんまり要らないんでしょうか?
8年ぶりぐらいに新調したんですがそういや入れてないけど何も要求されてないなと気付きました
PCの使用用途としてはネットサーフィンやゲーム程度 Office(Excel)はLibre使ってて今のところマイクラもやってない…
プログラムなどPCの根っこ部分を弄るような人以外はもう特に入れる必要がない時代なんでしょうか?
ちょっとふわっとした質問ですが教えていただけると助かります
2023/11/22(水) 20:40:30.76ID:XdkKjHJEd
>>234
Javaのデスクトップアプリというジャンルがほぼ死に体なのでPCにJavaを入れる機会は大幅に減った
下手に入れて放置とかしてるとセキュリティホールになりかねないので必要になるまで入れない方がいいよ
2023/11/23(木) 00:21:28.78ID:WhR9OG610
そうなのか それじゃあしばらくお別れになりそうだな
回答ありがとうございます
237デフォルトの名無しさん (ワッチョイ 91de-iedC)
垢版 |
2023/11/23(木) 07:07:52.59ID:feYNNbaU0
Oracle公式のJava Runtime Environment自体が廃止されたし
Javaは開発者が使うもの、ユーザーはアプリにバンドルされたJavaを使うことになったから
ユーザーがJavaをインストールする必要はなくなった
238デフォルトの名無しさん (ワッチョイ 46ff-bTTa)
垢版 |
2023/11/24(金) 22:53:30.32ID:fPE4U9Nj0
インベーダーゲームを作成していて、敵の左右移動についての質問になります。
敵の最初配置は以下のようになっており、最初は右方向に移動します。
■■■■
■■■■ →
■■■■
右端へ行く途中に、いくつか敵が倒された後(倒された敵は□で非表示)
□■■□
□□■□
□□□■
一番端で生き残っている者(※ここでは一番下の右側の敵)が右端に着くと、全体が移動方向を反転したいと思います。

どのように実装されているでしょうか?
現在は以下の通りに敵を作り、それぞれに移動方向をセットしています。
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デフォルトの名無しさん (ワッチョイ c755-ds/9)
垢版 |
2023/11/25(土) 08:06:59.65ID:vlVh3gWj0
Alienのコンストラクタにthisを渡さないほうがいいよ
thisを渡してるってことはAlienクラスが外側のクラスを参照してるってこと
このような相互参照する設計は結合が密になって後々不都合が出ることが多い

Alienインスタンスそれぞれが x, y 座標を持ってるんだからaliensを二次元(画面座標)にする必要はない
240デフォルトの名無しさん (ワッチョイ 5ff5-T+3p)
垢版 |
2023/11/25(土) 08:51:19.25ID:DleP5wfq0
ScopedValueの説明記事読んでたら思ったんだけど
あれって同じ変数名なのに違う型になってるよね?
Object x=;
ScopedValue.where(x,,);
これが対象スコープ内では
ScopedValue x;
として呼び出せてしまってる、ということだよね
xが場所によって型が違う
なかなか嫌な構文だね。可読性低下しない?勘違いしそう
2023/11/25(土) 10:24:44.30ID:hi6RRccf0
>>240
自分も説明読んだだけだけど、whereの第一引数はScopedValueじゃないか?
242デフォルトの名無しさん (ワッチョイ 5ff5-T+3p)
垢版 |
2023/11/25(土) 10:44:51.02ID:DleP5wfq0
>>241
そうだった。かんちがいした
243デフォルトの名無しさん (ワッチョイ c714-6ggm)
垢版 |
2023/11/26(日) 08:44:10.15ID:1Nq25AZ10
>>239
ありがとうございます。疎結合やList<Alien>にできるよう見直します。
244デフォルトの名無しさん (ワッチョイ bd68-jFlW)
垢版 |
2023/12/02(土) 02:11:40.58ID:TtNr0xet0
スペースインベーダーの敵の移動について、一番端にいる敵が画面の端まで移動した場合、方向を反転するという動きを実装しようとしております。
現在、敵が端まで行った際に反転するところまでは実装できたのですが、敵が画面外に少し出た状態で反転します。
画面の端できっちりと反転する方法はありますでしょうか?
ttps://pastebin.com/2KFpUcpc
245デフォルトの名無しさん (ワッチョイ eaad-Ej9D)
垢版 |
2023/12/03(日) 09:59:40.93ID:iaiv32Fc0
あるんじゃない?てか、そんなの少し手前を画面の端とみなすように作れば良いだけでは?
246デフォルトの名無しさん (アウアウウー Sa21-wVFe)
垢版 |
2023/12/03(日) 11:04:08.98ID:QTewqrs7a
まるちんこ
247デフォルトの名無しさん (ワッチョイ 6311-DOnR)
垢版 |
2023/12/28(木) 09:10:42.32ID:Z5LVjO8Y0
エラーチェックをする関数を作るとき、
エラーがあれば、エラーあるよーんってメッセージをつけた例外を呼び出し元に投げる。
ということをしたいとき。
エラーの詳細はどうでもいいとき、
throw Exception(“エラーあるよーん“)
はだめなの?
わざわざExceptionを継承したクラス作らないとだめなの?
248デフォルトの名無しさん (ワッチョイ a352-H80b)
垢版 |
2023/12/28(木) 09:47:21.79ID:wPnlX7lS0
いいよ
2023/12/28(木) 10:06:50.75ID:Gvv1ir3M0
>>247
そのコードを呼び出す側が全ての例外をcatchするもしくは全ての例外をcatchしないという使い方しか絶対にしないのならいいんじゃね
250デフォルトの名無しさん (ワッチョイ 334d-hEBs)
垢版 |
2023/12/28(木) 13:21:50.26ID:37lmfGGJ0
いいよ
2023/12/28(木) 22:29:56.50ID:Hk4w0gA/0
例外クラスの自作はあまりやらないよな?
既存のヤツでだいたいは間に合う

作るとすれば
エラー情報を盛込みたいとか
しっくりくる名前の例外クラスが無い場合とか
後で拡張を考えてるとか
そんくらいだよな
252デフォルトの名無しさん (ワッチョイ 4ea5-nqB8)
垢版 |
2023/12/30(土) 14:57:08.35ID:AS8gr52a0
なんでも質問スレからきました

VScodeでjavaを勉強する初心者です
プログラムが完成したのでjarファイルをビルドしたのですが
jarファイルをクリックしてもコマンドプロンプトで起動しても
デバッグでの動作を全くせずに終了してしまいます
javaを入れなおして再起動などもしてみましたが起動しません
どうすれば動くjarファイルを作成できるのでしょうか
よろしくお願いします
253デフォルトの名無しさん (ワッチョイ 5f4d-vVi2)
垢版 |
2023/12/30(土) 15:20:21.10ID:7sdDSpr80
>>252
コマンドから実行したら何かメッセージ出力されるんじゃないかな
それをここに貼り付けてくれ
254デフォルトの名無しさん (ワッチョイ 4ea5-nqB8)
垢版 |
2023/12/30(土) 16:07:16.24ID:AS8gr52a0
>>253

* 実行するタスク: java (build): Build Workspace

Building all the Java projects in workspace...

Task complete.
* ターミナルはタスクで再利用されます、閉じるには任意のキーを押してください。


上記のようなメッセージが表示されますが、jarファイルは見当たりません。
255デフォルトの名無しさん (ワッチョイ 5f4d-vVi2)
垢版 |
2023/12/30(土) 16:23:47.09ID:7sdDSpr80
jarはbuild/libsの中にあるんじゃないかな
https://qiita.com/yoshiyu0922/items/4662a3d5f4eb29880a65
256デフォルトの名無しさん (ワッチョイ 4ea5-nqB8)
垢版 |
2023/12/30(土) 16:31:29.73ID:AS8gr52a0
>>255
リンク先はeclipseではないでしょうか
build/libsという項目は見当たりません
2023/12/30(土) 16:33:04.77ID:4WPbBasM0
たぶん、jar ファイルにバグがあって、
エラーで終了しているのだろう

プログラムの冒頭で、sleep, wait して止まるか確かめたら?
もし止まらずに終了したら、プログラムの開始前に、エラーで終了している事になる

>>247
Ruby なら、単にraise すると、RuntimeError となる

raise "単なるエラー!"
2024/01/01(月) 21:00:08.56ID:J0RePgTm0
俺の勘違いかもしれんが、>>254はVSCodeのタスクのログじゃないか?
コマンドプロンプトで起動したときのコマンドと出力を貼って欲しい
2024/02/14(水) 06:19:20.88ID:O+9rqmaV0
Javaのメソッド参照ってそのストリームの各要素がインスタンスかつメソッド参照されてるメソッドがそのインスタンスに属する場合と、System.out::printlnみたいにそうじゃない場合と、Math::sqrtみたいにStaticなメソッドである場合、3種類を察して読み替えないといけないよね?

ラムダ式と比べてメソッド参照の何が読みやすいのか分からんのだけど

そもそも組み込み関数なのかどうか、staticなのかどうかがぱっと見分からない場合不便を感じるのは俺が読解力低すぎるのか?
2024/03/09(土) 22:02:26.83ID:7aPfE9ln0
初歩的な質問で申し訳ないのですが
javaで1ピクセルの点を表示する場合どういった方法を用いるのが良いのでしょうか?
261デフォルトの名無しさん (ワッチョイ 8b56-XE6S)
垢版 |
2024/03/09(土) 22:27:07.16ID:dxjS1XCa0
AWT? Swing? SWT? JavaFX?
2024/03/12(火) 14:25:04.81ID:Id3VOzym0
>>260
試してないけどワイがやるとしたら
java.awt.GraphicsのdrawLineかfillRectでやってみるかな
263デフォルトの名無しさん (ワッチョイ 0d1e-UCxz)
垢版 |
2024/03/13(水) 15:14:09.99ID:0UOudCjQ0
OpenGLで1ピクセルの画像を表示するのがいいと感じます
264デフォルトの名無しさん (ワッチョイ 7d5f-FESj)
垢版 |
2024/03/14(木) 21:42:50.56ID:WzunCsAD0
>>263
それはJavaと関係ない話じゃねえか
265デフォルトの名無しさん (ワッチョイ 13ad-LMA8)
垢版 |
2024/03/18(月) 04:50:36.52ID:3yuQ5Y+00
System.out.println("1ピクセルの点");
266デフォルトの名無しさん (ワッチョイ 92ad-HgBz)
垢版 |
2024/03/26(火) 02:37:50.78ID:3jXGFcMZ0
Java で awt や Swing を使って文字列を描画する時に、枠内に収まるようにするにはどうしますか?
例えば 100 x 200 ピクセルのサイズに合わせて 0 と描画したい場合はどうしたらいいんでしょうか?
2024/03/26(火) 15:07:48.20ID:/GG6K1xM0
>>266
フォントサイズを測って描画するだけだよ
クラスGraphicsからクラスFontを取得すれば出来る
268デフォルトの名無しさん (ワッチョイ b653-U/i4)
垢版 |
2024/03/26(火) 16:54:46.74ID:O5irlSwX0
>>267
計るとは?
フォントサイズはポイントでしか指定できませんよね?
269デフォルトの名無しさん (ワッチョイ 92ad-HgBz)
垢版 |
2024/03/29(金) 11:09:03.74ID:lQxeICWo0
このスレには分る人って誰も居ないのかなあ?
270デフォルトの名無しさん (ワッチョイ f54d-663q)
垢版 |
2024/03/29(金) 12:53:24.99ID:34B6nZMD0
もう回答もらってるじゃん
271デフォルトの名無しさん (ワッチョイ 92ad-HgBz)
垢版 |
2024/03/29(金) 13:00:07.50ID:lQxeICWo0
じゃあ実際に 100x200 ドットの内側に丁度よく文字を描画するのはフォントサイズをいくつに指定すればいい?
272デフォルトの名無しさん (ワッチョイ 59ab-Zif3)
垢版 |
2024/03/29(金) 13:18:38.57ID:VKKh0L5U0
>>271
Windowsなら96dpiだからフォントサイズ(フォントの高さ)200ピクセル(150ポイント)だろ
2024/03/30(土) 00:39:52.65ID:T4n6B8fM0
GlyphVectorでググるといいよ
274デフォルトの名無しさん (ブーイモ MM4b-fGCU)
垢版 |
2024/04/02(火) 11:29:02.94ID:1eoCl02pM
>>266
画像を用意して表示する。
HTMLだってクライアントに合わせて大きさ違いの画像を選択しているんだぜ?
275デフォルトの名無しさん (ワッチョイ 23c2-NjHA)
垢版 |
2024/04/02(火) 15:24:03.53ID:fK4JGkbk0
へー
276デフォルトの名無しさん (ワッチョイ e355-fGCU)
垢版 |
2024/04/04(木) 00:12:56.44ID:w/pqVvX/0
その場で画像を作るのは、処理がもたついたときにボロが出るからな。
2024/04/04(木) 06:53:17.68ID:ZMozL0740
予めサイズいっぱいの画像用意して
描画領域に合わせて拡大縮小する、でもよかったな
絵が粗くなる欠点あるけど分かりやすくはある
278デフォルトの名無しさん (ワッチョイ 85bf-8Jjt)
垢版 |
2024/04/04(木) 09:46:18.53ID:IPbf13/S0
HTMLで複数画像用意するのは写真とかでしょ
図形なんかはSVGなどのベクター形式使ったほうがいい
フォントも同様
あらかじめ複数サイズの画像用意するとかアホかよ
279デフォルトの名無しさん (ワッチョイ 65f2-QS64)
垢版 |
2024/04/04(木) 17:30:30.47ID:BR6EKXmR0
Windowsの場合はこういうことも知ってる必要ありそうだね

Windowsのディスプレイとモニター いまだ96DPIが基準
https://ascii.jp/elem/000/004/038/4038068/
280デフォルトの名無しさん (ワッチョイ e355-fGCU)
垢版 |
2024/04/05(金) 01:14:12.30ID:3ECyzj960
>>278
そういうどうでもいい画像ファイルはWebブラウザ側がキャシュとして保持するから問題にならない。
281デフォルトの名無しさん (ワッチョイ e355-fGCU)
垢版 |
2024/04/05(金) 01:27:47.68ID:3ECyzj960
>>279
いろんなアプリケーションで解像度が合わずにボケて表示されるから、一般人じゃなければいろんなものが混ざった結果だとは気づいている。

Windows 95の仕様では画面の見た目と、印刷時の見た目が同じになることを売りにして発表したが、640×480ピクセルや800×600ピクセルのモニターでは不可能だった。

1280×1024ピクセルが標準的になったWindows XPでも解像度が低すぎて解決しなかった。
282デフォルトの名無しさん (ワッチョイ e355-fGCU)
垢版 |
2024/04/05(金) 01:30:49.70ID:3ECyzj960
ちなみに高精細ディスプレイ、高解像度ディスプレイは目の負担が大きいので、目が良い自分の感覚で作ってしまうのは問題がある。

見た目の格好良さよりも、誰もが読める、見えるものを意識していないと差別主義者と言われたら、反論できないから注意しろよ。
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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