Java入門・初心者質問スレ Part.10

■ このスレッドは過去ログ倉庫に格納されています
2020/04/01(水) 15:09:15.95ID:9COIb57q0
次スレを立てる時は本文の1行目に以下を追加して下さい
!extend:on:vvvvv:1000:512

Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.9
https://mevius.5ch.net/test/read.cgi/tech/1552143555/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2020/04/01(水) 16:00:22.73ID:0bqmJzUx0
初歩的な質問ですみません。

win10でJavaをインストールしたのですが起動できません。

コントロールパネルにはアイコンを表示するにしても出来ず、

edgeでは使えないと書かれていたのでエクスプローラーでインストール
しても同じです。

どうすればいいでしょうか?
2020/04/01(水) 16:20:37.63ID:8UO8UEuUM
>>2
何を起動できないことをどうやって確認した?
2020/04/01(水) 16:28:42.81ID:0bqmJzUx0
>>3さん

Javaです。
2020/04/01(水) 16:35:20.39ID:9COIb57q0
>>4
それじゃわからない
あなたがイメージしてる物とレスを見た人がイメージする物が違う可能性が高い
Javaを起動というのはどこからやろうとしてる?
2020/04/01(水) 16:37:00.37ID:edSLH9KQ0
>>2
まず聞いときたいのは、
エクリプスなどのIDEを使おうとしてる?
それともコマンドラインプロンプトとテキストエディタでやろうとしてる?
2020/04/01(水) 16:44:41.63ID:0bqmJzUx0
すみません、オラクルのJavaとしかわかりません…

エクリプスって何でしょうか?

コマンドラインプロンプト、テキストエディタ、わかりません…

入門書を買って勉強します。
2020/04/01(水) 17:07:42.81ID:edSLH9KQ0
>>7
そのレベルでしたか…

確かに入門書を買った方がいいですね
スッキリわかるJava入門がお勧めです(何を買うか迷ってしまったら、の話です)
9デフォルトの名無しさん (ワッチョイ 23ad-Ujw5)
垢版 |
2020/04/01(水) 17:11:23.06ID:XWi3lCYB0
>>7
あなたは何をする必要があってJavaをインストールしたのか?
また、そのインストールしたJavaとは何処から取得したものなのか?
2020/04/01(水) 17:55:43.99ID:8LLFjcSO0
>>7
>エクリプスって何でしょうか?
>コマンドラインプロンプト
>テキストエディタ、わかりません…

さすがにそのレベルの単語は
覚えないとお話にならないね

入門者が開発環境を整えて動かすまでは
最初の難関なのでそこも学習だと思って
検索して調べながら試行錯誤して欲しい
11デフォルトの名無しさん (アウアウウー Sae9-tptV)
垢版 |
2020/04/01(水) 18:14:23.45ID:pJnjQUrHa
java silver se11 のテキスト買ったんだけど8の方が良かったりしますか?
2020/04/01(水) 19:28:47.19ID:0bqmJzUx0
>>10さん

ありがとうございます。勉強します。
2020/04/01(水) 20:27:15.79ID:4oTiHvSR0
GUIアプリ作ろうと思ってるんだが、どのプログラミング言語がお勧め?
JavaでGUIアプリ作るならどういうフレームワークというかライブラリというかお勧め?
2020/04/01(水) 21:02:04.37ID:SxDu2xEB0
>>13
Java でGUIアプリはやめた方が良い
ネイティブのメモリと JVM のメモリと、絵が一つでもグラフィックスメモリが2重(ひどいと3重)で存在してるって事が割とある
eclipse とか見てるとわかると思うが、とにかく 動作がくそ遅い

GUIのライブラリに関しては好みがあるから、お気に入りのアプリが使ってるライブラリでも調べてみると良い
2020/04/01(水) 21:07:22.93ID:4oTiHvSR0
>>14
今考えてるのはファイル名一括変換アプリを考えてるんだが、Java以外には何が適切?
2020/04/01(水) 21:29:43.83ID:9COIb57q0
>>15
テキストボックスに法則入力してボタン押して変換って感じでいいん?
2020/04/01(水) 22:10:01.53ID:4oTiHvSR0
>>16
雑に言えばそう
2020/04/01(水) 22:15:43.66ID:8LLFjcSO0
>>13
>GUIアプリ
そもそも公開しないなら
コマンドラインで済む場合があるし
公開するならWebアプリの方が便利な場合もある

ファイル名一括変換くらいだったら
Excel VBA のようなマクロ言語の方が
手軽に済む場合もよくある

