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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/03/09(土) 23:59:15.92ID:ACok0wnJ
Java初心者のためのスレッドです。

※前スレ
Java入門・初心者質問スレ Part.8
http://mevius.5ch.net/test/read.cgi/tech/1528370228/
243デフォルトの名無しさん
垢版 |
2019/12/15(日) 17:56:44.19ID:z/NdhwFC
>>242
1 http://i.imgur.com/LypT49R.jpg
2 http://i.imgur.com/C4ZpGzk.jpg
3 http://i.imgur.com/zI74k2w.jpg
4 http://i.imgur.com/MPL7tD7.jpg
5 http://i.imgur.com/C8AGLAo.jpg
6 http://i.imgur.com/cDQa1wx.jpg
7 http://img.nude-media.com/articles/064/b/26.jpg
8 http://i.imgur.com/78RviHc.jpg
2019/12/15(日) 19:34:30.20ID:RWOwdvLl
こんな所で趣味晒さんでもw
2019/12/15(日) 20:10:31.28ID:H0jhLNJt
ぐっすり寝たら頭が回復しました睡眠不足だと頭が回らなくなります。
雰囲気的に答えは分かるのですが、他人に説明出来るまで理解できてません

色々有難うございます
またお願いします('ω')ノ
2019/12/15(日) 21:29:51.12ID:H0jhLNJt
オーバーロードの問題が雰囲気的に答えを当てれるんですが
説明できるほどの理解力がないです
何度か黒本読み返して、まとめてから質問します
宜しくお願いします(゚∀゚)
2019/12/15(日) 22:08:08.79ID:a9EBtNju
Spring bootで練習用のプロジェクトを作っています
Spring組み込みのTomcatだと問題なく動くのですが
STSのPivotal tc Server v4.0でプロジェクトを立ち上げるとエラーになってしまいます
MyBatisの設定が足りないのだとは思うのですが
原因がわかる方いらっしゃいますか?

依存性
グループID:org.mybatis.spring.boot
アーティファクトID:mybatis-spring-boot-starter
バージョン:2.0.0

エラーメッセージ
***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to bind properties under 'mybatis.configuration.incomplete-methods[0].arg0' to org.apache.ibatis.builder.annotation.MapperAnnotationBuilder:

Reason: Failed to bind properties under 'mybatis.configuration.incomplete-methods[0].arg0' to org.apache.ibatis.builder.annotation.MapperAnnotationBuilder

Action:

Update your application's configuration
2019/12/15(日) 22:41:52.13ID:jIykbH2E
3日でスッキリわかるjavaを駆け足で読んで白本の模擬試験ページまでやってみたら正解率53%で笑えなかった・・・
趣味でpython勉強始めて、転職先がjava使うから勉強始めたけど難しい
249237
垢版 |
2019/12/15(日) 23:19:10.22ID:fpSJINfx
Go は、継承を無くしたw

has-a しかないw
すべてインターフェース

包含・部品を持つ・機能の実装・インターフェース・Duck Typing
2019/12/15(日) 23:26:02.05ID:fpSJINfx
>>247
「spring boot error org.apache.ibatis.builder.annotation.MapperAnnotationBuilder」で検索!

エラーメッセージで検索するのが、開発の基本!
2019/12/16(月) 00:49:43.44ID:dHY/yF0Y
>>250
諦めずにググってみたところ解決しました!
以下のサイトでkazuki43zoo先生が
「この問題はversion 2.2.0.M4で解決してるよ」と仰っていたので
pom.xmlを修正したところ動くようになりました
ttps://github.com/mybatis/spring-boot-starter/issues/350
2019/12/16(月) 22:42:04.19ID:fZQeqn0a
明日シルバーの試験受けるけど怖いな
コマンドライン引数、data型、ラムダ式が頭に入らない
253デフォルトの名無しさん
垢版 |
2019/12/16(月) 22:45:57.06ID:yb7D3Ob/
>>252
実際の問題はかなり偏っている。気にしている問題はいっさい出ないかもしれない。
2019/12/16(月) 22:53:59.79ID:fZQeqn0a
>>253
そうなのか。
黒本で最後の模擬試験が初見で75%くらいの正答率だったけど、自分でもまぐれだと思うから恐怖が拭えないでいる。

