X



Java入門・初心者質問スレ Part.10
■ このスレッドは過去ログ倉庫に格納されています
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にもあるやろ
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アイコンから環境設定のチェックしてみたら?
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
それは知らない
僕は事象だけみて説明がつく理屈を考えた
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
ここで手取り足取り教えることなんてできないんだから、質問内容をもっと具体的に絞り混んだりしないと答えようがないよ。
まずは一通りやりたいことがかかれてる入門書を買って頭から順に学習して、具体的に分からないことが出てきたらそれを質問してみたら誰か答えてくれると思うよ。
■ このスレッドは過去ログ倉庫に格納されています

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