そのうえでJavaでやるなら
メジャーなGUIフレームワークはSwingやJavaFX
Java8までの標準がSwingで8からFXが標準

>>15
Java以外ならたとえばPythonやRubyがあり
両者のGUIフレームワークにTkがある
2020/04/01(水) 22:37:07.65ID:DmPHfH4A0
ほんとバカ回答しかなくて笑えるw
初心者未満の質問に初心者未満に毛が生えたレベルの奴が回答する図はなんなんだろうな
20デフォルトの名無しさん (ワッチョイ 1b01-Ingx)
垢版 |
2020/04/01(水) 23:15:26.37ID:TDY3Q3ap0
>>14
Eclipseが遅いというのは初耳
2020/04/01(水) 23:31:30.49ID:4oTiHvSR0
今ってJava 13まで出てんのに8の話するのって時代遅れすぎじゃね?
22デフォルトの名無しさん (ワッチョイ 1b01-Ingx)
垢版 |
2020/04/01(水) 23:32:39.13ID:TDY3Q3ap0
じつは14まで出てるの・・・
2020/04/02(木) 00:12:20.93ID:ztiv7GD80
まあ、Java8はOracleも有料で更新版を提供続けてるし
RedHatとかAmazonも提供してるから古いとはいえ一応現役よね。
2020/04/02(木) 00:15:31.01ID:AxZkt/6z0
今後Amazonが業界的に爆勝ちを続けるのは明らかだからAWSに興味持ってんだけど、JavaとAWSを上手くつなげて何かの商品って作れないかな
2020/04/02(木) 01:01:28.78ID:Z4CmvsfA0
初心者未満のゴミがあーだこーだjavaと関係ない技術に興味持っても無意味だから黙って回れ右
どうしても自分語りしたいならお前らみたい馬鹿専用のSNS!
いい加減うざい
ここはおまえのバカの自己主張する場でも日記帳でもないから
26デフォルトの名無しさん (ワッチョイ 8d3b-f5xi)
垢版 |
2020/04/02(木) 01:04:25.32ID:nD3DB2A10
こればっかりは同意。そろそろ空気呼んで別のところでやってほしいわ
2020/04/02(木) 01:07:40.05ID:Z4CmvsfA0
ほんと馬鹿ほど自己主張の自分語りの自己顕示欲塊だからきしょくわりぃんだよな
バカのくせに根底にあるのが承認欲求しかないから
過疎スレには書き込まんくせにちょっと勢いあるスレになると
延々と馬鹿雑談やらバカ回答のレスし続けるんだよな
IPスレの方にいけ低能キチガイども
2020/04/02(木) 01:15:23.89ID:KdcTkuOE0
プリン今日も絶好調やな
2020/04/02(木) 01:18:13.58ID:Z4CmvsfA0
ググって解決できない質問だけここでしろ
雑談はするな
文章まともに書けない池沼と知ったかと
自分でろくにアプリも作ったことのない馬鹿は絶対に回答側にまわらないように
2020/04/02(木) 01:22:09.27ID:Z4CmvsfA0
>>2-18
とりあえずここで質問も回答もしてはいけない低能たちの例
お前らはレベルが低すぎるから入門書ボロボロになるまで読み直してこのスレも見るな
アホ
2020/04/02(木) 01:31:38.22ID:KdcTkuOE0
>>30
う〜ん、それは出来ない相談やな
Javaに関係することならどんなことでも質問していいし、
それに答えられるんならどんなレベルの人でも回答していいと思うんだが