先駆者様敵にこの辺は注意して抑えた方がいい、みたいな情報があったら欲しいです。
255デフォルトの名無しさん
垢版 |
2019/12/16(月) 22:59:34.95ID:yb7D3Ob/
>>254
時間配分は気にした方がいいよ。後半に時間がかかる問題が集中して落ちた経験がある。
256デフォルトの名無しさん
垢版 |
2019/12/16(月) 23:01:14.66ID:yb7D3Ob/
どのくらい問題パターンがあるかわからないけど、継承がらみの問題はかなり多いと思う。
2019/12/16(月) 23:04:36.36ID:fZQeqn0a
>>256
なるほど。
逆にその辺は点数取れてるからまだマシかな。
自分の得意分野ひけるようにお祈りせねば。

アドバイスありがとう。
2019/12/17(火) 00:01:37.45ID:usUOy1ft
シルバー頑張れ!
259デフォルトの名無しさん
垢版 |
2019/12/17(火) 20:41:21.95ID:MJlJMtAr
>>257 は落ちたんだろうな
260デフォルトの名無しさん
垢版 |
2019/12/19(木) 12:47:23.83ID:0uPukb6z
資格か。そういや俺コンピュータ関係の資格何も持ってないな。なんか取るか。若くないし定年も近づいてきたので今さら取っても無駄だけど。
261デフォルトの名無しさん
垢版 |
2019/12/19(木) 17:34:16.14ID:0fCAv49u
エラー箇所にカーソルを当てたらeclipseのIDEが解決策を示してくれてたのに、気づかずに1日無駄にしてしまった。
262デフォルトの名無しさん
垢版 |
2019/12/19(木) 17:35:31.71ID:z2h0/IGx
>>261
エラーって何だよ? 
2019/12/21(土) 10:28:22.30ID:kL8tLCEf
とりあえずさっきプロゲートをギブアップしてきた
配列と繰り返しのとこが難しすぎる
何をやる為のプログラミングなのかがサッパリわからない
もう少し目的をうまく伝えてくれる教材が欲しい
配列と繰り返しの目的をわかりやすく教えてくれる教材なら1万でも安くない


どなたか配列と繰り返しを初心者にもわかるようにちゃんと説明できている教材をご存知ないですか?
2019/12/21(土) 10:37:28.59ID:FVpaWGAx
俺もProgateのJavaは途中までやってた
とても有料まで進む気にならなかったわ
無料の部分で思いとどまって良かった
ProgateのJavaは途中で急に難しくなるからな
理解力がずば抜けてる人ならいいんだろうけど俺は凡人だしプログラミング初心者だしな
もっとわかりやすい初心者用のプログラミングアプリがあればいいのに
2019/12/21(土) 10:39:25.58ID:kL8tLCEf
結局本を買う事から始めてみるか
不安だから優しそうなJavaの本を片っ端から買ってみる
どうしてもJavaを覚えたい
2019/12/21(土) 14:02:41.77ID:tKqa0Mcd
>>263
説明出来てない教材のほうが少ないと思うぞ
「Java 配列とは」で検索して10個くらいの説明読み比べるといいかも
Progateはどんなもんなのか見てみたがあれはウンコ

仕事で考えてるならスッキリのような超入門書をサクッと読んだあと
Head Firstのようなしっかりした入門書を読むことを勧める
2019/12/21(土) 15:06:19.07ID:kL8tLCEf
>>266
゚+。:.゚おぉ(*゚O゚ *)ぉぉ゚.:。+゚
ありがたい
2019/12/21(土) 15:07:41.78ID:kL8tLCEf
てゆうかプロゲートでわからなかったところはネットで解決した
簡単に説明してて一発で理解できた
2019/12/28(土) 00:45:15.64ID:Nw+g0oHm
>>260
エクセル初級とか持ってる爺は可愛いかもしれない
2019/12/28(土) 00:51:07.95ID:Td7wq8Cw
プリミティブ型の変数の宣言と、インスタンスをnewする文だったら、
やはり前者を上に書くべきでしょうか?
2019/12/28(土) 01:28:06.39ID:b3ohKRMf
>>270
どういう順序で書けば読みやすくなるかを考えて決める
プリミティブだから先に書くべきって考え方はしない
2019/12/28(土) 02:16:55.89ID:Nw+g0oHm
超初心者です。宜しくお願いします
カッコに入るコードを選択する問題がありました

