Java入門・初心者質問スレ(ワッチョイなし) Part.8
■ このスレッドは過去ログ倉庫に格納されています
>>105
classにstaticをつけると
class Outer {
int outerValue;
class Inner {
int getValue() {
return outerValue;
}
}
}
こういう外側のインスタンスメンバにアクセスするのができなくなる
あとはインスタンス化するとき
// 非static classはこう
var inner = new Outer().new Inner();
// static classはこう
var inner = new Outer.Inner();
違いはそれくらい >>103
>>104
ありがとう新明解国語辞典見てみるわ 多言語・多技術の2大著者が、掌田津耶乃・山田祥寛
それに続くのが、柴田望洋・スッキリ・やさしい・猫でも・クジラ飛行机など あるwebサイトで動いている.jsのサイトがあって、
(そこでは.jsと.cssがgithubで配布されてる)
それを自分のブラウザで実行してみたいのだが、
つまり上にあるwebサイトにいかず、自分のデスクトップにある.htmlファイルなんかをクリックすることでブラウザで開いてい実行したいのだが、
どのようにしたらいいのか
.jsと.cssだけではなく、動いているwebサイトの中のソースも必要なのだろうか
具体的にどう記述してやればいいのか 0円で売ってるHTMLの入門書の0ページに書かれてるようなことすらわからないチンパンは
5chで質問する前に本読むなりググったりしろゴミ >>111
コミュ障だからってウザ絡みでしか対人関係を築くスキルが無い人は面倒なのと、
そういう煽りは時代遅れなんでいいです。
なので引き続き再掲
あるwebサイトで動いている.jsのサイトがあって、
(そこでは.jsと.cssがgithubで配布されてる)
それを自分のブラウザで実行してみたいのだが、
つまり上にあるwebサイトにいかず、自分のデスクトップにある.htmlファイルなんかをクリックすることでブラウザで開いてい実行したいのだが、
どのようにしたらいいのか
.jsと.cssだけではなく、動いているwebサイトの中のソースも必要なのだろうか
具体的にどう記述してやればいいのか 内容による。
ていうかそれ以前の問題として、スレチだ。
ここは Java のスレであって JavaScript のスレではない。 急募
自分のバカさが1ミリも理解できてないバカに現実を見せる方法 あるwebサイトで動いている.jsのサイトがあって、
(そこでは.jsと.cssがgithubで配布されてる)
それを自分のブラウザで実行してみたいのだが、
つまり上にあるwebサイトにいかず、自分のデスクトップにある.htmlファイルなんかをクリックすることでブラウザで開いてい実行したいのだが、
どのようにしたらいいのか
.jsと.cssだけではなく、動いているwebサイトの中のソースも必要なのだろうか
具体的にどう記述してやればいいのか
分かるならすっと即答してくれりゃ解決するのになぁ、勿体ぶるってことは知らないってことなんだろうなぁ、でも口をはさみたいという? 準知的障害者の怖いところってこういう自覚0なところなんだよな
学生のときに全教科オール1取ってる奴がいたんだけどそいつは普通に会話もできるし家庭教師もつけてたんだわ
でも毎期全教科オール1
大人になってから偶然あったときはいろいろと残念なことになってたのは言わずもがな
この無自覚のバカもたぶん同じタイプの池沼で小学生でもHTMLの本渡せば1分でわかることを延々と他人に聞く
自決能力が皆無の思考能力0バカ人間
お前がプログラムを学んでも周りに迷惑をかけるだけなのでとっとと諦めて消えろゴミ こういうやつ某QAサイトにもいるわ
質問に答えてないことを指摘したら顔真っ赤にしてキレ出すやつw
答える気ないならスルーしろよw お前のは質問とすら言えないほど幼稚な内容だからただの荒らしなんだわ
答えたら100%居つくからこうやって撃退するしかないんだよね
わかったらとっとと消えろゴミ あるwebサイトで動いている.jsのサイトがあって、
(そこでは.jsと.cssがgithubで配布されてる)
それを自分のブラウザで実行してみたいのだが、
つまり上にあるwebサイトにいかず、自分のデスクトップにある.htmlファイルなんかをクリックすることでブラウザで開いてい実行したいのだが、
どのようにしたらいいのか
.jsと.cssだけではなく、動いているwebサイトの中のソースも必要なのだろうか
具体的にどう記述してやればいいのか
教えてくださいよ、勿体ぶらずに .jsってのはね
JavaScriptのソースにつける拡張子だから
JavaScriptスレで聞くか
https://mevius.5ch.net/test/read.cgi/tech/1659855460/l50
それか
Web制作板
https://mevius.5ch.net/hp/
で聞いたほうが効果的だよ
ここはJava言語のスレであって.js .css .htmlをケアするスレじゃないよ >>122
そこはワッチョイもあるしIPも表示するカスなので無理です
あと末尾Mですね
>>123
親切にありがとう
でもせっかくだから四半世紀くらい居座らせてもらおうかなってこれも何かの縁でしょうし 217 今、天王星のwiki見てきたら軌道傾斜角(i) が0.774°だった (ワッチョイ 897b-UuoP) 2022/10/23(日) 11:41:24.81 ID:EvlJxUOY0
今のワイ
・ほぼほぼgitの扱いが分かるかもしれないになってきた
・pythonもなんとなく分かるかかもしれないになってきた
・webuiの機能についてもなんとなく頭に入った、web版とローカル版のプロンプトの違いもなんとなく
・wikiのプロンプト変換便利じゃねと気づく
・ギフハブみて.cssと.jsを得て、オンラインで動かしてみてえなぁと思う
(オフラインで自分のブラウザで実行してみたい、wikiとかの項目がない感じで)ブラウザにこの画面だけ出る感じで
https://i.imgur.com/OPzQsQb.png
早速プログラム板いって聞いてみるも速攻で煽れたので暴れ返し中
Java入門・初心者質問スレ(ワッチョイなし) Part.8
https://mevius.5ch.net/test/read.cgi/tech/1528554781/110 これがワイ >>125
なんJNVA部★71
https://fate.5ch.net/test/read.cgi/liveuranus/1666476917/217
転載はしっかり転載元をはらんといかんで
ワイ発達障害障害基礎年金2級精神障害者福祉手帳2級+生活保護ナマポ+非課税世帯給付金5万楽しみニキ >>121
ブラウザで普通に保存したらいんじゃないかな 普通に保存じゃ満足いかんでな
せっかくやから学んでみよう思ったんやで >>127
> あるwebサイトで動いている.jsのサイトがあって、
あるサイトとはどこのサイトなの?
> wikiのプロンプト変換便利じゃねと気づく
何のwikiなの?
プロンプト変換って何?
> ギフハブみて.cssと.jsを得て、オンラインで動かしてみてえなぁと思う
ギフハブの何を見たの? 何をやろうとしてて何に困ってるのかわからないので
もっと詳しく具体的に教えて あるwikiでギフハブの.cssと.jsを参照しているファイルがある
これをオフラインでブラウザで表示しようとしている
適当にフォルダを作りその中にindex.htmlを作り
stylesフォルダ(ここにcss入れる)、scriptsフォルダ(ここに.js入れる)も作る
https://i.imgur.com/oeV13yw.png
indexはこんな感じや。うごかない。 自力で何とかいけた
クソやりたくもないのにhtmlやのjavaやのcssやの
もう気づいたら夕方やんけ
htmlの基礎からcssの基礎からjavaスクリプトの基礎から何時間かかったよ
くたびれた
せっかくやからパイソンも勉強するためにこのスレにいることにするで >>111
このあたりのやり取りからファイトメラメラになったからここを巣にするで
もちろんパイソンも行き来するが
案外楽しいものやなプログラミング
あとリアルスティックにするとラブドールぽくなるから注意や
あ、これはなんUに書くべきか
まあええで JavaScript(JS)の質問は、web制作管理板の方へ書き込んでください!
ここは、Java のスレです。
JSとは異なる言語です! >>135
JavaとJavaScriptは違うものだよ ファイトメラメラという言葉のセンスがたまらないw
昭和の小学生(現在無職おじ)って感じなん? Web制作板で聞いたらみんないっぱい答えてくれると思うけどw
ここだとおそらく今後は単に無視されるよ
Java言語っていうプログラミング言語のスレでしかないもんここは ファイトwメラメラwwwなんだからしょうがないじゃないかーw
ムッシュムラムラみたいなもんだよw 来月からJavaのプロジェクトに入るのですが
未経験で独自フレーム扱ってる企業で経験積んだ場合、springとか使ってる企業に転職するとき不利になったりしますか? >>143
springの即戦力を探していて、同じくらいのレベルのspring経験者が競合だったら
不利になるかもしれないね。
あとは宗教的理由でspring使っていなかった人でなし扱いされるとか。
ぶっちゃけ、派遣契約じゃあるまいし、転職でそんな末節の部分の経験が
クローズアップされて重要視されて採用の可否を左右するような会社だったら
そいつは間違いなく自転車操業でその場当たりの仕事をしてるだけのブラック
だから、やめたほうがいいよ。 独自フレームワークはキツイね
当たり前だけど、ググっても使い方が出てこない
独自フレームワーク使ってるような現場は学習コストを理解できない奴が多いから即戦力を求められたりもする
避けたほうがいいよ >>144
なるほど
詳しく教えていただきありがとうございます
同レベルの競合以外だとそんなに気にする要素ではないんですね
他の部分で差をつけれるよう頑張りたいと思います >>145
現場入り前に勉強しておきたいと色々調べましたが全く情報出てこなかったですね
仰るとおり当然なのですが >>146
すみません
僕自身が勝手にそう呼んでいるだけです
誤解招かないように今後は省略せず言った方がいいですね マルチコア/マルチスレッドの恩恵を受けるには自分でスレッド生成しないといけないのですか
コンパイラーやランタイムが依存関係のないコードを見つけて勝手に複数スレッドに割り当ててくれるとかはない? mainメソッドでどこも引数はstring型の配列で書かれていますが、配列じゃないstring型では駄目な理由ってなんでしょうか?(String argsとしている例文が無いので気になりました) コマンドライン引数は複数渡されるから
配列が嫌なら可変長引数でもいいよ
String args... mainメソッドの引数の型はjavaコマンドの仕様で決まってるから、変えたらjavaコマンドからmainメソッドが呼ばれない
https://docs.oracle.com/en/java/javase/19/docs/specs/man/java.html
java コマンドは、Java アプリケーションを起動します。これは、Java仮想マシン(JVM)を起動し、
指定されたクラスをロードし、そのクラスのmain()メソッドを呼び出すことによって行われます。
このメソッドは、publicかつstaticに宣言され、いかなる値も返してはならず、
パラメータとしてString配列を受け入れなければなりません。
メソッド宣言は次のような形式です。
public static void main(String[] args) vscodeとdockerでj2ee開発がしたいです >>151
レス遅れてごめんなさい
ありがとうございます
やはり何がしかのコーディングでの細工がいるということですね
勉強してみます Set の中のオブジェクトへの参照を順次検索なしに直接取り出すことはできますか?
a と b は同じクラスの等価で異なるオブジェクトです (a!=b かつ a.equals(b) が真)
オブジェクト a への参照だけが既知で set.contains(a) が真の場合に set の中にあるオブジェクト b への参照を取り出すことはできないでしょうか
Set のサイズが大きいのでできれば順次検索は避けたいです
現在はとりあえず Set の代わりに Map を使って key と value に同じオブジェクトにする (map.put(b,b) のようにして要素を入れる) ことにして map.containsKey(a) が真のときに map.get(a) で b への参照を取得していますが他にいい方法がありましたら java.util.Set だと a.equals(b) が真のとき、 set.contains(a) と set.contains(b) は排他のはずだが……
java.util.Map も同一キーで複数の値は持てないはず
commons とかのサードパーティライブラリに MultiMap とか MultiValuedMap とかあるからそっち使うか
適当なクラスを自作するしかないんじゃね? >>160
レスありがとうございます
説明が悪くすみません Set / Map に重複要素/重複キーが許されないのは承知しています
java.util.Set の中に入っているのはオブジェクト b だけで、a.equals(b) (すなわち Set.cotains(a) が真) を満たすオブジェクト a を釣り餌?にして b への参照を取り出したいというのが希望です その用途だとMapが良いと思うよ
比較のkeyと取得したいvalueが異なるんでしょ
JavaのHashSetは内部でHashMapを使ってるからコストは同じだよ Setが内部に保持してるオブジェクトを取得するのは無理 自作するとしたら配列に入れて二分探索しとくかなー自分なら >>162-164
なるほど HashSet のドキュメントとソースを見ると HashMap を使って実装していました (細かいところは理解できませんでしたが)
Mapを使うと要素追加が map.put(b, b) となるところになんか違和感を感じていたのですが 気持ちの問題だけでやりたいことはできているのでこのまま行くことにします
ありがとうございます なんかCSVファイルをレコードの3番目の項目をキーにソートしたいんですが
文字列が入ってるからint型とかにするのは無理
なんでこんなに複雑になるんだろう
何か良い方法ありますか?
Arrays.sort
これってint型しか入れられないような
駄目
Comparableインターフェースを自作してなんちゃらって
大掛かり過ぎて書くのもテストするのも偉い大変そうでパス
なんか結局キーにしたい項目一番左に持って行って全部入れ替えながら
もう一回カンマ区切りのレコード編集し直してそれを配列でなくリストに入れてって
リストをソートして
ソート後のリストからレコード並びを元の並びに直しながら取り出して
FileWriterしてみたいな超見辛くてダラダラ長ったらしくなった
IOどっちもテキストファイルだし外部ソートにしてなんか適当なツールにやらせた方が早かった気もするけど
外に飛んでる間に何起きるかわかんないし処理内容から非同期処理に出来ないし 特定のコードを入れると処理時間が増えてしまう現象があり原因を調べたいと考えています
(問題となるコードの実行は1msecもかからないがパスが変わらないはずの後続の処理時間が数10%増加する)
メソッドごとの経過時間や通過回数をレポートできるようなツールはないでしょうか
仕事ではなくお遊びのプログラムなのでフリーのものが希望です 俺だったらLinqのJava移植を探して使うかな(良いのがあるか知らんけど)
良いライブラリ見つけたら教えてくれや Eclipse Collectionsが良いよ
メソッド名が独特だけど機能的にはLINQと同等 >>171
なかなかいいね
メソッド呼び出しのたびにコレクションを生成してるっぽいのが気になるけど そだね、lazyにするといんだけど暗黙にlazyなLINQよりそこは面倒だね RustのようにIteratorをリッチにする方が個人的には気に入ってるから自分は自作のもの使ってる >>166
Collections.sortにComparator付きで渡せばいいんじゃないの?
大掛かりにもならんと思うけど > キーにしたい項目一番左に持って行って
この時点で行から目的のカラムが取り出せてるのだよね
行がStringからあと一息で
Comparator<String>.compare(String, String)
が作れるはず
その他のメソッドは実装不要
それを
Arrays.sort(String[], Comparator)
に食わせる File fileA = new File("D:\\imgCom\\imgA.png");
File fileB = new File("D:\\imgCom\\imgB.png");
imgA = ImageIO.read(fileA);
imgB = ImageIO.read(fileB);
対象ファイルはあるのに何故ファイルの読み込みエラーが出るのでしょうか? 学生だと思うけど質問する奴にこういう小中学生レベルの頭の弱い奴しかいない現象に名前をつけろ!!! >>180
javax.imageio.IIOException: Can't read input file!
at java.desktop/javax.imageio.ImageIO.read(ImageIO.java:1308)
at testCase.Test.main(Test.java:19)
になります ・ファイルが存在しない
・ファイルに排他ロックが掛けられている
・ファイルの読み取り権限がない
・ファイルがpngじゃない
あたりじゃないかな ありがとうございます。
対象ファイルの「プロパティ」->「セキュリティー」タブ->Object nameから絶対パスをコピーしてるので、間違いは無いかなと思います。
また、アクセスコントロールにあってもFull controlはAllowです。
ファイルに排他ロックが掛けられているか調査方法を調べて確認してみます。 パスが正しいかもチェックしてみたら?
fileA.exists();
fileB.exists();
https://docs.oracle.com/javase/jp/8/docs/api/java/io/File.html#exists--
この抽象パス名が示すファイルまたはディレクトリが存在するかどうかを判定します。
戻り値:
この抽象パス名が示すファイルまたはディレクトリが存在する場合はtrue、そうでない場合はfalse さらに読み取れるかどうかも。
https://docs.oracle.com/javase/jp/8/docs/api/java/io/File.html#canRead--
public boolean canRead()
この抽象パス名が示すファイルをアプリケーションが読み込めるかどうかを判定します。一部のプラットフォームでは、読取り不可としてマークされたファイルの読取りを許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。その結果、このメソッドはファイルに読取り権がない場合でもtrueを返す可能性があります。
戻り値:
この抽象パス名が示すファイルが存在し、さらにアプリケーションがそれを読み込める場合だけtrue、そうでない場合はfalse 便利な関数ありがとうございます!
上記の関数を使用し、パスと読み取りを確認したところ、
どちらもfalseでした。
そのため、まずはパスを確認してみます。 ファイルパスをコピペしてFile.exists()がfalseって、ファイル名に多バイト文字使ってたりしない?
もし多バイト文字使ってて、Windows, Linux, Macが混在してるなら、MacのNFDモドキが悪さしてる可能性もある
(ソースコードかファイル名のどちらかがNFDモドキで、文字列の見た目は同じだけどbyte列は異なってる状態) window10の環境下において、
ペイントから新規作成した画像ファイルに半角英字でファイル名を付けて保存したので、多バイト文字ではないと思っているのですが。
また、ソースコードの文字エンコードをMS932、US-ASCII、UTF-8などに変更して実行しましたが結果は上記と同じくfalseのままでした。 ああ、多分分かった
その、ファイルプロパティダイアログからコピペすると余計な制御コードがパスの文字列の先頭についてるみたい(Windows10)
"D:\\.." の "D" の前に余計な(見えない)キャラクタコードが含まれてるはず
"D" からダブルクオートの前まで削除して手打ちしなおすと動作したりしない? 手打ちでも動作はされませんでした。
パスの書き方がおかしいのか調べてみます。 連投すみません。解決いたしました。
原因はパスの書き方で、
File fileA = new File("D:/imgCom/imgA.png");
だとパスが通りました。
いろいろと教えていただき、ありがとうございました。 Ruby では、"〜"内では、\ に特殊効果があるけど、
'〜'内では、単なる普通の文字
'C:\Users\Owner\Documents\a.txt'
"C:\\Users\\Owner\\Documents\\a.txt"
または、
'C:/Users/Owner/Documents/a.txt'
"C:/Users/Owner/Documents/a.txt" Unicodeの問題だったのかな?
Shift_JISでは円記号とバックスラッシュの文字コードは同じだったけど、Unicodeでは区別される
円記号を2つ並べても意味がない >>191
それなら new File(”D:\\imgCom\\imgA.png”) でも動作するよ
>>178で駄目だったときはエクスプローラのダイアログからコピペしてから \ を2重化したんじゃない?
その場合、>>189で書いたように " と D の間に U+202A (LEFT-TO-RIGHT EMBEDDING) キャラクタ(見えない)が含まれてしまうので、
Java (というかWindows) は [U+202A]D:\imgCom\imgA.png というファイルを開こうとして失敗する
189できちんと2重にしてたから理解していると思って雑に"コピペして"とか書いたけど、
Javaでは " で囲まれたStringリテラル中の \ はメタキャラクタだから \ 自体は常に2重にしないといけない
コピペしてもそこは修正するという前提だった(すまんです すまん
File("...")
のところのダブルクオートが1byteじゃなくなってるけど、そこはただの 0x22 ね >>195
確かにバックスラッシュ2個でも実行できました。
LEFT-TO-RIGHT EMBEDDING) キャラクタが含まれていたから失敗していたわけですね。
大変勉強になりました。ありがとうございます! 対象ディレクトリの中にファイル(001.et,002.et,003.et, .. xxx.et)が複数あり、
001.etと002.etを比較し、その後に002.etと003.etを比較、さらに003.etと004.et
を比較し、最後のファイルを比較したら完了するプログラムを作りたいのですが、
書き方としてはdo whileかwhileどちらが一般的でしょうか?
条件:ディレクトリには2つ以上のファイルが存在するものとする Ruby では、each_cons を使う
p ary = %w(35 11 3) # 文字列配列
#=> ["35", "11", "3"]
ary.sort!
p ary #=> ["11", "3", "35"]
p result = ary.each_cons( 2 ).map{ |a, b| a + b }
#=> ["113", "335"]
"11" + "3"
"3" + "35" >>198
> 条件:ディレクトリには2つ以上のファイルが存在するものとする
とはいえ二個未満のときに対応できないのは嫌だから
do whileかwhileかでいうとwhileでやるかな?
あと自分でやるならforでやっちゃうかな?
https://ideone.com/EmiFYo
File[] files = {
new File("A"), new File("B"), new File("C"), new File("D")
};
for (int i = 0; i < files.length - 1; i++) {
System.out.println(files[i]+", "+files[i + 1]); // ここで比較
} public static void main(String[] args) {
var dir = Path.of(".");
try (var files = Files.list(dir)) {
var it = files.iterator();
var p = (Path) null;
while (it.hasNext()) {
var c = it.next();
if (p != null) {
System.out.println(p + ", " + c);
}
p = c;
}
} catch (IOException e) {
throw new RuntimeException(e);
}
} >>202
わかりやすい
while の前でitに要素があればpに代入してしまうのもありかも ファイルパスエラーとかっていう超絶頭の悪い問答を何日も続ける低次元っぷりに絶望するゴミスレ ■ このスレッドは過去ログ倉庫に格納されています