お前さん何の権限があってこのスレ仕切ろうとしてるんや?
2020/04/02(木) 01:40:20.70ID:Z4CmvsfA0
前スレからお前らの回答で解決できたことが一つでもあったか?
ないだろ池沼
前のチャイム君も俺の回答があったから解決したのに
同期化君とかお前とかが散々関係ないことのたまって荒らして酷いもんだったな
>>2の質問の回答だってSWTの3文字で解決する問題を
javaは遅いから〜とか「入門書買おう(キリッ」とか「そのレベルでしたか(キリッ」 とかお前が言うなレベルだし
お前らは全く存在価値がないからとりあえず一生ROMってろ
アホ
2020/04/02(木) 01:54:00.30
俺結構Javaは好きだし、このスレも真面目なスレとして見たいから、反社会的コミュ症ゴミ病気障害者はスルーしてくれた方が助かる
ワッチョイ表示されてるから簡単にNG出来ることだし
2020/04/02(木) 01:59:50.10ID:Z4CmvsfA0
ワッチョイ隠して自演やめろゴミ
お前みたいな低レベルのアホのせいでjavaが土方言語扱いになるんだよ
消えろ低能
2020/04/02(木) 02:59:54.83ID:KdcTkuOE0
>>33
もちろんそれも一つの手だと思うけど、
>>32のような奴でもこのスレの構成要素になってしまっている以上、
無視ばかりもしていられないと思うんだよね
前スレの終わりとか酷かったじゃん
2020/04/02(木) 03:13:02.15ID:Z4CmvsfA0
自 演 や め ろ ゴ ミ

まともな文章書けないゴミのくせにプライドだけは一丁前か
アホ
2020/04/02(木) 04:55:38.76ID:x9gB1xV+0
1レスしただけですぐ正体わかるし、まぁ1週間に1回NGすればいいだけなら
2020/04/02(木) 08:12:58.23ID:BA8GpIv40
>>15
よくあるのが、ファイル名の数字の1 などを、001 などに変えるとか、
半角空白を、_ に変えるとか

Ruby のglob, fileutils で作るのが、間違いが少ない!

Windows に最初から入っている、PowerShell も、そこそこ使える。
ただし複雑なものは、やめた方がよい
2020/04/02(木) 13:35:37.34
>>38
小手先のテクニック程度はどうでもいい
ってかお前発想のレベル低すぎやろ。
2020/04/02(木) 13:50:57.53ID:HiQcKzf40
(最高レベルの発想は出ず)
2020/04/02(木) 13:55:11.62ID:4o7A/tXk0
匿名掲示板で言ったもん勝ちだから
レベル低いとかノイズでしかない
自分でレベル高い意見示さないと
2020/04/02(木) 17:10:40.09ID:BA8GpIv40
フォルダ内の該当する、すべてのファイル名を変換する

xxx1.txt → xxx001.txt

拡張子の直前に、3桁以下の数字があるので、0 埋めする

xxx には任意の文字が、任意の数だけ入る。
ただし、数字の直前の文字は、数字ではない
2020/04/02(木) 17:28:24.40ID:x7hOGWuDM
質問スレらしくなってきた
2020/04/02(木) 18:38:22.97
>>42
正規表現で一発
2020/04/02(木) 18:44:13.91
>>42
ヒントだけ言うなら

(\D*)(\d{1,3})(\.\w{1,3})
って所か
2020/04/02(木) 19:06:06.45ID:BA8GpIv40
漏れなら、ファイル名の後ろから走査して、. までを拡張子として分離する。
. から、さらに前へ走査して、数字以外の文字を見つけるまで、数字だけを取得する

ただし、ファイル名に、. は1つだけ存在すること!
2020/04/02(木) 19:48:23.50ID:x7hOGWuDM
このプログラムで重要なのはエラーハンドリングやろな
2020/04/02(木) 19:51:07.08ID:x7hOGWuDM
ファイルを扱うときは処理ミスがデータ喪失につながるから異常フローの設計が大事
2020/04/02(木) 19:51:51.76ID:x7hOGWuDM
そうですよねプリン先生
2020/04/02(木) 19:59:02.90ID:x7hOGWuDM
通称プリン先生、本明はセルゲイ・プリン、性別は不明
28歳のときパナマの国立美術館から魔法のランプを盗もうとして捕まり
10年を刑務所で過ごしいまは古物商のコンサルタントをしつつ
Javaの初心者質問スレでググりが足りない質問者を教導するのが日課である
2020/04/02(木) 20:00:57.11ID:x7hOGWuDM
好きなものはカニ
2020/04/02(木) 20:41:56.63ID:BA8GpIv40
Ruby で作った。ファイル名を左右反転して処理した。
xy4_12.txt → xy4_012.txt

NUMBERS = ( 0..9 ).to_a.map( &:to_s ) # 0〜9 の文字の配列

str = "xy4_12.txt"
str.reverse! # 左右反転

dot_pos = str.index( "." ) # 前から探す

num_pos = dot_pos + 1
while NUMBERS.include? str[ num_pos ] # 数字なら
num_pos += 1
end

return if num_pos == dot_pos + 1 # 数字が存在しない

nums = str[ dot_pos + 1...num_pos ]
nums.reverse! # 左右反転

zero_num = "%03d" % nums # 3桁、0 埋め
zero_num.reverse! # 左右反転

result = str[ 0..dot_pos ] + zero_num + str[ num_pos..-1 ]
result.reverse! # 左右反転

puts result
2020/04/02(木) 20:52:33.22ID:HiQcKzf40
sscanfみたいなのないっけ
2020/04/02(木) 21:21:20.12ID:4o7A/tXk0
>>42
正規表現の方が短く書けるだろうけど
文字列変換なんて基本的な操作だから
(自作)ライブラリにしてもいいかも
2020/04/02(木) 21:24:06.64ID:4o7A/tXk0
>>46
>ファイル名に、. は1つだけ存在すること
こういう前提って現実に使用する時に
遵守することは難しくて
2つ以上のファイルがまぎれ込むのが普通

それでたとえば2つ以上あったら
エラーで落ちるとかだとまず使い物にならない

そこで最初にドットが2つ以上あるか走査するとか
いろいろなやり方があるだろう
2020/04/02(木) 21:29:57.54ID:Z4CmvsfA0
久々にスレ覗いたらまだゴミみたいなレスの応酬してるw
ゴミみたいなコード書いてる奴もいるし
ほんと自己顕示欲強いだけのゴミ初心者は回れ右してSNS行けってアホ
アホ
57デフォルトの名無しさん (ワッチョイ 1b01-Ingx)
垢版 |
2020/04/02(木) 21:58:05.71ID:y7iYQLaY0
>>56
カニ好き?
2020/04/02(木) 22:08:11.95ID:ztiv7GD80
>>52
スレチだけど、それ、典型的なバグがありますよ。
'xy4_012.txt' を与えたら '012' が8進数として評価されて 'xy4_010.txt' と表示されます。
Rubyなら10進指定のプレフィクスがあるので、せめて
zero_num = "%03d" % ("0d" + nums)
とする必要があります。
どこで文字列が数値として評価されるか意識しないと、
型がゆるいスクリプト系だとよく起きる(もちろんJavaでも起きうる)タイプのミスです。
59デフォルトの名無しさん (ワッチョイ 1b01-Ingx)
垢版 |
2020/04/02(木) 22:19:52.93ID:y7iYQLaY0
ナイスデバッグと言わざるを得ない
プリン代理として
60デフォルトの名無しさん (ワッチョイ 1b01-Ingx)
垢版 |
2020/04/02(木) 22:21:23.40ID:y7iYQLaY0
カニは好き
プリン代理として
2020/04/02(木) 23:04:05.82ID:s8KkhiHc0
>>52
File.extnameやFile.basenameを使ってくれ
reverse!多すぎ

>>58
そこは前段でto_iしたほうがいい
2020/04/02(木) 23:19:13.04ID:Z4CmvsfA0
ゴミコードで初心者未満同士会話するのも
いかにもTHE 低レベルスレって感じなんだよなw
2020/04/03(金) 00:32:03.93ID:i/ruiNDl0
>>61
ああ、そうか to_i で良いんですね。

あとJava でも Integer.parseInt(String) は10進数として解析するので、>>58 の 'Javaでも起きうる' は間違いですね。
数値リテラルとして 0123 と書くと10進数値で 83 ですが、Integer.parseInt("0123") は 123 にしかなりませんね。
訂正します。すみませんでした。
2020/04/03(金) 02:06:36.92ID:z0ijeY750
もうやめてくれ
レベル低すぎて見てられんゴミカスども
初心者未満は回れ右して入門書!
アホ
2020/04/03(金) 02:20:27.14ID:DwkbiooS0
入門書って具体的にどれ?
電機大出版が出してる本とか?
2020/04/03(金) 06:33:04.99ID:bVu0NSo80
相変わらずレス番飛んでるが、ググレカスくんはワッチョイ更新後の最初の1レスに全力かけると良い
それがみんなに見てもらえる唯一のレスだ
67デフォルトの名無しさん (ワントンキン MMa3-29Cv)
垢版 |
2020/04/03(金) 08:46:06.68ID:u9Ip9RjNM
スレが入門初心者向けなんだからレベル低くて当たり前。

なんで怒ってるのかね?
2020/04/03(金) 09:22:16.12ID:WnbtGrWO0
18時間が久々とかwwwwwwwwwwwww
って突っ込み待ちだったとか?
2020/04/03(金) 09:32:26.88ID:yWt1Tau80
むかしむかし、あるところにプリンちゃんという偏屈なプログラマーがいました
プリンちゃんは思い込みが激しく他人とうまく関われません
いつも見下されているように感じ日々ストレスを抱えていました
プログラミング知識が心の拠り所です
「世の中アホばっかりじゃ!」
ある日、初心者スレならイキり散らしてストレス発散できるのではと気付きました
「これは有頂天じゃなあ!ワハハ」
しかし怒った住人たちにアンロードやクラス変数の記憶違いを指摘され笑い者になってしましました
プリンちゃんは発狂して荒らしになってしまいましたとさ
おわり
2020/04/03(金) 11:50:24.87ID:tv+k2Xei0
>>52
さすがに、糞コード過ぎたw

それに拡張子(ドット)が、0以上すべての場合に、動くように作るべきだった

>>65
スッキリわかる Java入門 第2版、2014

ベストセラーはこの本で、文法・オブジェクト指向を学ぶ本
2020/04/03(金) 12:40:39.89ID:tVlvtk9J0
多少間違いがあっても
サンプルコード出す方が
少なくともただ煽る奴よりは
何十倍もマシだからね
2020/04/03(金) 22:05:56.82ID:9+J0Mjhva
オーバーロードのありがたい例というのはありませんか?
例として挙げられているのはありがたみがよくわかりません。
同じメソッド名で別の機能を実現するというのはバグの原因になりませんか?
2020/04/03(金) 22:31:56.65
このスレって入門スレだけど、答えれる奴らですら入門書を1冊終えられたレベルなんじゃね?

最低限、入門書・アルゴリズムとデータ構造・リファクタリング・JSP&サーブレットの入門ぐらいは終えてる奴のレスを聞きたいもんなんだがな
2020/04/03(金) 23:15:43.99ID:DwkbiooS0
>>70
スッキリは俺も(大体)良書だと思うけど、
文字列入力を、
String str = new java.util.Scanner(System.in).nextLine();
としてその後補足説明を加えてない所が気に入らなかった

別スレに書いたけど、
例えば名前と年齢をキーボード入力して出力するコードが
public class Main {
__public static void main(String[] args) {
____System.out.println("名前を入力して下さい");
____String name = new java.util.Scanner(System.in).nextLine();
____System.out.println("年齢を入力して下さい");
____int age = new java.util.Scanner(System.in).nextInt();
____System.out.println("私は" + age + "歳の" + name + "と申します");
__}
}
のような感じで解答例に載っている
これは冗長でもあるが、それに加え処理系によってはエラーになってしまう
インスタンス化に触れる前に教えないといけなかったからこうなったんだろうが、
import java.util.*;
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
と分けて教えるべきだと思う
2020/04/03(金) 23:44:27.24ID:UYNPUerCa
>>72
オーバーロードは悪というのが近年の流れで、バグの原因になるというのもの通り
GoやRustなど、実際最近の言語ではオーバーロードは無くなっている
2020/04/04(土) 02:45:28.50ID:LAu3z5a90
>>72
例としてはStringBuilderのappendメソッドがObjectと全プリミティブをオーバーロードしてるのはありがたいと思う
いちいちappendLongとかappendCharとか呼び分けさせられたらアホかと思うし、用途的にオーバーロードも適さない

ほかにもJavaが言語仕様としてデフォルト値や名前付きの引数をサポートしたり、JEP360がらみでKotlinでいうsealed classのような代数的データ型を効率的にサポートするようになったりするまでは次善の策として便利な言語仕様だと思う

用途の異なるメソッドに同じ名前を付けたらそりゃ有害だけど、名付けが狂ってることの有害性はオーバーロード以前の問題でもあるし
2020/04/04(土) 02:46:22.97ID:LAu3z5a90
>>76
訂正
×オーバーロードも適さない
◯オートボクシングも適さない
2020/04/04(土) 03:00:42.77ID:H0jGuf/J0
>>72
オーバーロードがイヤなら別にIF文でもいいが
複雑なIF文の分岐だってバグの原因になるだろう?

個人的にはネストしたIF文よりマシだと考えてる
なおポリモーフィズムも似たようなことね


>>75
Goは手続き型でCの後継言語みたいなもんだから
Javaとはぜんぜん方向性が違う
2020/04/04(土) 15:15:10.02ID:LAu3z5a90
>>42
Javaで書くとどうもくどいな
https://ideone.com/ZXUpmE

Kotlinで少し改善
https://ideone.com/llL3kd

ファイル操作ならPowerShellがいい
https://ideone.com/hpQohg
2020/04/04(土) 15:42:50.99ID:uZn/6uWB0
クソコード貼り付けてスレ荒らすなゴミ
81デフォルトの名無しさん (ワッチョイ 1b01-Ingx)
垢版 |
2020/04/04(土) 19:09:56.38ID:VszBH+2q0
>>42
どれワシが手本をみせてやろうかの
https://paiza.io/projects/Av60L3PpkboQO8GyZvV2Zw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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