class Q27 {
public static void main ( String [ ] args )
int [ ] date = { 10,20,30,40,50 } ;
int sum = 0 ;
for ( int i = 0 ; 【ここにコードを挿入】; i ++ ) sum += date [ i ] ;
System . out . println ( sum / dara . length ) ;
}

解答
i < = date . length -1

解説で「変数 i は配列 date の添え字であるため、i の値が 0 からdate.length -1」まで変化するように条件式を設定すればよい」
との事ですが、いまいちわかっていません
申し訳ありませんが、どなたか解説お願いします。
273270
垢版 |
2019/12/28(土) 02:40:53.23ID:Td7wq8Cw
>>271
ありがとうございます

>>272
配列変数名がdateになってますが、dataの間違いですかね
日付は31日までですし…

配列dateの最後の要素(=5番目の要素)は、date[date.length]ではなく
date[date.length-1]となります(この場合はdate[4]が最後の要素となる)
添え字は0から始まるので最後の要素は要素数-1(=length-1)となる点に
お気を付け下さい
2019/12/28(土) 02:56:02.38ID:Nw+g0oHm
>>273
解説有難うございます
誤字脱字で申し訳ありません
「data」です。
添え字が0から始まるのは理解しております
問題で「 i++ 」と記入されているから「length-1」とするのでしょうか

お手数ですが宜しくお願いします
<m(__)m>
2019/12/28(土) 03:35:12.50ID:Td7wq8Cw
>>274
ごめんなさい、どこが分からないのかがいまいち伝わりませんでした…

i=0の時、data[0]=10
i=1の時、data[1]=20
i=2の時、data[2]=30
i=3の時、data[3]=40
i=4(=data.length-1)の時、data[4]=50
の全ての場合を足しこむ必要があるので、iは0からdata.length-1まで変化する必要が
あるのだと考えましたが
また明日以降質問して下さい
2019/12/28(土) 04:54:47.73ID:Nw+g0oHm
>>275
解説有難うございます。
添え字は0から始まる、とだけ理解してたのですが
詳しく書いて頂き出題の意味が分かりました。
私が出題の意味を理解してないんだと思います

本当に有難うございました。
2019/12/28(土) 05:53:14.15ID:Nw+g0oHm
何度も申し訳ありません
for文が苦手で理解できていません
for文の処理の順序を解説お願いします
左側の1から8は行数です

1 class Q27 {
2 public static void main ( String [ ] args ){
3 int [ ] data = { 10,20,30,40,50 } ;
4 int sum = 0 ;
5 for ( int i = 0 ; i <= data . length -1 ; i ++ ) sum += data [ i ] ;
6 System.out.println ( sum / data . length ) ;
7 }
8 }

ぱっと見の暗算で10+20+30+40+50=150を5で割るって考えてしまうんですが
自分の知能でコード解析すると
@3行目、int型の変数dataに要素10〜50を入れる
A4行目、in型のsumに0を代入
B5行目、for文、int型iに0を代入、iがdataより小さい間、回る。
ここまでしか分かりません
C5行目、0が代入されたsumにdata[0]の10、を足して代入
Dsum =0 に、data[0]=10を足して代入。sumは10
E6行目、10 割る data[0]の10 、なのでsumは0
Fdata[0]に入ってたiが5行目でインクリメントされi=1
Gi <= dataに戻り・・・1になったi よりdataが小さければ・・・

となり訳が分からなくなっています
大変お手数ですが、for文の回し方の順番をご教示願います
<m(__)m>
2019/12/28(土) 08:32:47.71ID:1iYlywTe
for文の前に、まだ配列についても理解があやしいな
@3行目はint型の変数dataではなく配列型の変数data
要素の型としてintを持つ配列だ
5個の値で初期化してるから、配列の長さは5になる
E6行目はdata[i]で割ったら分母10だけど、data.lengthで割ってるでしょ
lengthは配列の長さを表すから分母は5
つまり10/5=2で、まず2が出力される
ちなみに分母が10だったとしても10/10はゼロじゃないだろ落ち着け
「sumは0」という表現もあやしい
ここではsum / data.lengthの値をprintlnメソッドの引数に渡しているだけで、sumには代入してないからsumの値は変わらない
2019/12/28(土) 08:38:10.11ID:vGmL5pRR
>>277
ツッコミどころは色々ありますけど、5,6行に関しては分かりやすく書くと

for (int i = 0; i <= data.length - 1; i++)
  sum += data[i];
System.out.println(sum / data.length);

と書かれていて、これは

for (int i = 0; i <= data.length - 1; i++) {
  sum += data[i];
}
System.out.println(sum / data.length);

と同じです。つまりSystem.out.println()の行はループの外です。
2019/12/28(土) 08:42:36.18ID:1iYlywTe
B5行目、for文、「iがdataより小さい」というのが間違い
それをいうならi <= dataだろ
i <= data.length -1と書いてあるんだからlengthを無視してはいかん
「iがdataの長さより小さい」が正しい
data.lengthはさっきの説明通り5だから簡単に書き直すと
for (int i= 0; i <= 4; i = i + 1)
となる
2019/12/28(土) 08:46:52.36ID:1iYlywTe
ああ、ループの外だから2は出力されないか…
2019/12/28(土) 09:01:25.56ID:1iYlywTe
for (int i = 0; i <= 4; i = i + 1) {
//何か
}
なら理解しやすいはず
forの構文の意味は
for (ループの最初だけ実行する初期化処理; 継続するかどうかの判定; 1周ごとに行われる処理)

まずintの初期値が0になる
次に0<=4を評価して、成立するから「//何か」を実行
forに戻ってきてiをインクリメントしてiは1になる
こんどは1<=4を評価して、2回目の「//何か」を実行
iをインクリメントして2になる
2<=4も成立するから実行
中略
5<=4まで行ったら成立しなくなるので、ループを抜ける
結局「//何か」は5回実行されて終わり
2019/12/28(土) 14:26:04.86ID:Nw+g0oHm
有難うございます

「実行結果として30を表示するようにしたい」との問題です

@3行目、intの配列型が変数data、箱が5個
A4行目、intのsumに0を代入
B5行目、iに0を代入、iがdate.lemgthの長さより小さければfor文で回る
C5行目、data[i]=10、にsumを代入。sum=10
D6行目、sum=10 割る lengthの配列の長さ=5、なので【2】
Eforに戻ってきてiをインクリメントしてiは1になる
F今度は1<=4を評価して、2回目の「//何か」を実行
Giをインクリメントして2になる
H2<=4も成立するから実行
Idata[2]=20、sum+=20
J20/5=【4】
中略
K30/5=【6】
L40/5=【8】
M50/5=【10】
【】の中の合計=30

曖昧な点
「i=1の時、data[0]=10」だと数が合わないので
iを0にするために、data.length-1として
「i=0の時、data[0]=10」としている

Q1:この5回回った【】の中の合計は何処で足し算されてるのでしょうか
2019/12/28(土) 14:58:29.40ID:Nw+g0oHm
処理の順序が正しいかご教示願います

次にプログラムをコンパイル及び実行した結果として正しいものはどれか
1 class Q23 {
2 public static void main (String [ ] args ) {
3 int i = 1 , sum = 0 ;
4 while ( i ++ < = 10 ) sum + = i ;
5 System . out .print ( sum ) ;
6 }

解答、66が表示される

@intのiに1が代入
Asumは0が代入
Bwhileは〜の間
Ci=1が10より小さい間
Di=1に++、i=2
sum=0 += i=2、sum=【2】
Ei=2、
Fi=2が10より小さい間
Gi=2に++、i=3
sum=2 += i=3、sum=【5】
中略
Hsum=11 になったら終わり
sumにはiの2,3,4,5,6,7,8,9,10,11が加算され【65】になる
2019/12/28(土) 16:16:21.77ID:vGmL5pRR
>>284
合っていますが、

> 解答、66が表示される
ではなく「解答、65が表示される」、

> Hsum=11 になったら終わり
は 「i = 11 になったら終わり」ですね。

細かい部分をいい加減にするとあなたの理解の妨げになりますし、
読む方も書き間違えただけなのか理解できてないのか分かりにくくて面倒です。
2019/12/28(土) 16:28:31.89ID:vGmL5pRR
>>283
>>277のプログラムでfor文で繰り返し実行されるのは5行目の
sum += data[i];
部分(とi++)だけです。
ここでint配列に格納されているすべての要素を順にsumに足し合わせています。
sum = sum + data[0]; // i=0の時
sum = sum + data[1];
sum = sum + data[2];
sum = sum + data[3];
sum = sum + data[4]; // i=4の時

結果、forループ終了時点でsumは150 (= 10 + 20 + 30 + 40 + 50)で、
System.out.println(150 / 5) の結果(5はdata.length)、30が表示されます。
それだけのことです。
2019/12/28(土) 16:33:47.11ID:Nw+g0oHm
Javaの問題集でありました。なぜ10行目でコンパイルエラーになるのが理解できていません
for(;;)のカッコの中の;;が無限ループ?になるからでしょうか

public class p28Q26 {
public static void main(String[] args) {
int i=0;
for (;;) {
if(i >= 5)
i=0;
else
i++;
}
System.out.print(i);
}
}
2019/12/28(土) 16:36:30.25ID:Nw+g0oHm
>>285
解説有難うございます
「解答65が表示される」が正しいです。
誤字脱字申し訳ありません
2019/12/28(土) 16:47:11.07ID:Nw+g0oHm
>>286
解説有難うございます
5行目、for ( int i = 0 ; i <= data . length -1 ; i ++ ) sum += data [ i ] ;
ここで、sumに加算されていくんですね
見てたつもりで見てなかったです。

親切に解説して下さり本当に有難うございます
290デフォルトの名無しさん
垢版 |
2019/12/28(土) 18:17:08.70ID:p8R0Q+BH
>>287
システムアウトの構文がメソッド内ではなく、クラスに書かれているから。
291デフォルトの名無しさん
垢版 |
2019/12/28(土) 18:18:22.25ID:p8R0Q+BH
>>290
間違った。わからんな。
2019/12/28(土) 18:22:25.71ID:Nw+g0oHm
なぜ解答がfalseになるのかが分かりません

次のプログラムを粉ピル及び実行した結果として正しいものはどれか
1 public static void main(String[] args) {
2 int count = 3;
3 int limit = 2;
4 System.out.println(count <= limit);
5 }

解答:コンパイル及び実行されfalseが表示される

質問1:
eclipsでコード入力し実行すると4と表示されました
奇数はtureで偶数はfalse等の決まりがあるのでしょうか
質問2:
System.out.println(3 <= 2);
3が2よりも小さいなら・・・「小さいのでture」と考えてしまいました
何を基準にtureでfolseなのか理解できてません

何度も教えてクレクレで申し訳ありません。
宜しくお願いいたします
<m(__)m>
2019/12/28(土) 18:29:17.74ID:Nw+g0oHm
>>291
有難うございます。

解説では
「4行目から9行目のforループからぬけることがないため、10行目に制御が移ることが出来ない
そのため、コンパイル時に10行目でコンパイルエラーとなる」
と記載されております。
以前、聞いた話では
例えば
for ( int i = 0 ; i < 10 ; i++ ) {
のiのことをループ変数と呼ぶので、そこに「 ; 」を入れるとループすると聞いた覚えがあります
2019/12/28(土) 18:30:24.52ID:Nw+g0oHm
>>292
誤字脱字すみません
「粉ピル」でなく「コンパイル」です
誤⇒次のプログラムを粉ピル及び実行した結果として正しいものはどれか
正⇒次のプログラムをコンパイル及び実行した結果として正しいものはどれか
295デフォルトの名無しさん
垢版 |
2019/12/28(土) 18:40:26.94ID:p8R0Q+BH
>>292
少なくとも奇数、偶数という概念はない。
2019/12/28(土) 18:47:52.83ID:Nw+g0oHm
記号の意味を教えて下さい

int left = 12;
int rigth = 34
system.out.println(left > rigth ? left - rigth : rigth - left );

この「 ? 」と「 : 」はなんの記号なのでしょうか
2019/12/28(土) 18:49:18.19ID:Nw+g0oHm
>>295
有難うございます。
エクセル出来る人が昔、言ってたような気がしたのですが勘違いですね
親切に有難うございます
<m(__)m>
2019/12/28(土) 19:08:40.59ID:wFzdDG/T
>>296
A ? B : C
AならB、違えばC
大きい方から小さい方を引く処理をしてる
2019/12/28(土) 19:14:16.39ID:Nw+g0oHm
>>298
解説有難うございます

処理方法は
@left > raiget
Aleft - rigth = 12 - 34 = -22
Brigth - left = 34 - -22 = 22
2019/12/28(土) 19:20:59.18ID:Nw+g0oHm
>>298
アドバイスして頂いた後に問題集の解説を読み返して分かりました

「条件演算子を使った式である。条件式、left > rigth 、が成り立つ場合に、 left - rigth :が
そうでない場合はrigth - left 、が結果となる」

本当に有難うございます
<m(__)m>
301デフォルトの名無しさん
垢版 |
2019/12/28(土) 19:31:28.91ID:un29Kqgd
いきなり問題集で勉強しているのが不思議
2019/12/28(土) 19:38:00.99ID:Nw+g0oHm
>>301
「スッキリわかる」は読みましたが
無限ループの「 ; 」や、「left > rigth ? left - rigth : rigth - left」は乗ってなかったです
あまりも理解力がなさすぎて困りもんです
for文が苦手です。
2019/12/28(土) 22:12:24.13ID:/9L9K2QS
誤字脱字が多いとか、半角全角が混ざってるとか、不要なスペースが入ってたり必要なスペースが無かったりとか、プログラマとして致命的な欠陥
意識して直したほうがいいと思うよ
304デフォルトの名無しさん
垢版 |
2019/12/28(土) 23:30:03.54ID:un29Kqgd
>>302
あなたが質問していることは資格を取るための知識であって、Javaプログラマに必要な知識ではない。
2019/12/29(日) 00:42:02.66ID:siL0YjcS
誤字脱字多いですね。申し訳ありません
音声再生リストに入れたりして学習してる関係で不要なスペースを入れたりしてました。

どの程度知識あるか把握するのに資格は必要かと思ってました。
解説して下さった方には本当に感謝です
有難うございます。
2019/12/29(日) 08:46:31.43
プログラ魔
2019/12/29(日) 13:50:30.21ID:KIjz0jVz
あなうめ式Javaプログラミング超入門、2019/12/3
大津 真、田中 賢一郎、馬場 貴之

こういう本が出てるのだろ

大津真は、多言語の本を書いてる著者。
日経Linux のライターでもあるのか?
2019/12/29(日) 15:49:06.27ID:v8cZXQkF
eclipse で書けば、最低限の文法ミスは取れると思うのだが
それをやる気はないんですか?
2019/12/29(日) 16:13:51.10ID:siL0YjcS
>>308
「スッキリわかる」や問題集を音声変換ソフトに入力して日々聞いています
eclipsに書いても、音声変換ソフトではスペース多く入れないと変な英語になったりするので
音声変換ソフトに入力しています
310デフォルトの名無しさん
垢版 |
2019/12/29(日) 18:36:48.23ID:oAHsONBK
>>309
エクリップス?
311デフォルトの名無しさん
垢版 |
2019/12/29(日) 18:38:36.04ID:oAHsONBK
文系みたいな勉強法だなw
2019/12/29(日) 18:51:03.48ID:v8cZXQkF
実際に動かしてみないのか!
畳の上の水練だな
プログラムは動いてなんぼなので
必ず動かしてみることを強くお勧めする
動かないプログラムは何の意味もない
2019/12/29(日) 19:54:32.63ID:siL0YjcS
>>312
アドバイス有難うございます
実際に入力しても理解できないものがあり質問していました。

例えば
public class q18{
 public static void main(String[] args) {
  int count = 3;
  int limit = 2;
 System.out.println(count <= limit);
 }
}
実行結果は「4」と出ますが
問題集の解答は「コンパイル及び実行されfalseが表示される」との事です
エクセルの関数で奇数偶数表示でfalseやtureと判断する場合があるので
Javaでもあるのか?等、質問してましたが未だに判明していないです
2019/12/29(日) 19:56:46.80ID:f7fle0nG
10進法でシフトさせる方法って無いですか?
例えば1234→12、とかってやりたいんですが…
2019/12/29(日) 19:59:13.49ID:yqbBnK7b
>>314
10 で割るのが適当かと
316デフォルトの名無しさん
垢版 |
2019/12/29(日) 20:40:13.14ID:2ZGuf6bc
>>313
4と出るわけがないから実行するもの間違えてるよ
317デフォルトの名無しさん
垢版 |
2019/12/29(日) 20:42:12.56ID:2ZGuf6bc
https://paiza.io/projects/FhYUXk-mGxVmUKEaiXt5vw
2019/12/29(日) 21:12:21.70ID:Zt6NZoPC
>>314
10のn乗で割る
2桁シフトさせたいなら10の2乗の100で割る
ビット演算のシフトも意味としては同じ
2019/12/29(日) 21:55:22.43ID:siL0YjcS
>>316
有難うございます。
申し訳ありません。4じゃなくて「2」でした。
以下で実行すると2と表示されます

package Study;
public class Stady03 {
public static void main(String[] args) {

int count = 3;
int limit = 2;
System.out.println(count <= limit);
}
}
2019/12/29(日) 22:07:40.40ID:siL0YjcS
>>316
有難うございます
試しに「hello java」と入力しても「2」と表示されてました。
「false」と表示出来ました。
本当に有難うございます
321314
垢版 |
2019/12/29(日) 22:50:01.82ID:f7fle0nG
>>315
>>318
ありがとうございました
2019/12/29(日) 23:11:51.07ID:XnQ2dClW
ああ、別のプログラムを動かしていて、想定外の出力がされていたということか
2019/12/30(月) 00:06:41.49ID:4HDF+aJA
>>322
実行する時に「Javaアプリケーション」でなく「実行の構成」から実行してました
左側でクラスを選択せず実行しなかったので、前に選択してたクラスを実行させてました。
>>316 さんがアドバイスしてくれなかったら永遠に謎めいていました
本当に有難うございます。
エクリプスの操作方法の本も購入して頑張ります。
2019/12/30(月) 00:14:07.46ID:4HDF+aJA
>>317
わざわざ書いて頂きありがとうございます
こういうのもあるんですね。
本当に有難うございます。
325デフォルトの名無しさん
垢版 |
2019/12/30(月) 00:16:12.10ID:GxL7rxBL
Java全く知らない状態から約2週間でbronze合格出来て嬉しい!
シルバーまでは取ってほしいと会社に言われてるので紫本で勉強を始めたのですが
二次元配列とクラス名@ハッシュコードが出力される問題の理解が足りない・・・
何故ハッシュコードが出てくるのか・・・
2019/12/30(月) 01:38:30.44ID:4HDF+aJA
>>325
凄い!2週間で合格!!!
2019/12/30(月) 01:42:01.35ID:4HDF+aJA
>>325
前に他の言語とかの知識はありましたか?
328デフォルトの名無しさん
垢版 |
2019/12/30(月) 12:31:29.28ID:GxL7rxBL
>>327
二ヵ月程Python触ってwin用のguiアプリ作ってみた位です
オブジェクト指向使わずに作ったので今見ると糞コードですが・・・
スッキリわかるjava軽く読みながらコード書いて後は白本と黒本やってれば大丈夫だと思いますよ
2019/12/30(月) 12:59:36.01ID:QHPQM7tO
>>325
配列の要素を順番に探すと時間がかかってしょうがないからだよ
二次元配列を使うぐらいなら RDB を使うのが一般的だとは思うけど
2019/12/30(月) 13:21:39.21ID:yKHaMa8w
>>325
ハッシュコードが出るのはtoStringがオーバーライドされていないからというシンプルな理由
ObjectのtoStringがそのように実装されているから、すげ替えないことには同じ結果になる
どう書くとオーバーライドが成立するのか、しないのか、という話はそこそこ難しいかもしれない
331デフォルトの名無しさん
垢版 |
2019/12/30(月) 14:54:51.70ID:GxL7rxBL
>>330
アドバイスありがとうございます。
実際に書きながら確認していって理解していこうと思います。
2019/12/30(月) 18:24:06.08ID:4HDF+aJA
>>328
有難うございます
私も頑張ります
2019/12/30(月) 22:39:10.96ID:4HDF+aJA
解説してくれ方のお陰で、過去問したら89点取れました。
本当に有難うございます。
<m(__)m>
100点を連続5回取れるよう頑張ります
今後とも宜しくお願いします
2019/12/31(火) 05:48:01.42ID:tPXUyNvp
enum定数というのが出題されました。
「スッキリわかる」には載ってなくググってみましたが
理解力がないのでチンプンカンプンです
おススメの本とかサイトがあればご教示願います
<m(__)m>
2019/12/31(火) 13:36:43.87ID:9+YIWQbo
新しいインスタンスを生成できない

これに尽きるな
336デフォルトの名無しさん
垢版 |
2019/12/31(火) 13:57:18.91ID:yv9yhyfZ
>>334
柴田望洋の『新・明解Java入門 (明解シリーズ)』
僕は望洋さんの本で勉強したなー
2019/12/31(火) 14:15:06.32ID:uegmaB/s
昔読んだ初級本を理由があって探しています
最終まとめお題が「タイピング速度訓練ゲーム」(予約語をタイプして時間を計るもの)である初級本に心当たりのある方はおられますか?
2019/12/31(火) 20:40:43.65ID:tPXUyNvp
>>336
アドバイス有難うございます。
アマゾンで
柴田 望洋 「解きながら学ぶJava 入門編 (日本語) 単行本 ?」
購入しようか迷ってたとこです
2020/01/01(水) 03:30:56.24ID:yEYEASGU
>>336
アマゾンで
柴田 望洋 「解きながら学ぶJava 入門編 (日本語) 単行本 ?」
購入しました。
2020/01/03(金) 02:54:31.41ID:EbvJW/gM
問題集の解説が理解できてません
どなたか解説お願いします<m(__)m>

1 public class Q24 {
2 public static void main(String[] args) {
3 System.out.println(args[0]);
4 }
5 }

解説
コマンドライン引数に関する問題。コマンドライン引数を指定して実行した場合、
コマンドライン引数の数と同じ要素数の配列インスタンスが生成され、指定した文字列で初期化されます。
なお、コマンドライン引数を指定しない場合でも、必ず配列インスタンスは生成されます。
この場合は、要素数0の配列インスタンスが生成されます。
設問のコード3行目では、mainメソッドの仮引数で宣言しているString配列型変数argsの添え字0を指定し、
要素の値をコンソールに出力しています。コマンドライン引数を指定していない場合は、
String配列型変数argsは要素数0の配列インスタンスへの参照を保持します。
3行目で参照している添字0、つまり1つ目の要素は存在しません。
そのためこのプログラムは、コンパイルが成功しても、実行時に例外が発生します
2020/01/03(金) 03:00:04.97ID:RUwUdhzc
>>340
1コマンドライン引数に関する問題。コマンドライン引数を指定して実行した場合、
2コマンドライン引数の数と同じ要素数の配列インスタンスが生成され、指定した文字列で初期化されます。
3なお、コマンドライン引数を指定しない場合でも、必ず配列インスタンスは生成されます。
4この場合は、要素数0の配列インスタンスが生成されます。
5設問のコード3行目では、mainメソッドの仮引数で宣言しているString配列型変数argsの添え字0を指定し、
6要素の値をコンソールに出力しています。コマンドライン引数を指定していない場合は、
7String配列型変数argsは要素数0の配列インスタンスへの参照を保持します。
8 3行目で参照している添字0、つまり1つ目の要素は存在しません。
9そのためこのプログラムは、コンパイルが成功しても、実行時に例外が発生します

各行に番号を振りました。どの番号の行からわからなくなったのでしょうか?
2020/01/03(金) 04:08:56.51ID:EbvJW/gM
>>341
本当に有難うございます。
<m(__)m>
8行目から理解できていません。
「3行目で参照している添字0、つまり1つ目の要素は存在しません。」
これは、初期化されていないからエラーになるという意味なのでしょうか
以下のコードだと0が表示される事は理解できてます。
1 public static void main(String[] args) {
2 int [] score = new int [5];
3 System.out.println(score[0]);
  }
2020/01/03(金) 15:22:26.21ID:E3T+CFjv
CとC++を一通り教科書一冊やったところで、Javaにも手を出してみようと思うんだけど
1年くらい前にKotlinって言語が急上昇して、これがJavaの上位互換言語だみたいなことが言われてて、今からJavaやるのはありえない!みたいな意見を目にしたんだけど、実際その通りなの?
JavaもKotlinも全然分からなくて判断のしようがない
■ このスレッドは過去ログ倉庫に格納されています